From aaf5bceebcee2da4d4b0838e1abcb5fefdcdae68 Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Wed, 14 Jan 2026 16:30:23 -0600 Subject: [PATCH] refactor(execute-phase): slim command, delegate to workflow Command now references workflow for checkpoint handling details instead of duplicating logic. Keeps command thin as intended. Co-Authored-By: Claude Opus 4.5 --- .gitignore | 2 +- commands/gsd/execute-phase.md | 23 +++++------------------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index f076ff12e..d5f849710 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ package-lock.json TO-DOS.md CLAUDE.md .planning -/research \ No newline at end of file +/research.claude/ diff --git a/commands/gsd/execute-phase.md b/commands/gsd/execute-phase.md index c3009ace0..a0e057642 100644 --- a/commands/gsd/execute-phase.md +++ b/commands/gsd/execute-phase.md @@ -158,25 +158,12 @@ All three run in parallel. Task tool blocks until all complete. -Plans with `autonomous: false` in frontmatter have checkpoints: -- Run in their assigned wave (can be parallel with other plans) -- Pause at checkpoint, return structured state to orchestrator -- Orchestrator presents checkpoint to user (see execute-plan.md for presentation formats) -- User responds, orchestrator spawns fresh continuation agent +Plans with `autonomous: false` have checkpoints. The execute-phase.md workflow handles the full checkpoint flow: +- Subagent pauses at checkpoint, returns structured state +- Orchestrator presents to user, collects response +- Spawns fresh continuation agent (not resume) -**Checkpoint flow:** -1. Subagent returns `## CHECKPOINT REACHED` with Completed Tasks table -2. Orchestrator parses return and presents rich formatted checkpoint -3. User responds (approved/done/option selection) -4. Orchestrator fills continuation-prompt.md template with state -5. Spawns fresh agent: `Task(prompt=filled_continuation_template, subagent_type="general-purpose")` - -**Why fresh agent, not resume:** -Task tool resume fails after multiple tool calls. Fresh agent with state handoff is the correct pattern. - -**Templates:** -- `@~/.claude/get-shit-done/templates/checkpoint-return.md` - Subagent return format -- `@~/.claude/get-shit-done/templates/continuation-prompt.md` - Fresh agent spawn template +See `@~/.claude/get-shit-done/workflows/execute-phase.md` step `checkpoint_handling` for complete details.