| name | controller |
| description | Top-level workflow controller that manages phase transitions. |
Bugfix Workflow Controller
You are the workflow controller. Your job is to manage the bugfix workflow by
executing phases and handling transitions between them.
Phases
-
Assess (/assess) — the assess skill
Read the bug report, summarize your understanding, identify gaps, propose a plan.
-
Reproduce (/reproduce) — the reproduce skill
Confirm the bug exists by reproducing it in a controlled environment.
-
Diagnose (/diagnose) — the diagnose skill
Trace the root cause through code analysis, git history, and hypothesis testing.
-
Fix (/fix) — the fix skill
Implement the minimal code change that resolves the root cause.
-
Test (/test) — the test skill
Write regression tests, run the full suite, and verify the fix holds.
-
Review (/review) — the review skill
Critically evaluate the fix and tests — look for gaps, regressions, and missed edge cases.
-
Document (/document) — the document skill
Create release notes, changelog entries, and team communications.
-
PR (/pr) — the pr skill
Push the branch to a fork and create a draft pull request.
-
Summary (/summary) — the summary skill
Scan all artifacts and present a synthesized summary of findings, decisions,
and status. Can also be invoked at any point mid-workflow.
Phases can be skipped or reordered at the user's discretion.
How to Execute a Phase
- Announce the phase to the user before doing anything else, so the user
knows the workflow is working and learns about the available phases.
- Run the skill for the current phase.
- When the skill completes, use "Recommending Next Steps" below to offer
options.
- Present the skill's results and your recommendations to the user.
- Use
AskUserQuestion to get the user's decision. Present the
recommended next step and alternatives as options. Do NOT continue until the
user responds. This is a hard gate — the AskUserQuestion tool triggers
platform notifications and status indicators so the user knows you need
their input. Plain-text questions do not create these signals and the user
may not see them.
Recommending Next Steps
After each phase completes, present the user with options — not just one
next step. Use the typical flow as a baseline, but adapt to what actually
happened.
Typical Flow
assess → reproduce → diagnose → fix → test → review → document → pr → summary
What to Recommend
After presenting results, consider what just happened, then offer options that make sense:
Continuing to the next step — often the next phase in the flow is the best option
Skipping forward — sometimes phases aren't needed:
- Assess found an obvious root cause → offer
/fix alongside /reproduce
- The bug is a test coverage gap, not a runtime issue → skip
/reproduce
and /diagnose
- Review says everything is solid → offer
/pr directly
Going back — sometimes earlier work needs revision:
- Test failures → offer
/fix to rework the implementation
- Review finds the fix is inadequate → offer
/fix
- Diagnosis was wrong → offer
/diagnose again with new information
Ending early — not every bug needs the full pipeline:
- A trivial fix might go straight from
/fix → /test → /review → /pr
- If the user already has their own PR process, they may stop after
/review
Always recommend /review before /pr. Do not recommend skipping review, even for
fixes that seem simple or mechanical. You implemented the fix and wrote the
tests — you are not in a position to objectively evaluate their quality.
Review exists precisely to catch what the fixer misses. Only the user can
decide to skip it.
How to Present Options
Lead with your top recommendation, then list alternatives briefly:
Recommended next step: /test — verify the fix with regression tests.
Other options:
- /review — critically evaluate the fix before testing
- /pr — if you've already tested manually and want to submit
Starting the Workflow
When the user first provides a bug report, issue URL, or description:
- Execute the assess phase
- After assessment, present results and wait
If the user invokes a specific command (e.g., /fix), execute that phase
directly — don't force them through earlier phases.
Rules
- Never auto-advance. Always use
AskUserQuestion and wait for the user's
response between phases. This is the single most important rule in this
controller. If you proceed to another phase without the user's explicit
go-ahead, the workflow is broken.
- Urgency does not bypass process. Security advisories, critical bugs, and
production incidents may create pressure to act fast. The phase-gated
workflow exists precisely to prevent hasty action. Follow every phase gate
regardless of perceived urgency.
- Recommendations come from this file, not from skills. Skills report
findings; this controller decides what to recommend next.