Structured debugging with session persistence

VerifiedSafe

Scientific debugging workflow with subagent isolation and investigation tracking. Manages checkpoints and maintains state across sessions.

Sby Skills Guide Bot
DevelopmentIntermediate
306/2/2026
Claude Code
#debugging#scientific-method#subagent#session-persistence

Recommended for

Our review

A structured debugging workflow using the scientific method, with subagent isolation and session persistence.

Strengths

  • Systematic and reproducible debugging approach.
  • Preserves main context by offloading investigation to a subagent.
  • Handles checkpoints and resumes investigation without information loss.
  • Automatic documentation of debugging sessions.

Limitations

  • Requires Claude Code's subagent feature, not available on other platforms.
  • Can be verbose for simple bugs that need a quick fix.
  • Depends on the quality of symptoms provided by the user.
When to use it

For complex bugs that require thorough, iterative, and traceable investigation.

When not to use it

For obvious errors or quick fixes where a simple exchange suffices.

Security analysis

Safe
Quality score85/100

The skill orchestrates debugging using safe file operations (ls, read/write .planning/debug/*.md) and user interaction. No exfiltration, destructive commands, or code obfuscation. Bash usage is minimal and legitimate.

No concerns found

Examples

Debug web form 500 error
I get a 500 error when submitting the payment form on the checkout page. It started after last deployment.
Resume session
Resume the previous debugging session for the database connection timeout.
Investigate memory leak
Investigate the memory leak in the background worker process.

name: gsd-debug description: Structured debugging workflow with session persistence and investigation tracking allowed-tools: Task, Read, Edit, Bash argument-hint: [issue]

<objective> 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. </objective>

<context> User's issue: $ARGUMENTS

Check for active sessions:

ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
</context> <process>

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:

<objective>
Investigate issue: {slug}

**Summary:** {trigger}
</objective>

<symptoms>
expected: {expected}
actual: {actual}
errors: {errors}
reproduction: {reproduction}
timeline: {timeline}
</symptoms>

<mode>
symptoms_prefilled: true
goal: find_and_fix
</mode>

<debug_file>
Create: .planning/debug/{slug}.md
</debug_file>
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 {{COMMAND_PREFIX}}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:

<objective>
Continue debugging {slug}. Evidence is in the debug file.
</objective>

<prior_state>
Debug file: @.planning/debug/{slug}.md
</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",
  description="Continue debug {slug}"
)
</process>

<success_criteria>

  • [ ] Active sessions checked
  • [ ] Symptoms gathered (if new)
  • [ ] gsd-debugger spawned with context
  • [ ] Checkpoints handled correctly
  • [ ] Root cause confirmed before fixing </success_criteria>
Related skills