Structured Debugging with Session Persistence

VerifiedSafe

Provides a structured debugging workflow with session persistence. It isolates each investigation into a fresh agent context to manage large amounts of diagnostic information, while the orchestrator maintains a lean session for user interaction. Ideal for complex issues that require iterative hypothesis testing and checkpointing.

Sby Skills Guide Bot
DevelopmentIntermediate
206/2/2026
Claude Code
#debugging#workflow#session-persistence#subagent#investigation

Recommended for

Our review

This skill structures debugging using a scientific method with subagents for isolation, featuring session persistence and hypothesis tracking.

Strengths

  • Maintains fresh context per investigation by spawning dedicated subagents.
  • Enables easy resumption of debugging sessions through planning files.
  • Applies a systematic approach (symptom gathering, hypothesis, testing) similar to the scientific method.
  • Handles checkpoints and continuations without losing progress.

Limitations

  • Requires detailed user input during symptom gathering phase.
  • Can be overkill for simple or trivial bugs.
  • Depends on the subagent's ability to read and understand the codebase.
When to use it

Use this skill when facing a complex bug that requires deep, iterative code exploration and hypothesis testing.

When not to use it

Avoid this skill for quick fixes or obvious issues where direct inspection suffices.

Security analysis

Safe
Quality score90/100

The skill uses Bash only to list existing debug session files with a harmless 'ls' command, and no potentially destructive or data-exfiltrating actions are instructed. Input is not injected into shell commands, and subagent spawning uses predefined templates.

No concerns found

Examples

Debug a new issue
I'm getting an error when I try to save a file in my app. The app crashes without any error message in the console. Debug this issue.
Resume an active debugging session
Show me my active debugging sessions and let me resume the one about the login timeout.
Continue after a checkpoint
Continue the debug session for the file parsing bug. The checkpoint response is: I checked the config file and it seems correct. Investigate the parsing logic.

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