get-shit-done-cc 1.5.26 → 1.5.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/agents/gsd-codebase-mapper.md +1 -1
  2. package/agents/gsd-executor.md +1 -4
  3. package/agents/gsd-phase-researcher.md +6 -4
  4. package/agents/gsd-planner.md +6 -2
  5. package/commands/gsd/audit-milestone.md +1 -1
  6. package/commands/gsd/create-roadmap.md +0 -2
  7. package/commands/gsd/define-requirements.md +0 -1
  8. package/commands/gsd/discuss-milestone.md +0 -1
  9. package/commands/gsd/discuss-phase.md +0 -1
  10. package/commands/gsd/execute-phase.md +23 -11
  11. package/commands/gsd/help.md +6 -20
  12. package/commands/gsd/new-milestone.md +2 -0
  13. package/commands/gsd/plan-milestone-gaps.md +1 -2
  14. package/commands/gsd/plan-phase.md +4 -3
  15. package/commands/gsd/progress.md +3 -3
  16. package/get-shit-done/references/continuation-format.md +3 -3
  17. package/get-shit-done/templates/phase-prompt.md +0 -1
  18. package/get-shit-done/templates/planner-subagent-prompt.md +1 -1
  19. package/get-shit-done/workflows/discovery-phase.md +2 -2
  20. package/get-shit-done/workflows/discuss-phase.md +20 -9
  21. package/get-shit-done/workflows/execute-phase.md +3 -1
  22. package/get-shit-done/workflows/execute-plan.md +2 -2
  23. package/get-shit-done/workflows/map-codebase.md +2 -2
  24. package/get-shit-done/workflows/resume-project.md +5 -7
  25. package/get-shit-done/workflows/verify-phase.md +4 -4
  26. package/get-shit-done/workflows/verify-work.md +3 -2
  27. package/package.json +1 -1
  28. package/commands/gsd/execute-plan.md +0 -400
  29. package/get-shit-done/references/debugging/debugging-mindset.md +0 -11
  30. package/get-shit-done/references/debugging/hypothesis-testing.md +0 -11
  31. package/get-shit-done/references/debugging/investigation-techniques.md +0 -11
  32. package/get-shit-done/references/debugging/verification-patterns.md +0 -11
  33. package/get-shit-done/references/debugging/when-to-research.md +0 -11
  34. package/get-shit-done/references/goal-backward.md +0 -33
  35. package/get-shit-done/references/plan-format.md +0 -32
  36. package/get-shit-done/references/principles.md +0 -29
  37. package/get-shit-done/references/research-pitfalls.md +0 -233
  38. package/get-shit-done/references/scope-estimation.md +0 -32
  39. package/get-shit-done/templates/research-subagent-prompt.md +0 -92
  40. package/get-shit-done/workflows/create-milestone.md +0 -203
  41. package/get-shit-done/workflows/debug.md +0 -14
  42. package/get-shit-done/workflows/plan-phase.md +0 -41
  43. package/get-shit-done/workflows/research-phase.md +0 -17
  44. package/get-shit-done/workflows/research-project.md +0 -23
@@ -31,7 +31,7 @@ Your job: Explore thoroughly, then write document(s) directly. Return confirmati
31
31
  | refactor, cleanup | CONCERNS.md, ARCHITECTURE.md |
32
32
  | setup, config | STACK.md, STRUCTURE.md |
33
33
 
34
- **`/gsd:execute-plan`** references codebase docs to:
34
+ **`/gsd:execute-phase`** references codebase docs to:
35
35
  - Follow existing conventions when writing code
36
36
  - Know where to place new files (STRUCTURE.md)
37
37
  - Match testing patterns (TESTING.md)
@@ -8,10 +8,7 @@ color: yellow
8
8
  <role>
9
9
  You are a GSD plan executor. You execute PLAN.md files atomically, creating per-task commits, handling deviations automatically, pausing at checkpoints, and producing SUMMARY.md files.
10
10
 
11
- You are spawned by either:
12
-
13
- - `/gsd:execute-plan` command (single plan execution)
14
- - `/gsd:execute-phase` orchestrator (parallel plan execution)
11
+ You are spawned by `/gsd:execute-phase` orchestrator.
15
12
 
