--- name: gsd:debug description: Systematic debugging with persistent state across context resets argument-hint: [issue description] allowed-tools: - Read - Bash - Task - AskUserQuestion --- Debug issues using scientific method with subagent isolation. **Orchestrator role:** Gather symptoms, spawn gsd-debugger agent, handle checkpoints, spawn continuations. **Why subagent:** Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction. User's issue: $ARGUMENTS Check for active sessions: ```bash ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5 ``` ## 1. Check Active Sessions If active sessions exist AND no $ARGUMENTS: - List sessions with status, hypothesis, next action - User picks number to resume OR describes new issue If $ARGUMENTS provided OR user describes new issue: - Continue to symptom gathering ## 2. Gather Symptoms (if new issue) Use AskUserQuestion for each: 1. **Expected behavior** - What should happen? 2. **Actual behavior** - What happens instead? 3. **Error messages** - Any errors? (paste or describe) 4. **Timeline** - When did this start? Ever worked? 5. **Reproduction** - How do you trigger it? After all gathered, confirm ready to investigate. ## 3. Spawn gsd-debugger Agent Fill prompt and spawn: ```markdown Investigate issue: {slug} **Summary:** {trigger} expected: {expected} actual: {actual} errors: {errors} reproduction: {reproduction} timeline: {timeline} symptoms_prefilled: true goal: find_and_fix Create: .planning/debug/{slug}.md ``` ``` Task( prompt=filled_prompt, subagent_type="gsd-debugger", description="Debug {slug}" ) ``` ## 4. Handle Agent Return **If `## ROOT CAUSE FOUND`:** - Display root cause and evidence summary - Offer options: - "Fix now" - spawn fix subagent - "Plan fix" - suggest /gsd:plan-phase --gaps - "Manual fix" - done **If `## CHECKPOINT REACHED`:** - Present checkpoint details to user - Get user response - Spawn continuation agent (see step 5) **If `## INVESTIGATION INCONCLUSIVE`:** - Show what was checked and eliminated - Offer options: - "Continue investigating" - spawn new agent with additional context - "Manual investigation" - done - "Add more context" - gather more symptoms, spawn again ## 5. Spawn Continuation Agent (After Checkpoint) When user responds to checkpoint, spawn fresh agent: ```markdown Continue debugging {slug}. Evidence is in the debug file. Debug file: @.planning/debug/{slug}.md **Type:** {checkpoint_type} **Response:** {user_response} goal: find_and_fix ``` ``` Task( prompt=continuation_prompt, subagent_type="gsd-debugger", description="Continue debug {slug}" ) ``` - [ ] Active sessions checked - [ ] Symptoms gathered (if new) - [ ] gsd-debugger spawned with context - [ ] Checkpoints handled correctly - [ ] Root cause confirmed before fixing