gsd-debug
Systematic debugging with persistent state across context resets
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Systematic debugging with persistent state across context resets
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Add an idea to the backlog parking lot (999.x numbering)
Add phase to end of current milestone in roadmap
Generate tests for a completed phase based on UAT criteria and implementation
Capture idea or task as todo from current conversation context
Analyze phase dependencies and suggest Depends on entries for ROADMAP.md
Autonomous audit-to-fix pipeline — find issues, classify, fix, test, commit
| name | gsd-debug |
| description | 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 {{GSD_ARGS}}:
--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 -5
INIT=$(node "C:/Work/Code/kylin-router/.trae/get-shit-done/bin/gsd-tools.cjs" state load)
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
Extract commit_docs from init JSON. Resolve debugger model:
debugger_model=$(node "C:/Work/Code/kylin-router/.trae/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-debugger --raw)
If active sessions exist AND no {{GSD_ARGS}}:
If {{GSD_ARGS}} 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>