16
13
  Your job: Execute the plan completely, commit each task, create SUMMARY.md, update STATE.md.
17
14
  </role>
@@ -444,7 +444,9 @@ Orchestrator provides:
444
444
  **Load phase context (MANDATORY):**
445
445
 
446
446
  ```bash
447
- PHASE_DIR=$(ls -d .planning/phases/${PHASE}-* 2>/dev/null | head -1)
447
+ # Match both zero-padded (05-*) and unpadded (5-*) folders
448
+ PADDED_PHASE=$(printf "%02d" ${PHASE} 2>/dev/null || echo "${PHASE}")
449
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE}-* 2>/dev/null | head -1)
448
450
 
449
451
  # Read CONTEXT.md if exists (from /gsd:discuss-phase)
450
452
  cat "${PHASE_DIR}"/*-CONTEXT.md 2>/dev/null
@@ -518,14 +520,14 @@ Run through verification protocol checklist:
518
520
 
519
521
  Use the output format template. Populate all sections with verified findings.
520
522
 
521
- Write to: `${PHASE_DIR}/${PHASE}-RESEARCH.md`
523
+ Write to: `${PHASE_DIR}/${PADDED_PHASE}-RESEARCH.md`
522
524
 
523
525
  Where `PHASE_DIR` is the full path (e.g., `.planning/phases/01-foundation`)
524
526
 
525
527
  ## Step 6: Commit Research
526
528
 
527
529
  ```bash
528
- git add "${PHASE_DIR}/${PHASE}-RESEARCH.md"
530
+ git add "${PHASE_DIR}/${PADDED_PHASE}-RESEARCH.md"
529
531
  git commit -m "docs(${PHASE}): research phase domain
530
532
 
531
533
  Phase ${PHASE}: ${PHASE_NAME}
@@ -558,7 +560,7 @@ When research finishes successfully:
558
560
 
559
561
  ### File Created
560
562
 
561
- `${PHASE_DIR}/${PHASE}-RESEARCH.md`
563
+ `${PHASE_DIR}/${PADDED_PHASE}-RESEARCH.md`
562
564
 
563
565
  ### Confidence Assessment
564
566
 
@@ -808,7 +808,9 @@ Triggered by `--gaps` flag. Creates plans to address verification or UAT failure
808
808
  **1. Find gap sources:**
809
809
 
810
810
  ```bash
811
- PHASE_DIR=$(ls -d .planning/phases/${PHASE_ARG}* 2>/dev/null | head -1)
811
+ # Match both zero-padded (05-*) and unpadded (5-*) folders
812
+ PADDED_PHASE=$(printf "%02d" ${PHASE_ARG} 2>/dev/null || echo "${PHASE_ARG}")
813
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE_ARG}-* 2>/dev/null | head -1)
812
814
 
813
815
  # Check for VERIFICATION.md (code verification gaps)
814
816
  ls "$PHASE_DIR"/*-VERIFICATION.md 2>/dev/null
@@ -1076,7 +1078,9 @@ Understand:
1076
1078
  **Load phase-specific context files (MANDATORY):**
1077
1079
 
1078
1080
  ```bash
1079
- PHASE_DIR=$(ls -d .planning/phases/${PHASE}-* 2>/dev/null | head -1)
1081
+ # Match both zero-padded (05-*) and unpadded (5-*) folders
1082
+ PADDED_PHASE=$(printf "%02d" ${PHASE} 2>/dev/null || echo "${PHASE}")
1083
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE}-* 2>/dev/null | head -1)
1080
1084
 
1081
1085
  # Read CONTEXT.md if exists (from /gsd:discuss-phase)
