RHDH Plugin Bug Fix
Own the path from a bug report to a verified fix. Reproduce before diagnosing,
diagnose before editing, and verify before reporting. The reproduction test is
diagnostic evidence and never ships.
Start here
Follow workflows/fix-bug.md from the top. It resolves the issue reference,
triages the report for agent readiness, discovers the workspace, picks the
full-e2e or no-e2e branch, reproduces, fixes, verifies, and cleans up.
Route by outcome
| Outcome |
Load and follow |
| Reproduce, diagnose, and fix a plugin bug |
workflows/fix-bug.md |
| Resolve a report to a plugin workspace |
references/workspace-map.md |
| Author the temporary Playwright reproduction |
references/e2e-patterns.md |
| Capture and convert before and after evidence |
references/video-recording.md |
Boundaries
/rhdh-forge owns reading GitHub. Invoke it by name with the raw issue or
pull request reference and consume the structured issue context it returns —
key, summary, URL, repository, number, state, labels, description, and the
candidate workspace with the strategy that resolved it. Confirm that
workspace against the checkout before working in it, and ask the user when
the strategy reports it unresolved. Do not parse the URL or run gh issue view here.
/rhdh-jira-api owns reading a Jira key and returns the same issue detail.
/grilling is the design gate when several root causes remain plausible or
materially different fixes carry different compatibility costs. Use the
constraints it produces before implementing. If it is not installed, say so,
name /setup-rhdh-skills install as the human's next step, and pause that branch.
/rhdh-test-placement advises where a permanent regression test belongs.
The reproduction test written here is throwaway and is deleted before the
change is handed off.
/rhdh-plugin-authoring owns feature work and public API design.
/rhdh-pr-create owns staging, changesets, commits, pushes, pull requests,
recording uploads, and issue updates.
Invoke a named skill and describe the handoff in the conversation. Never open
another skill's files.
Invariants
- Reproduce the failure before editing product code. A "before" recording
cannot be reconstructed after the fix.
- The temporary
_repro-<issue>.test.ts is evidence, not a deliverable. Remove
the exact file before handing the change off.
- Discover the workspace's real Playwright configuration, helpers, and
neighbouring tests.
references/workspace-map.md locates a likely workspace;
it does not describe the current test infrastructure.
- Close the Playwright context so each video finalizes, and keep before and
after recordings until publication has consumed them.
- State the root cause with observed evidence before implementing, then make
the smallest fix consistent with the repository's conventions.
- If a test still fails, return to diagnosis. Never weaken an assertion to make
it pass.
- Adding a label or a triage comment to an issue is an external write. Invoke
the named skill
mutation-gate and follow it; the operation's target is
the exact repository and issue number. A request to fix a bug approves no
issue write.
- Do not stage, commit, push, or open a pull request here.
Completion
Report the resolved issue and workspace, the reproduction and what it proved,
the root cause with its evidence, the files changed and left unstaged, the
before and after recording paths, the verification commands and their results,
the test plan a reviewer should run, and the named skill to invoke next for
publication.
1---2name: rhdh-plugin-bug-fix3description: Reproduces, diagnoses, and fixes a defect in a Backstage plugin inside the rhdh-plugins or community-plugins repositories: resolve the report from a RHIDP, RHDHBUGS, RHDHPLAN or RHDHSUPP Jira key, a GitHub issue, or plain prose; locate the owning workspace; write a throwaway reproduction test that fails for the stated reason; record before and after Playwright video evidence for a UI defect; then apply the smallest fix and verify it. Use for "fix this plugin bug", "reproduce RHIDP-1234", a plugin that renders the wrong thing, or a regression that needs evidence before and after.4---56# RHDH Plugin Bug Fix78Own the path from a bug report to a verified fix. Reproduce before diagnosing,9diagnose before editing, and verify before reporting. The reproduction test is10diagnostic evidence and never ships.1112## Start here1314Follow `workflows/fix-bug.md` from the top. It resolves the issue reference,15triages the report for agent readiness, discovers the workspace, picks the16full-e2e or no-e2e branch, reproduces, fixes, verifies, and cleans up.1718## Route by outcome1920| Outcome | Load and follow |21|---|---|22| Reproduce, diagnose, and fix a plugin bug | `workflows/fix-bug.md` |23| Resolve a report to a plugin workspace | `references/workspace-map.md` |24| Author the temporary Playwright reproduction | `references/e2e-patterns.md` |25| Capture and convert before and after evidence | `references/video-recording.md` |2627## Boundaries2829- `/rhdh-forge` owns reading GitHub. Invoke it by name with the raw issue or30 pull request reference and consume the structured issue context it returns —31 key, summary, URL, repository, number, state, labels, description, and the32 candidate workspace with the strategy that resolved it. Confirm that33 workspace against the checkout before working in it, and ask the user when34 the strategy reports it unresolved. Do not parse the URL or run `gh issue35 view` here.36- `/rhdh-jira-api` owns reading a Jira key and returns the same issue detail.37- `/grilling` is the design gate when several root causes remain plausible or38 materially different fixes carry different compatibility costs. Use the39 constraints it produces before implementing. If it is not installed, say so,40 name `/setup-rhdh-skills install` as the human's next step, and pause that branch.41- `/rhdh-test-placement` advises where a **permanent** regression test belongs.42 The reproduction test written here is throwaway and is deleted before the43 change is handed off.44- `/rhdh-plugin-authoring` owns feature work and public API design.45- `/rhdh-pr-create` owns staging, changesets, commits, pushes, pull requests,46 recording uploads, and issue updates.4748Invoke a named skill and describe the handoff in the conversation. Never open49another skill's files.5051## Invariants5253- Reproduce the failure before editing product code. A "before" recording54 cannot be reconstructed after the fix.55- The temporary `_repro-<issue>.test.ts` is evidence, not a deliverable. Remove56 the exact file before handing the change off.57- Discover the workspace's real Playwright configuration, helpers, and58 neighbouring tests. `references/workspace-map.md` locates a likely workspace;59 it does not describe the current test infrastructure.60- Close the Playwright context so each video finalizes, and keep before and61 after recordings until publication has consumed them.62- State the root cause with observed evidence before implementing, then make63 the smallest fix consistent with the repository's conventions.64- If a test still fails, return to diagnosis. Never weaken an assertion to make65 it pass.66- Adding a label or a triage comment to an issue is an external write. Invoke67 the named skill `mutation-gate` and follow it; the operation's target is68 the exact repository and issue number. A request to fix a bug approves no69 issue write.70- Do not stage, commit, push, or open a pull request here.7172## Completion7374Report the resolved issue and workspace, the reproduction and what it proved,75the root cause with its evidence, the files changed and left unstaged, the76before and after recording paths, the verification commands and their results,77the test plan a reviewer should run, and the named skill to invoke next for78publication.