Structured debugging with session persistence

VerifiedSafe

Scientific debugging workflow using isolated subagents to investigate issues with checkpoint tracking and session persistence.

Sby Skills Guide Bot
DevelopmentIntermediate
306/2/2026
Claude Code
#debugging#workflow#subagent#session

Recommended for

Our review

Structured debugging workflow using the scientific method with subagent isolation and session persistence.

Strengths

  • Systematic symptom gathering before investigation
  • Subagent isolation preserves main context for user interaction
  • Session persistence for long-running investigations
  • Checkpoint handling to incorporate human feedback

Limitations

  • Requires subagent support (Claude Code)
  • Relies on clear symptom description from the user
  • May be overkill for trivial bugs
When to use it

Use when debugging complex issues that require extensive file exploration and hypothesis testing.

When not to use it

Avoid for trivial bugs that can be fixed quickly by scanning the relevant code.

Security analysis

Safe
Quality score90/100

The skill only uses Bash to list files in a safe manner and spawns a debugging subagent; no destructive or exfiltration actions are instructed.

No concerns found

Examples

Debug API 500 error
Debug why my API returns 500 on POST /users. The endpoint worked yesterday and no changes were made to the API code.
Debug race condition
Help me debug a race condition where two concurrent requests sometimes cause duplicate entries in the database.
Investigate memory leak
Debug a memory leak in my Node.js server that causes OOM after ~10k requests. I suspect the caching layer but not sure.

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