1082
1086
  cat "${PHASE_DIR}"/*-CONTEXT.md 2>/dev/null
@@ -18,7 +18,7 @@ Verify milestone achieved its definition of done. Check requirements coverage, c
18
18
  </objective>
19
19
 
20
20
  <execution_context>
21
- @~/.claude/get-shit-done/references/principles.md
21
+ <!-- Spawns gsd-integration-checker agent which has all audit expertise baked in -->
22
22
  </execution_context>
23
23
 
24
24
  <context>
@@ -35,11 +35,9 @@ Roadmaps define what work happens in what order. Phases map to requirements.
35
35
  </objective>
36
36
 
37
37
  <execution_context>
38
- @~/.claude/get-shit-done/references/principles.md
39
38
  @~/.claude/get-shit-done/workflows/create-roadmap.md
40
39
  @~/.claude/get-shit-done/templates/roadmap.md
41
40
  @~/.claude/get-shit-done/templates/state.md
42
- @~/.claude/get-shit-done/references/goal-backward.md
43
41
  </execution_context>
44
42
 
45
43
  <context>
@@ -36,7 +36,6 @@ Output: `.planning/REQUIREMENTS.md`
36
36
  </objective>
37
37
 
38
38
  <execution_context>
39
- @~/.claude/get-shit-done/references/principles.md
40
39
  @~/.claude/get-shit-done/workflows/define-requirements.md
41
40
  @~/.claude/get-shit-done/templates/requirements.md
42
41
  </execution_context>
@@ -11,7 +11,6 @@ Output: Context gathered, then routes to /gsd:new-milestone
11
11
  </objective>
12
12
 
13
13
  <execution_context>
14
- @~/.claude/get-shit-done/references/principles.md
15
14
  @~/.claude/get-shit-done/workflows/discuss-milestone.md
16
15
  </execution_context>
17
16
 
@@ -18,7 +18,6 @@ Extract implementation decisions that downstream agents need — researcher and
18
18
  </objective>
19
19
 
20
20
  <execution_context>
21
- @~/.claude/get-shit-done/references/principles.md
22
21
  @~/.claude/get-shit-done/workflows/discuss-phase.md
23
22
  @~/.claude/get-shit-done/templates/context.md
24
23
  </execution_context>
@@ -23,7 +23,6 @@ Context budget: ~15% orchestrator, 100% fresh per subagent.
23
23
  </objective>
24
24
 
25
25
  <execution_context>
26
- @~/.claude/get-shit-done/references/principles.md
27
26
  @~/.claude/get-shit-done/references/ui-brand.md
28
27
  @~/.claude/get-shit-done/workflows/execute-phase.md
29
28
  </execution_context>
@@ -62,19 +61,32 @@ Phase: $ARGUMENTS
62
61
  - Collect summaries from all plans
63
62
  - Report phase completion status
64
63
 
65
- 6. **Verify phase goal**
64
+ 6. **Commit any orchestrator corrections**
65
+ Check for uncommitted changes before verification:
66
+ ```bash
67
+ git status --porcelain
68
+ ```
69
+
70
+ **If changes exist:** Orchestrator made corrections between executor completions. Commit them:
71
+ ```bash
72
+ git add -u && git commit -m "fix({phase}): orchestrator corrections"
73
+ ```
74
+
75
+ **If clean:** Continue to verification.
76
+
77
+ 7. **Verify phase goal**
66
78
  - Spawn `gsd-verifier` subagent with phase directory and goal
67
79
  - Verifier checks must_haves against actual codebase (not SUMMARY claims)
68
80
  - Creates VERIFICATION.md with detailed report
69
81
  - Route by status:
70
- - `passed` → continue to step 7
82
+ - `passed` → continue to step 8
71
83
  - `human_needed` → present items, get approval or feedback
72
84
  - `gaps_found` → present gaps, offer `/gsd:plan-phase {X} --gaps`
73
85
 
74
- 7. **Update roadmap and state**
86
+ 8. **Update roadmap and state**
75
87
  - Update ROADMAP.md, STATE.md
76
88
 
77
- 8. **Update requirements**
89
+ 9. **Update requirements**
78
90
  Mark phase requirements as Complete:
79
91
  - Read ROADMAP.md, find this phase's `Requirements:` line (e.g., "AUTH-01, AUTH-02")
80
92
  - Read REQUIREMENTS.md traceability table
@@ -82,13 +94,13 @@ Phase: $ARGUMENTS
82
94
  - Write updated REQUIREMENTS.md
83
95
  - Skip if: REQUIREMENTS.md doesn't exist, or phase has no Requirements line
84
96
 
85
- 9. **Commit phase completion**
86
- Bundle all phase metadata updates in one commit:
87
- - Stage: `git add .planning/ROADMAP.md .planning/STATE.md`
88
- - Stage REQUIREMENTS.md if updated: `git add .planning/REQUIREMENTS.md`
89
- - Commit: `docs({phase}): complete {phase-name} phase`
97
+ 10. **Commit phase completion**
98
+ Bundle all phase metadata updates in one commit:
99
+ - Stage: `git add .planning/ROADMAP.md .planning/STATE.md`
100
+ - Stage REQUIREMENTS.md if updated: `git add .planning/REQUIREMENTS.md`
101
+ - Commit: `docs({phase}): complete {phase-name} phase`
90
102
 
91
- 10. **Offer next steps**
103
+ 11. **Offer next steps**
92
104
  - Route to next action (see `<offer_next>`)
93
105
  </process>
94
106
 
@@ -127,30 +127,16 @@ Result: Creates `.planning/phases/01-foundation/01-01-PLAN.md`
127
127
 
128
128
  ### Execution
129
129
 
130
- **`/gsd:execute-plan <path>`**
131
- Execute a single PLAN.md file.
132
-
133
- - Runs plan tasks sequentially
134
- - Creates SUMMARY.md after completion
135
- - Updates STATE.md with accumulated context
136
- - Use for interactive execution with checkpoints
137
-
138
- Usage: `/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md`
139
-
140
130
  **`/gsd:execute-phase <phase-number>`**
141
- Execute all unexecuted plans in a phase with parallel background agents.
131
+ Execute all plans in a phase.
142
132
 
143
- - Analyzes plan dependencies and spawns independent plans concurrently
144
- - Use when phase has 2+ plans and you want "walk away" execution
145
- - Respects max_concurrent_agents from config.json
133
+ - Groups plans by wave (from frontmatter), executes waves sequentially
134
+ - Plans within each wave run in parallel via Task tool
135
+ - Verifies phase goal after all plans complete
136
+ - Updates REQUIREMENTS.md, ROADMAP.md, STATE.md
146
137
 
147
138
  Usage: `/gsd:execute-phase 5`
148
139
 
149
- Options (via `.planning/config.json` parallelization section):
150
- - `max_concurrent_agents`: Limit parallel agents (default: 3)
151
- - `skip_checkpoints`: Skip human checkpoints in background (default: true)
152
- - `min_plans_for_parallel`: Minimum plans to trigger parallelization (default: 2)
153
-
154
140
  ### Roadmap Management
155
141
 
156
142
  **`/gsd:add-phase <description>`**
@@ -373,7 +359,7 @@ Change anytime by editing `.planning/config.json`
373
359
  ```
374
360
  /gsd:insert-phase 5 "Critical security fix"
375
361
  /gsd:plan-phase 5.1
376
- /gsd:execute-plan .planning/phases/05.1-critical-security-fix/05.1-01-PLAN.md
362
+ /gsd:execute-phase 5.1
377
363
  ```
378
364
 
379
365
  **Completing a milestone:**
@@ -90,6 +90,8 @@ Milestone name: $ARGUMENTS (optional - will prompt if not provided)
90
90
  Last activity: [today] — Milestone v[X.Y] started
91
91
  ```
92
92
 
93
+ Keep Accumulated Context section (decisions, blockers) from previous milestone.
94
+
93
95
  6. **Cleanup:**
94
96
  - Delete MILESTONE-CONTEXT.md if exists (consumed)
95
97
 
@@ -19,8 +19,7 @@ One command creates all fix phases — no manual `/gsd:add-phase` per gap.
19
19
  </objective>
20
20
 
21
21
  <execution_context>
22
- @~/.claude/get-shit-done/references/principles.md
23
- @~/.claude/get-shit-done/workflows/plan-phase.md
22
+ <!-- Spawns gsd-planner agent which has all planning expertise baked in -->
24
23
  </execution_context>
25
24
 
26
25
  <context>
@@ -79,11 +79,12 @@ grep -A5 "Phase ${PHASE}:" .planning/ROADMAP.md 2>/dev/null
79
79
  ## 4. Ensure Phase Directory Exists
80
80
 
81
81
  ```bash
82
- PHASE_DIR=$(ls -d .planning/phases/${PHASE}-* 2>/dev/null | head -1)
82
+ # Match both zero-padded (05-*) and unpadded (5-*) folders
83
+ PADDED_PHASE=$(printf "%02d" ${PHASE})
84
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE}-* 2>/dev/null | head -1)
83
85
  if [ -z "$PHASE_DIR" ]; then
84
86
  # Create phase directory from roadmap name with zero-padded phase number
85
87
  PHASE_NAME=$(grep "Phase ${PHASE}:" .planning/ROADMAP.md | sed 's/.*Phase [0-9]*: //' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
86
- PADDED_PHASE=$(printf "%02d" ${PHASE})
87
88
  mkdir -p ".planning/phases/${PADDED_PHASE}-${PHASE_NAME}"
88
89
  PHASE_DIR=".planning/phases/${PADDED_PHASE}-${PHASE_NAME}"
89
90
  fi
@@ -251,7 +252,7 @@ Fill prompt and spawn:
251
252
  </planning_context>
252
253
 
253
254
  <downstream_consumer>
254
- Output consumed by /gsd:execute-phase or /gsd:execute-plan
255
+ Output consumed by /gsd:execute-phase
255
256
  Plans must be executable prompts with:
256
257
 
257
258
  - Frontmatter (wave, depends_on, files_modified, autonomous)
@@ -154,7 +154,7 @@ Read its `<objective>` section.
154
154
 
155
155
  **{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
156
156
 
157
- `/gsd:execute-plan [full-path-to-PLAN.md]`
157
+ `/gsd:execute-phase {phase}`
158
158
 
159
159
  <sub>`/clear` first → fresh context window</sub>
160
160
 
@@ -226,7 +226,7 @@ UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
226
226
  ---
227
227
 
228
228
  **Also available:**
229
- - `/gsd:execute-plan [path]` — continue with other work first
229
+ - `/gsd:execute-phase {phase}` — execute phase plans
230
230
  - `/gsd:verify-work {phase}` — run more UAT testing
231
231
 
232
232
  ---
@@ -359,7 +359,7 @@ Ready to plan the next milestone.
359
359
  - [ ] Rich context provided (recent work, decisions, issues)
360
360
  - [ ] Current position clear with visual progress
361
361
  - [ ] What's next clearly explained
362
- - [ ] Smart routing: /gsd:execute-plan if plan exists, /gsd:plan-phase if not
362
+ - [ ] Smart routing: /gsd:execute-phase if plans exist, /gsd:plan-phase if not
363
363
  - [ ] User confirms before any action
364
364
  - [ ] Seamless handoff to appropriate gsd command
365
365
  </success_criteria>
@@ -44,7 +44,7 @@ Standard format for presenting next steps after completing a command or workflow
44
44
 
45
45
  **02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry
46
46
 
47
- `/gsd:execute-plan .planning/phases/02-auth/02-03-PLAN.md`
47
+ `/gsd:execute-phase 2`
48
48
 
49
49
  <sub>`/clear` first → fresh context window</sub>
50
50
 
@@ -69,7 +69,7 @@ Add note that this is the last plan and what comes after:
69
69
  **02-03: Refresh Token Rotation** — Add /api/auth/refresh with sliding expiry
70
70
  <sub>Final plan in Phase 2</sub>
71
71
 
72
- `/gsd:execute-plan .planning/phases/02-auth/02-03-PLAN.md`
72
+ `/gsd:execute-phase 2`
73
73
 
74
74
  <sub>`/clear` first → fresh context window</sub>
75
75
 
@@ -220,7 +220,7 @@ Extract: `**02-03: Refresh Token Rotation** — Add /api/auth/refresh with slidi
220
220
  ## To Continue
221
221
 
222
222
  Run `/clear`, then paste:
223
- /gsd:execute-plan .planning/phases/02-auth/02-03-PLAN.md
223
+ /gsd:execute-phase 2
224
224
  ```
225
225
 
226
226
  User has no idea what 02-03 is about.
@@ -573,5 +573,4 @@ Task completion ≠ Goal achievement. A task "create chat component" can complet
573
573
  5. Gaps found → fix plans created → execute → re-verify
574
574
  6. All must_haves pass → phase complete
575
575
 
576
- See `~/.claude/get-shit-done/references/goal-backward.md` for derivation process.
577
576
  See `~/.claude/get-shit-done/workflows/verify-phase.md` for verification logic.
@@ -34,7 +34,7 @@ Template for spawning gsd-planner agent. The agent contains all planning experti
34
34
  </planning_context>
35
35
 
36
36
  <downstream_consumer>
37
- Output consumed by /gsd:execute-phase or /gsd:execute-plan
37
+ Output consumed by /gsd:execute-phase
38
38
  Plans must be executable prompts with:
39
39
  - Frontmatter (wave, depends_on, files_modified, autonomous)
40
40
  - Tasks in XML format
@@ -107,7 +107,7 @@ For: Choosing between options, new external integration.
107
107
 
108
108
  5. **Cross-verify:** Any WebSearch finding → confirm with Context7/official docs.
109
109
 
110
- 6. **Quality check:** Before finalizing findings, consult ~/.claude/get-shit-done/references/research-pitfalls.md to avoid common research gaps.
110
+ 6. **Quality check:** Before finalizing findings, consult the gsd-researcher agent's verification protocols to avoid common research gaps.
111
111
 
112
112
  7. **Create DISCOVERY.md** using ~/.claude/get-shit-done/templates/discovery.md structure:
113
113
 
@@ -160,7 +160,7 @@ For: Architectural decisions, novel problems, high-risk choices.
160
160
  - Mark what's verified vs assumed
161
161
  - Flag contradictions
162
162
 
163
- 6. **Quality check:** Before finalizing findings, consult ~/.claude/get-shit-done/references/research-pitfalls.md to ensure comprehensive coverage and avoid common research gaps.
163
+ 6. **Quality check:** Before finalizing findings, consult the gsd-researcher agent's verification protocols to ensure comprehensive coverage and avoid common research gaps.
164
164
 
165
165
  7. **Create comprehensive DISCOVERY.md:**
166
166
 
@@ -109,8 +109,9 @@ Exit workflow.
109
109
  Check if CONTEXT.md already exists:
110
110
 
111
111
  ```bash
112
- ls .planning/phases/${PHASE}-*/CONTEXT.md 2>/dev/null
113
- ls .planning/phases/${PHASE}-*/${PHASE}-CONTEXT.md 2>/dev/null
112
+ # Match both zero-padded (05-*) and unpadded (5-*) folders
113
+ PADDED_PHASE=$(printf "%02d" ${PHASE})
114
+ ls .planning/phases/${PADDED_PHASE}-*/CONTEXT.md .planning/phases/${PADDED_PHASE}-*/${PADDED_PHASE}-CONTEXT.md .planning/phases/${PHASE}-*/CONTEXT.md .planning/phases/${PHASE}-*/${PHASE}-CONTEXT.md 2>/dev/null
114
115
  ```
115
116
 
116
117
  **If exists:**
@@ -229,11 +230,21 @@ Track deferred ideas internally.
229
230
  <step name="write_context">
230
231
  Create CONTEXT.md capturing decisions made.
231
232
 
232
- **File location:** `.planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md`
233
+ **Find or create phase directory:**
233
234
 
234
- Zero-pad the phase number: `PADDED_PHASE=$(printf "%02d" ${PHASE})`
235
+ ```bash
236
+ # Match existing directory (padded or unpadded)
237
+ PADDED_PHASE=$(printf "%02d" ${PHASE})
238
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE}-* 2>/dev/null | head -1)
239
+ if [ -z "$PHASE_DIR" ]; then
240
+ # Create from roadmap name (lowercase, hyphens)
241
+ PHASE_NAME=$(grep "Phase ${PHASE}:" .planning/ROADMAP.md | sed 's/.*Phase [0-9]*: //' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
242
+ mkdir -p ".planning/phases/${PADDED_PHASE}-${PHASE_NAME}"
243
+ PHASE_DIR=".planning/phases/${PADDED_PHASE}-${PHASE_NAME}"
244
+ fi
245
+ ```
235
246
 
236
- Create phase directory if it doesn't exist. Use roadmap phase name for slug (lowercase, hyphens).
247
+ **File location:** `${PHASE_DIR}/${PADDED_PHASE}-CONTEXT.md`
237
248
 
238
249
  **Structure the content by what was discussed:**
239
250
 
@@ -334,18 +345,18 @@ Created: .planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
334
345
  Commit phase context:
335
346
 
336
347
  ```bash
337
- git add .planning/phases/${PHASE}-${SLUG}/${PHASE}-CONTEXT.md
348
+ git add "${PHASE_DIR}/${PADDED_PHASE}-CONTEXT.md"
338
349
  git commit -m "$(cat <<'EOF'
339
- docs(${PHASE}): capture phase context
350
+ docs(${PADDED_PHASE}): capture phase context
340
351
 
341
- Phase ${PHASE}: ${PHASE_NAME}
352
+ Phase ${PADDED_PHASE}: ${PHASE_NAME}
342
353
  - Implementation decisions documented
343
354
  - Phase boundary established
344
355
  EOF
345
356
  )"
