Files
get-shit-done/commands/gsd/debug.md
Tom Boucher 1452b1275b fix(dispatcher): rename Task→Agent in allowed-tools, workflow prose, and agent tools frontmatter
Fixes #3168

The Claude Code subagent dispatcher tool is named `Agent` (with `subagent_type`
parameter). The `Task*` namespace (TaskCreate, TaskList, TaskGet, TaskUpdate,
TaskOutput, TaskStop) is the separate task-tracker. GSD's commands, workflows,
and agents were partially migrated and still referenced `- Task` / `Task(` in
55 files, causing orchestrators to silently fall back to inline execution when
no `Task` tool appeared on their tool surface.

Changes:
- `commands/gsd/*.md` allowed-tools: replaced `- Task` with `- Agent` in 24
  files; removed duplicate `- Task` from autonomous.md (already had `- Agent`)
- `get-shit-done/workflows/*.md`: replaced dispatcher `Task(` → `Agent(` in
  29 workflow files (~133 call sites); TaskCreate/List/Get/Update/Output/Stop
  left untouched
- `agents/gsd-debug-session-manager.md`: replaced `Task` → `Agent` in tools
  frontmatter (the only remaining agent with the wrong name)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 15:00:08 -04:00

1.7 KiB

name: gsd:debug description: Systematic debugging with persistent state across context resets argument-hint: [list | status | continue | --diagnose] [issue description] allowed-tools: - Read - Write - Bash - Agent - AskUserQuestion Debug issues using scientific method with subagent isolation.

Orchestrator role: Gather symptoms, spawn gsd-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>

<available_agent_types> Valid GSD subagent types (use exact names — do not fall back to 'general-purpose'):

  • gsd-debug-session-manager — manages debug checkpoint/continuation loop in isolated context
  • gsd-debugger — investigates bugs using scientific method </available_agent_types>

<execution_context> @~/.claude/get-shit-done/workflows/debug.md </execution_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):

ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
Execute end-to-end.