About rhdh-backstage-upgrade
A skill for upgrading Backstage dependencies in RHDH repositories, aimed at developers maintaining RHDH projects. It identifies current and target versions, then guides dependency updates, migrations, breaking-change fixes, and validation while respecting the target RHDH compatibility level.
Key features
- 01Discover current Backstage versions
- 02Choose targets from RHDH compatibility
- 03Bump dependencies and inspect resolutions
- 04Migrate packages and address breaking changes
- 05Run repository-defined validation commands
Use cases
- 01Upgrade Backstage dependencies to a target version
- 02Check alignment with an RHDH release
- 03Fix API changes introduced by an upgrade
- 04Validate builds and tests after upgrading
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ redhat-developer/ rhdh-skills --skill rhdh-backstage-upgradeAfter installing, type/rhdh-backstage-upgradein Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
agents/openai.yamlreferences/bump-deps.mddetermine-target.mddiscover-versions.mdfix-breaking-changes.mdmigrate-packages.mdverify-upgrade.mdworkflows/upgrade-backstage.mdDetails
From the project READMERHDH Backstage Upgrade
Own version numbers. Which @backstage/* release a checkout sits on, which
release it should move to, and everything that breaks in between.
Start here
- Read
package.jsonandbackstage.jsonbefore changing any dependency. - Establish the target RHDH version. Prefer an explicit user or repository
value; otherwise invoke
/rhdh-contextfor the checked-in compatibility matrix. If it is unavailable, ask the user for the target RHDH and Backstage versions rather than guessing. - Report current versions and the proposed target before running a bump.
Route by outcome
| Outcome | Load and follow |
|---|---|
| Run the whole upgrade | workflows/upgrade-backstage.md |
| Find the current versions and any misalignment | references/discover-versions.md |
| Choose the target release | references/determine-target.md |
| Bump the dependency set | references/bump-deps.md |
| Move imports off renamed or relocated packages | references/migrate-packages.md |
| Work through the breaking changes between releases | references/fix-breaking-changes.md |
| Verify the upgrade | references/verify-upgrade.md |
Boundaries
- This skill owns version numbers. It does not change what a plugin's extensions are or how they attach.
/rhdh-plugin-nfs-migrationowns extension shape: converting a legacy frontend plugin's extensions into New Frontend System Blueprints. The two skills meet whenever an upgrade is a prerequisite for a migration, or a migration surfaces an outdated dependency set. Bump the versions here; change the extensions there./backstage-api-changesowns the NFS API deltas between the early alpha and the current GA surface. Invoke it by name when an upgrade breaks NFS code — a removedNavItemBlueprint, aconfig.schemablock that must becomeconfigSchema, or a renamed blueprint param./rhdh-contextowns the RHDH-to-Backstage compatibility matrix./rhdh-plugin-authoringowns non-mechanical source changes the upgrade exposes./rhdh-pr-createowns staging, commits, and pull requests.
Invoke a named skill and describe the handoff in the conversation. Never open another skill's files.
Invariants
- Never upgrade past the Backstage version the target RHDH release ships. The resolved compatibility answer wins over the newest available release.
- Use the checkout's
versions:bumpscript when it wrapsbackstage-cli versions:bump; otherwise use the CLI directly. Review the resultingpackage.jsonand lockfile diff before continuing. - Inventory every resolution and override before the bump. Compare its package manager dependency paths before and after, then record the provenance and evidence for keeping, updating, or removing it.
- Read the changelog for every release between the old and new version, then search the source for each affected API. Do not assume a range is breaking-change free.
- If current and target match, say "already on target" and stop.
- Run every validation command the checkout defines for build, test, lint, formatting, and monorepo consistency before reporting the upgrade complete.
- Do not stage, commit, push, or open a pull request here.
Completion
Report the versions found, the target chosen and where the answer came from, the commands run, the breaking changes fixed and the files they touched, every resolution and override with its provenance, before/after graph evidence and keep/update/remove reason, any range-style change, generated files, the verification results, and any dependency left misaligned with a reason.