346
357
  ```
347
358
 
348
- Confirm: "Committed: docs(${PHASE}): capture phase context"
359
+ Confirm: "Committed: docs(${PADDED_PHASE}): capture phase context"
349
360
  </step>
350
361
 
351
362
  </process>
@@ -39,7 +39,9 @@ Options:
39
39
  Confirm phase exists and has plans:
40
40
 
41
41
  ```bash
42
- PHASE_DIR=$(ls -d .planning/phases/${PHASE_ARG}* 2>/dev/null | head -1)
42
+ # Match both zero-padded (05-*) and unpadded (5-*) folders
43
+ PADDED_PHASE=$(printf "%02d" ${PHASE_ARG} 2>/dev/null || echo "${PHASE_ARG}")
44
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE_ARG}-* 2>/dev/null | head -1)
43
45
  if [ -z "$PHASE_DIR" ]; then
44
46
  echo "ERROR: No phase directory matching '${PHASE_ARG}'"
45
47
  exit 1
@@ -1196,7 +1196,7 @@ You will NOT be resumed. A new agent continues from where you stopped, using you
1196
1196
 
1197
1197
  **How to know if you were spawned:**
1198
1198
 
1199
- If you're reading this workflow because an orchestrator spawned you (vs running directly from /gsd:execute-plan), the orchestrator's prompt will include checkpoint return instructions. Follow those instructions when you hit a checkpoint.
1199
+ If you're reading this workflow because an orchestrator spawned you (vs running directly), the orchestrator's prompt will include checkpoint return instructions. Follow those instructions when you hit a checkpoint.
1200
1200
 
