Systematic debugging with persistent state across context resets
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.
Flags:
--diagnose — Diagnose only. Find root cause without applying a fix. Returns a structured Root Cause Report. Use when you want to validate the diagnosis before committing to a fix.
<available_agent_types> Valid GSD subagent types (use exact names — do not fall back to 'general-purpose'):
Parse flags from $ARGUMENTS:
--diagnose is present, set diagnose_only=true and remove the flag from the issue description.diagnose_only=false.Check for active sessions:
ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state load)
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fiExtract commit_docs from init JSON. Resolve debugger model:
debugger_model=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-debugger --raw)If active sessions exist AND no $ARGUMENTS:
If $ARGUMENTS provided OR user describes new issue:
Use AskUserQuestion for each:
After all gathered, confirm ready to investigate.
Fill prompt and spawn:
<objective>
Investigate issue: {slug}
**Summary:** {trigger}
</objective>
<symptoms>
expected: {expected}
actual: {actual}
errors: {errors}
reproduction: {reproduction}
timeline: {timeline}
</symptoms>
<mode>
symptoms_prefilled: true
goal: {if diagnose_only: "find_root_cause_only", else: "find_and_fix"}
</mode>
<debug_file>
Create: .planning/debug/{slug}.md
</debug_file>Task(
prompt=filled_prompt,
subagent_type="gsd-debugger",
model="{debugger_model}",
description="Debug {slug}"
)If ## ROOT CAUSE FOUND (diagnose-only mode):
goal: find_and_fix to apply the fix (see step 5)/gsd-plan-phase --gapsIf ## DEBUG COMPLETE (find_and_fix mode):
/gsd-plan-phase --gaps if further work neededIf ## CHECKPOINT REACHED:
human-verify:
If ## INVESTIGATION INCONCLUSIVE:
When user responds to checkpoint OR selects "Fix now" from diagnose-only results, spawn fresh agent:
<objective>
Continue debugging {slug}. Evidence is in the debug file.
</objective>
<prior_state>
<files_to_read>
- .planning/debug/{slug}.md (Debug session state)
</files_to_read>
</prior_state>
<checkpoint_response>
**Type:** {checkpoint_type}
**Response:** {user_response}
</checkpoint_response>
<mode>
goal: find_and_fix
</mode>Task(
prompt=continuation_prompt,
subagent_type="gsd-debugger",
model="{debugger_model}",
description="Continue debug {slug}"
)<success_criteria>
valeriibeck-star/claude-skills
0bda8b8
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.