Bug Fix
Rigorous, staged bug fixing: understand the bug → trace root cause → design fix → implement → verify & regression check.
Quick start
Invoke with a bug report: /bug-fix the login button does nothing on mobile
Claude will ask your questioning mode and whether to enable Log Mode, then work through each stage — stopping for approval before applying any fix.
Core Principles
- Reproduce before fixing — never write a fix for a bug you haven't understood
- Trace to root cause — fix the cause, not the symptom
- Minimal, targeted fixes — prefer the smallest change that correctly addresses the root cause
- Regression safety — every fix can break something else; always verify it doesn't
- Track everything — use TodoWrite to track all stages and progress
- Log decisions — when Log Mode is on, record findings to
plans/per LOG.md
Stage 0: Setup
- Create a todo list covering all stages.
- Read the report:
$ARGUMENTS - Check memory for related prior bugs or known issues in this area.
- Ask the user two questions via AskUserQuestion (one call, two questions):
- Questioning mode: Quick / Normal / Grill Me (see modes below) - Log Mode: On or Off
Questioning Modes
Quick Mode — for obvious bugs with a clear cause. Confirm the suspected root cause and fix approach, then proceed with minimal questions.
Normal Mode — ask focused questions: expected vs actual behavior, steps to reproduce, when it started, any recent related changes. Use AskUserQuestion one at a time.
Grill Me Mode — interrogate every detail: exact error messages, reproduction conditions, environment, edge cases, recent changes, related symptoms. One AskUserQuestion at a time. Never assume.
In all modes: if a question can be answered by reading the codebase or error output, answer it yourself.
Stage 1: Bug Intake & Reproduction
- Using the chosen mode, clarify: expected behavior, actual behavior, steps to reproduce, severity/impact.
- Read relevant files and trace the code path from the reported entry point.
- Confirm your reproduction understanding: document where and why the failure occurs.
- If Log Mode is on, write initial findings to the log per LOG.md.
Stage 2: Root Cause Analysis
- Launch 2–3 general-purpose agents in parallel using Tracer prompts from AGENTS.md.
- Read all files the agents identify.
- Present findings: confirmed root cause, exact failure point, all code paths affected.
- Ask any follow-up questions using the active questioning mode.
- If Log Mode is on, record the root cause to the log.
Stage 3: Fix Design
- Launch 2–3 general-purpose agents in parallel using Fixer prompts from AGENTS.md.
- Review all approaches and form your own recommendation.
- Present: summary of each approach, trade-offs + regression risk per approach, your recommendation with reasoning.
- Ask the user which approach they prefer (AskUserQuestion).
- If Log Mode is on, record the fix decision to the log.
Stage 4: Implementation
DO NOT START WITHOUT EXPLICIT USER APPROVAL.
- Wait for approval on the chosen fix.
- Read all relevant files identified in previous stages.
- Apply the fix following codebase conventions. Update todos as you go.
- Regression test: if a test framework exists, write a test that would have caught this bug. If none exists, ask the user whether to proceed without one.
Stage 5: Regression & Quality Check
- Ask the user if they want automated quality passes (AskUserQuestion).
- If yes: run a review pass on the changed code (correctness, side effects, conventions). Report by severity. Ask what to fix now vs defer.
- Launch agents in parallel using Regression and Reviewer prompts from AGENTS.md.
- Surface any regressions or new issues introduced. Address based on user decision.
Stage 6: Summary
- Mark all todos complete.
- Summarize: the bug, root cause, fix applied, regression test added, files changed, regression risks, suggested follow-up.
- If Log Mode is on, finalize the log with a summary section.