## Debug Context (pre-injected by WXP)
**Problem:**
**Timestamp:**
**Project State:**
**Debugger Skills:**
---
Systematic debugging session. Diagnoses failures, errors, and unexpected behavior using structured root-cause analysis. Spawns gsd-debugger with full project context for focused investigation.
For post-mortem investigation of completed phases, use `/gsd-forensics` instead.
Valid GSD subagent types (use exact names - do not fall back to 'general-purpose'):
- gsd-debugger - Diagnoses and fixes issues
Load current phase context:
```bash
PHASE_INFO=$(pi-gsd-tools roadmap analyze --raw 2>/dev/null || echo "{}")
```
Extract from state JSON:
- `current_phase` - what's being worked on
- `last_activity` - when was the last change
- `milestone` - current milestone name
If `description` is empty, ask the user:
```
What's broken? Describe the symptom in one sentence:
(e.g. "auth tokens expire immediately", "build fails with missing module", "tests pass locally but fail in CI")
```
Store response as `description`.
Classify the issue from the description:
| Symptom pattern | Issue type |
|----------------|------------|
| Error/exception message | `runtime_error` |
| Test failures | `test_failure` |
| Build/compile error | `build_error` |
| Wrong behavior (no error) | `logic_error` |
| Performance problem | `performance` |
| Integration failure | `integration` |
| Unclear | `unknown` |
Set `ISSUE_TYPE`.
Display banner:
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
GSD ► DEBUG SESSION
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Issue: {description}
Type: {ISSUE_TYPE}
Phase: {current_phase || "not set"}
◆ Spawning debugger...
```
Resolve model:
```bash
DEBUGGER_MODEL=$(pi-gsd-tools resolve-model gsd-debugger --raw 2>/dev/null || echo "")
```
Debug prompt:
```markdown
Debug the following issue in this project:
{description}
Issue type: {ISSUE_TYPE}
Current phase: {current_phase}
Milestone: {milestone}
- .planning/STATE.md (Project state and recent decisions)
- .planning/ROADMAP.md (Phase context)
- ./GEMINI.md or ./CLAUDE.md (Project-specific guidelines, if exists)
${AGENT_SKILLS_DEBUGGER}
1. Reproduce: Identify the minimal steps to trigger the issue
2. Isolate: Narrow down to the failing component/file/function
3. Root cause: Identify WHY it fails, not just WHERE
4. Fix: Implement the smallest change that solves the root cause
5. Verify: Confirm the fix works and doesn't introduce regressions
Always check:
- Recent commits (git log --oneline -10) for what changed
- Related files for mismatched interfaces or broken contracts
- Test suite for existing coverage that should have caught this
## DEBUG COMPLETE
**Root cause:** [one sentence]
**Fix applied:** [what was changed]
**Files modified:** [list]
**Verification:** [how to confirm it's fixed]
OR
## DEBUG BLOCKED
**Investigated:** [what was tried]
**Blocker:** [what additional info is needed]
**Next step:** [what the human should provide or check]
```
```
Task(
prompt=debug_prompt,
subagent_type="gsd-debugger",
model="{DEBUGGER_MODEL}",
description="Debug: {description}"
)
```
**`## DEBUG COMPLETE`:**
Display root cause, fix, and verification steps. Offer:
```
1. Capture as todo (/gsd-add-todo) - if fix not yet applied
2. Continue with current phase (/gsd-execute-phase)
3. Done
```
**`## DEBUG BLOCKED`:**
Display blocker and next steps. Offer:
```
1. Provide additional context and retry
2. Try forensics mode (/gsd-forensics) - deeper investigation
3. Capture as todo and investigate later
```
If the debug session produced a fix or useful findings, offer to save:
```bash
mkdir -p .planning/debug
```
Write `.planning/debug/{YYYY-MM-DD}-{slug}.md`:
```markdown
---
created: {timestamp}
issue: {description}
type: {ISSUE_TYPE}
phase: {current_phase}
status: {resolved|blocked}
---
## Root Cause
{root cause summary}
## Fix
{what was changed}
## Verification
{how to confirm}
```
Commit:
```bash
pi-gsd-tools commit "docs: debug session - {description_slug}" --files .planning/debug/{filename}
```
- [ ] Problem description captured (from arg or prompt)
- [ ] Issue classified by type
- [ ] gsd-debugger spawned with full project context
- [ ] Root cause identified or blocker surfaced
- [ ] Fix applied or next steps clear
- [ ] Session optionally persisted in .planning/debug/