backstage-quality-gatelisted
Install: claude install-skill bendaamerahmed/backstage-idp-plugin
# Backstage quality gate
Prove a Backstage change is sound by running the repository's own validation commands,
narrowest first, and report exactly what ran. A command that did not run and exit zero
is not a pass.
## Preconditions
- The repo is mapped (`backstage-repo-discovery`) or you have read the root
`package.json` `scripts` and every CI workflow yourself.
- `node_modules` is installed. If not, `yarn install --immutable` is step zero and its
cost belongs in the summary. Assume `yarn` unless the lockfile says otherwise.
- Node 22 or 24. Any other major invalidates every result — report BLOCKED.
- You know which workspace packages your edits touch (map changed paths → the owning
`package.json` `name` and `backstage.role`).
- You can run long commands in the background and poll them. Foreground-blocking a
watch-mode test run or a dev server wastes the whole turn.
## Procedure
1. **Discover the real commands.** Read the root `package.json` `scripts` verbatim, the
`scripts` of each touched package, and `.github/workflows/*.y*ml` (or GitLab/Circle/
Azure/Jenkins equivalents). CI is the contract; scripts are a hint. Scaffolded apps
expose `tsc`, `tsc:full`, `lint` (`repo lint --since origin/<default-branch>`),
`lint:all`, `test`, `test:all`, `build:all`, `build:backend`, `prettier:check`, `fix`
— but any of these may be renamed, wrapped, or absent. Record command, working
directory, and expected duration. Never invoke a script you have not seen de