1201
1201
  **If running in main context (not spawned):**
1202
1202
 
@@ -1701,7 +1701,7 @@ Summary: .planning/phases/{phase-dir}/{phase}-{plan}-SUMMARY.md
1701
1701
 
1702
1702
  **{phase}-{next-plan}: [Plan Name]** — [objective from next PLAN.md]
1703
1703
 
1704
- `/gsd:execute-plan .planning/phases/{phase-dir}/{phase}-{next-plan}-PLAN.md`
1704
+ `/gsd:execute-phase {phase}`
1705
1705
 
1706
1706
  <sub>`/clear` first → fresh context window</sub>
1707
1707
 
@@ -170,7 +170,7 @@ Continue to collect_confirmations.
170
170
  <step name="collect_confirmations">
171
171
  Wait for all 4 agents to complete.
172
172
 
173
- Use TaskOutput tool to collect confirmations from each agent.
173
+ Read each agent's output file to collect confirmations.
174
174
 
175
175
  **Expected confirmation format from each agent:**
176
176
  ```
@@ -282,7 +282,7 @@ End workflow.
282
282
  - .planning/codebase/ directory created
283
283
  - 4 parallel gsd-codebase-mapper agents spawned with run_in_background=true
284
284
  - Agents write documents directly (orchestrator doesn't receive document contents)
285
- - TaskOutput used to collect confirmations only
285
+ - Read agent output files to collect confirmations
286
286
  - All 7 codebase documents exist
287
287
  - Clear completion summary with line counts
288
288
  - User offered clear next steps in GSD style
@@ -121,7 +121,7 @@ Present complete project status to user:
121
121
  Task: [task description from agent-history.json]
122
122
  Interrupted: [timestamp]
123
123
 
124
- Resume with: /gsd:resume-task
124
+ Resume with: Task tool (resume parameter with agent ID)
125
125
 
126
126
  [If pending todos exist:]
127
127
  📋 [N] pending todos — /gsd:check-todos to review
@@ -141,7 +141,7 @@ Present complete project status to user:
141
141
  Based on project state, determine the most logical next action:
142
142
 
143
143
  **If interrupted agent exists:**
144
- → Primary: Resume interrupted agent (/gsd:resume-task)
144
+ → Primary: Resume interrupted agent (Task tool with resume parameter)
145
145
  → Option: Start fresh (abandon agent work)
146
146
 
147
147
  **If .continue-here file exists:**
@@ -178,11 +178,9 @@ Present contextual options based on project state:
178
178
  What would you like to do?
179
179
 
180
180
  [Primary action based on state - e.g.:]
181
- 1. Resume interrupted agent (/gsd:resume-task) [if interrupted agent found]
181
+ 1. Resume interrupted agent [if interrupted agent found]
182
182
  OR
183
- 1. Resume from checkpoint (/gsd:execute-plan .planning/phases/XX-name/.continue-here-02-01.md)
184
- OR
185
- 1. Execute next plan (/gsd:execute-plan .planning/phases/XX-name/02-02-PLAN.md)
183
+ 1. Execute phase (/gsd:execute-phase {phase})
186
184
  OR
187
185
  1. Discuss Phase 3 context (/gsd:discuss-phase 3) [if CONTEXT.md missing]
188
186
  OR
@@ -217,7 +215,7 @@ Based on user selection, route to appropriate workflow:
217
215
 
218
216
  **{phase}-{plan}: [Plan Name]** — [objective from PLAN.md]
219
217
 
220
- `/gsd:execute-plan [path]`
218
+ `/gsd:execute-phase {phase}`
221
219
 
222
220
  <sub>`/clear` first → fresh context window</sub>
223
221
 
@@ -19,7 +19,6 @@ Then verify each level against the actual codebase.
19
19
 
20
20
  <required_reading>
21
21
  **Load these references:**
22
- - ~/.claude/get-shit-done/references/goal-backward.md (derivation process)
23
22
  - ~/.claude/get-shit-done/references/verification-patterns.md (detection patterns)
24
23
  - ~/.claude/get-shit-done/templates/verification-report.md (output format)
25
24
  </required_reading>
@@ -30,8 +29,9 @@ Then verify each level against the actual codebase.
30
29
  **Gather all verification context:**
31
30
 
32
31
  ```bash
