Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD across contents and paths, upstream package/repo coordinates -> @golem15/msd-core and golem15com/msd-core. Deep links into upstream history, sibling upstream packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is. Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line, package/plugin identity, regenerated lockfile, install-tree fixtures, derived registries and benchmark baseline; migration checksum baseline re-locked (MSD keeps its own install state, so no install had applied the old sums); sort-order and regex-escaped expectations in tests adjusted.
54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
---
|
|
name: msd:debug
|
|
description: Systematic debugging with persistent state across context resets
|
|
argument-hint: "[list | status <slug> | continue <slug> | --diagnose] [issue description]"
|
|
allowed-tools:
|
|
- Read
|
|
- Write
|
|
- Bash
|
|
- Grep
|
|
- Agent
|
|
- AskUserQuestion
|
|
---
|
|
|
|
<objective>
|
|
Debug issues using scientific method with subagent isolation.
|
|
|
|
**Orchestrator role:** Gather symptoms, spawn msd-debugger agent, handle checkpoints, spawn continuations.
|
|
|
|
**Flags:**
|
|
- `--diagnose` — Diagnose only. Returns a Root Cause Report without applying a fix.
|
|
|
|
**Subcommands:** `list` · `status <slug>` · `continue <slug>`
|
|
</objective>
|
|
|
|
<available_agent_types>
|
|
Valid MSD subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
- msd-debug-session-manager — manages debug checkpoint/continuation loop in isolated context
|
|
- msd-debugger — investigates bugs using scientific method
|
|
</available_agent_types>
|
|
|
|
<execution_context>
|
|
@~/.claude/msd-core/workflows/debug.md
|
|
</execution_context>
|
|
|
|
<context>
|
|
User's input: $ARGUMENTS
|
|
|
|
Parse subcommands and flags from $ARGUMENTS BEFORE the active-session check:
|
|
- If $ARGUMENTS starts with "list": SUBCMD=list, no further args
|
|
- If $ARGUMENTS starts with "status ": SUBCMD=status, SLUG=remainder (trim whitespace)
|
|
- If $ARGUMENTS starts with "continue ": SUBCMD=continue, SLUG=remainder (trim whitespace)
|
|
- If $ARGUMENTS contains `--diagnose`: SUBCMD=debug, diagnose_only=true, strip `--diagnose` from description
|
|
- Otherwise: SUBCMD=debug, diagnose_only=false
|
|
|
|
Check for active sessions (used for non-list/status/continue flows):
|
|
```bash
|
|
ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
|
|
```
|
|
</context>
|
|
|
|
<process>
|
|
Execute end-to-end.
|
|
</process>
|