33
- # Phase directory
34
- PHASE_DIR=$(ls -d .planning/phases/${PHASE_ARG}* 2>/dev/null | head -1)
32
+ # Phase directory (match both zero-padded and unpadded)
33
+ PADDED_PHASE=$(printf "%02d" ${PHASE_ARG} 2>/dev/null || echo "${PHASE_ARG}")
34
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE_ARG}-* 2>/dev/null | head -1)
35
35
 
36
36
  # Phase goal from ROADMAP
37
37
  grep -A 5 "Phase ${PHASE_NUM}" .planning/ROADMAP.md
@@ -97,7 +97,7 @@ If no must_haves in frontmatter, derive using goal-backward process:
97
97
 
98
98
  5. **Document derived must-haves** before proceeding to verification.
99
99
 
100
- See ~/.claude/get-shit-done/references/goal-backward.md for detailed derivation guidance.
100
+ <!-- Goal-backward derivation expertise is baked into the gsd-verifier agent -->
101
101
  </step>
102
102
 
103
103
  <step name="verify_truths">
@@ -73,8 +73,9 @@ Continue to `create_uat_file`.
73
73
  Parse $ARGUMENTS as phase number (e.g., "4") or plan number (e.g., "04-02").
74
74
 
75
75
  ```bash
76
- # Find phase directory
77
- PHASE_DIR=$(ls -d .planning/phases/${PHASE_ARG}* 2>/dev/null | head -1)
76
+ # Find phase directory (match both zero-padded and unpadded)
77
+ PADDED_PHASE=$(printf "%02d" ${PHASE_ARG} 2>/dev/null || echo "${PHASE_ARG}")
78
+ PHASE_DIR=$(ls -d .planning/phases/${PADDED_PHASE}-* .planning/phases/${PHASE_ARG}-* 2>/dev/null | head -1)
78
79
 
79
80
  # Find SUMMARY files
80
81
  ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "get-shit-done-cc",
3
- "version": "1.5.26",
3
+ "version": "1.5.28",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.",
5
5
  "bin": {
6
6
  "get-shit-done-cc": "bin/install.js"