@undeemed/get-shit-done-codex 1.6.5

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 (79) hide show
  1. package/AGENTS.md +183 -0
  2. package/LICENSE +21 -0
  3. package/README.md +179 -0
  4. package/bin/install.js +214 -0
  5. package/commands/gsd/add-phase.md +207 -0
  6. package/commands/gsd/add-todo.md +182 -0
  7. package/commands/gsd/audit-milestone.md +258 -0
  8. package/commands/gsd/check-todos.md +217 -0
  9. package/commands/gsd/complete-milestone.md +136 -0
  10. package/commands/gsd/debug.md +149 -0
  11. package/commands/gsd/discuss-phase.md +80 -0
  12. package/commands/gsd/execute-phase.md +304 -0
  13. package/commands/gsd/help.md +383 -0
  14. package/commands/gsd/insert-phase.md +227 -0
  15. package/commands/gsd/list-phase-assumptions.md +50 -0
  16. package/commands/gsd/map-codebase.md +71 -0
  17. package/commands/gsd/new-milestone.md +717 -0
  18. package/commands/gsd/new-project.md +896 -0
  19. package/commands/gsd/pause-work.md +123 -0
  20. package/commands/gsd/plan-milestone-gaps.md +284 -0
  21. package/commands/gsd/plan-phase.md +475 -0
  22. package/commands/gsd/progress.md +356 -0
  23. package/commands/gsd/remove-phase.md +338 -0
  24. package/commands/gsd/research-phase.md +180 -0
  25. package/commands/gsd/resume-work.md +40 -0
  26. package/commands/gsd/update.md +172 -0
  27. package/commands/gsd/verify-work.md +219 -0
  28. package/commands/gsd/whats-new.md +124 -0
  29. package/get-shit-done/references/checkpoints.md +788 -0
  30. package/get-shit-done/references/continuation-format.md +249 -0
  31. package/get-shit-done/references/git-integration.md +254 -0
  32. package/get-shit-done/references/questioning.md +141 -0
  33. package/get-shit-done/references/tdd.md +263 -0
  34. package/get-shit-done/references/ui-brand.md +160 -0
  35. package/get-shit-done/references/verification-patterns.md +595 -0
  36. package/get-shit-done/templates/DEBUG.md +159 -0
  37. package/get-shit-done/templates/UAT.md +247 -0
  38. package/get-shit-done/templates/codebase/architecture.md +255 -0
  39. package/get-shit-done/templates/codebase/concerns.md +310 -0
  40. package/get-shit-done/templates/codebase/conventions.md +307 -0
  41. package/get-shit-done/templates/codebase/integrations.md +280 -0
  42. package/get-shit-done/templates/codebase/stack.md +186 -0
  43. package/get-shit-done/templates/codebase/structure.md +285 -0
  44. package/get-shit-done/templates/codebase/testing.md +480 -0
  45. package/get-shit-done/templates/config.json +26 -0
  46. package/get-shit-done/templates/context.md +291 -0
  47. package/get-shit-done/templates/continue-here.md +78 -0
  48. package/get-shit-done/templates/debug-subagent-prompt.md +91 -0
  49. package/get-shit-done/templates/discovery.md +146 -0
  50. package/get-shit-done/templates/milestone-archive.md +123 -0
  51. package/get-shit-done/templates/milestone.md +115 -0
  52. package/get-shit-done/templates/phase-prompt.md +576 -0
  53. package/get-shit-done/templates/planner-subagent-prompt.md +117 -0
  54. package/get-shit-done/templates/project.md +184 -0
  55. package/get-shit-done/templates/requirements.md +231 -0
  56. package/get-shit-done/templates/research-project/ARCHITECTURE.md +204 -0
  57. package/get-shit-done/templates/research-project/FEATURES.md +147 -0
  58. package/get-shit-done/templates/research-project/PITFALLS.md +200 -0
  59. package/get-shit-done/templates/research-project/STACK.md +120 -0
  60. package/get-shit-done/templates/research-project/SUMMARY.md +170 -0
  61. package/get-shit-done/templates/research.md +529 -0
  62. package/get-shit-done/templates/roadmap.md +202 -0
  63. package/get-shit-done/templates/state.md +206 -0
  64. package/get-shit-done/templates/summary.md +269 -0
  65. package/get-shit-done/templates/user-setup.md +323 -0
  66. package/get-shit-done/templates/verification-report.md +322 -0
  67. package/get-shit-done/workflows/complete-milestone.md +750 -0
  68. package/get-shit-done/workflows/diagnose-issues.md +233 -0
  69. package/get-shit-done/workflows/discovery-phase.md +293 -0
  70. package/get-shit-done/workflows/discuss-phase.md +422 -0
  71. package/get-shit-done/workflows/execute-phase.md +552 -0
  72. package/get-shit-done/workflows/execute-plan.md +1831 -0
  73. package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
  74. package/get-shit-done/workflows/map-codebase.md +289 -0
  75. package/get-shit-done/workflows/resume-project.md +311 -0
  76. package/get-shit-done/workflows/transition.md +564 -0
  77. package/get-shit-done/workflows/verify-phase.md +629 -0
  78. package/get-shit-done/workflows/verify-work.md +563 -0
  79. package/package.json +39 -0
@@ -0,0 +1,475 @@
1
+ ---
2
+ name: gsd:plan-phase
3
+ description: Create detailed execution plan for a phase (PLAN.md) with verification loop
4
+ argument-hint: "[phase] [--research] [--skip-research] [--gaps] [--skip-verify]"
5
+ agent: gsd-planner
6
+ allowed-tools:
7
+ - Read
8
+ - Write
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Task
13
+ - WebFetch
14
+ - mcp__context7__*
15
+ ---
16
+
17
+ <execution_context>
18
+ @~/.claude/get-shit-done/references/ui-brand.md
19
+ </execution_context>
20
+
21
+ <objective>
22
+ Create executable phase prompts (PLAN.md files) for a roadmap phase with integrated research and verification.
23
+
24
+ **Default flow:** Research (if needed) → Plan → Verify → Done
25
+
26
+ **Orchestrator role:** Parse arguments, validate phase, research domain (unless skipped or exists), spawn gsd-planner agent, verify plans with gsd-plan-checker, iterate until plans pass or max iterations reached, present results.
27
+
28
+ **Why subagents:** Research and planning burn context fast. Verification uses fresh context. User sees the flow between agents in main context.
29
+ </objective>
30
+
31
+ <context>
32
+ Phase number: $ARGUMENTS (optional - auto-detects next unplanned phase if not provided)
33
+
34
+ **Flags:**
35
+ - `--research` — Force re-research even if RESEARCH.md exists
36
+ - `--skip-research` — Skip research entirely, go straight to planning
37
+ - `--gaps` — Gap closure mode (reads VERIFICATION.md, skips research)
38
+ - `--skip-verify` — Skip planner → checker verification loop
39
+
40
+ Normalize phase input in step 2 before any directory lookups.
41
+ </context>
42
+
43
+ <process>
44
+
45
+ ## 1. Validate Environment
46
+
47
+ ```bash
48
+ ls .planning/ 2>/dev/null
49
+ ```
50
+
51
+ **If not found:** Error - user should run `/gsd:new-project` first.
52
+
53
+ ## 2. Parse and Normalize Arguments
54
+
55
+ Extract from $ARGUMENTS:
56
+
57
+ - Phase number (integer or decimal like `2.1`)
58
+ - `--research` flag to force re-research
59
+ - `--skip-research` flag to skip research
60
+ - `--gaps` flag for gap closure mode
61
+ - `--skip-verify` flag to bypass verification loop
62
+
63
+ **If no phase number:** Detect next unplanned phase from roadmap.
64
+
65
+ **Normalize phase to zero-padded format:**
66
+
67
+ ```bash
68
+ # Normalize phase number (8 → 08, but preserve decimals like 2.1 → 02.1)
69
+ if [[ "$PHASE" =~ ^[0-9]+$ ]]; then
70
+ PHASE=$(printf "%02d" "$PHASE")
71
+ elif [[ "$PHASE" =~ ^([0-9]+)\.([0-9]+)$ ]]; then
72
+ PHASE=$(printf "%02d.%s" "${BASH_REMATCH[1]}" "${BASH_REMATCH[2]}")
73
+ fi
74
+ ```
75
+
76
+ **Check for existing research and plans:**
77
+
78
+ ```bash
79
+ ls .planning/phases/${PHASE}-*/*-RESEARCH.md 2>/dev/null
80
+ ls .planning/phases/${PHASE}-*/*-PLAN.md 2>/dev/null
81
+ ```
82
+
83
+ ## 3. Validate Phase
84
+
85
+ ```bash
86
+ grep -A5 "Phase ${PHASE}:" .planning/ROADMAP.md 2>/dev/null
87
+ ```
88
+
89
+ **If not found:** Error with available phases. **If found:** Extract phase number, name, description.
90
+
91
+ ## 4. Ensure Phase Directory Exists
92
+
93
+ ```bash
94
+ # PHASE is already normalized (08, 02.1, etc.) from step 2
95
+ PHASE_DIR=$(ls -d .planning/phases/${PHASE}-* 2>/dev/null | head -1)
96
+ if [ -z "$PHASE_DIR" ]; then
97
+ # Create phase directory from roadmap name
98
+ PHASE_NAME=$(grep "Phase ${PHASE}:" .planning/ROADMAP.md | sed 's/.*Phase [0-9]*: //' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
99
+ mkdir -p ".planning/phases/${PHASE}-${PHASE_NAME}"
100
+ PHASE_DIR=".planning/phases/${PHASE}-${PHASE_NAME}"
101
+ fi
102
+ ```
103
+
104
+ ## 5. Handle Research
105
+
106
+ **If `--gaps` flag:** Skip research (gap closure uses VERIFICATION.md instead).
107
+
108
+ **If `--skip-research` flag:** Skip to step 6.
109
+
110
+ **Otherwise:**
111
+
112
+ Check for existing research:
113
+
114
+ ```bash
115
+ ls "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null
116
+ ```
117
+
118
+ **If RESEARCH.md exists AND `--research` flag NOT set:**
119
+ - Display: `Using existing research: ${PHASE_DIR}/${PHASE}-RESEARCH.md`
120
+ - Skip to step 6
121
+
122
+ **If RESEARCH.md missing OR `--research` flag set:**
123
+
124
+ Display stage banner:
125
+ ```
126
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
127
+ GSD ► RESEARCHING PHASE {X}
128
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
129
+
130
+ ◆ Spawning researcher...
131
+ ```
132
+
133
+ Proceed to spawn researcher
134
+
135
+ ### Spawn gsd-phase-researcher
136
+
137
+ Gather context for research prompt:
138
+
139
+ ```bash
140
+ # Get phase description from roadmap
141
+ PHASE_DESC=$(grep -A3 "Phase ${PHASE}:" .planning/ROADMAP.md)
142
+
143
+ # Get requirements if they exist
144
+ REQUIREMENTS=$(cat .planning/REQUIREMENTS.md 2>/dev/null | grep -A100 "## Requirements" | head -50)
145
+
146
+ # Get prior decisions from STATE.md
147
+ DECISIONS=$(grep -A20 "### Decisions Made" .planning/STATE.md 2>/dev/null)
148
+
149
+ # Get phase context if exists
150
+ PHASE_CONTEXT=$(cat "${PHASE_DIR}/${PHASE}-CONTEXT.md" 2>/dev/null)
151
+ ```
152
+
153
+ Fill research prompt and spawn:
154
+
155
+ ```markdown
156
+ <objective>
157
+ Research how to implement Phase {phase_number}: {phase_name}
158
+
159
+ Answer: "What do I need to know to PLAN this phase well?"
160
+ </objective>
161
+
162
+ <context>
163
+ **Phase description:**
164
+ {phase_description}
165
+
166
+ **Requirements (if any):**
167
+ {requirements}
168
+
169
+ **Prior decisions:**
170
+ {decisions}
171
+
172
+ **Phase context (if any):**
173
+ {phase_context}
174
+ </context>
175
+
176
+ <output>
177
+ Write research findings to: {phase_dir}/{phase}-RESEARCH.md
178
+ </output>
179
+ ```
180
+
181
+ ```
182
+ Task(
183
+ prompt=research_prompt,
184
+ subagent_type="gsd-phase-researcher",
185
+ description="Research Phase {phase}"
186
+ )
187
+ ```
188
+
189
+ ### Handle Researcher Return
190
+
191
+ **`## RESEARCH COMPLETE`:**
192
+ - Display: `Research complete. Proceeding to planning...`
193
+ - Continue to step 6
194
+
195
+ **`## RESEARCH BLOCKED`:**
196
+ - Display blocker information
197
+ - Offer: 1) Provide more context, 2) Skip research and plan anyway, 3) Abort
198
+ - Wait for user response
199
+
200
+ ## 6. Check Existing Plans
201
+
202
+ ```bash
203
+ ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null
204
+ ```
205
+
206
+ **If exists:** Offer: 1) Continue planning (add more plans), 2) View existing, 3) Replan from scratch. Wait for response.
207
+
208
+ ## 7. Gather Context Paths
209
+
210
+ Identify context files for the planner agent:
211
+
212
+ ```bash
213
+ # Required
214
+ STATE=.planning/STATE.md
215
+ ROADMAP=.planning/ROADMAP.md
216
+ REQUIREMENTS=.planning/REQUIREMENTS.md
217
+
218
+ # Optional (created by earlier steps or commands)
219
+ CONTEXT="${PHASE_DIR}/${PHASE}-CONTEXT.md"
220
+ RESEARCH="${PHASE_DIR}/${PHASE}-RESEARCH.md"
221
+ VERIFICATION="${PHASE_DIR}/${PHASE}-VERIFICATION.md"
222
+ UAT="${PHASE_DIR}/${PHASE}-UAT.md"
223
+ ```
224
+
225
+ ## 8. Spawn gsd-planner Agent
226
+
227
+ Display stage banner:
228
+ ```
229
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
230
+ GSD ► PLANNING PHASE {X}
231
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
232
+
233
+ ◆ Spawning planner...
234
+ ```
235
+
236
+ Fill prompt and spawn:
237
+
238
+ ```markdown
239
+ <planning_context>
240
+
241
+ **Phase:** {phase_number}
242
+ **Mode:** {standard | gap_closure}
243
+
244
+ **Project State:**
245
+ @.planning/STATE.md
246
+
247
+ **Roadmap:**
248
+ @.planning/ROADMAP.md
249
+
250
+ **Requirements (if exists):**
251
+ @.planning/REQUIREMENTS.md
252
+
253
+ **Phase Context (if exists):**
254
+ @.planning/phases/{phase_dir}/{phase}-CONTEXT.md
255
+
256
+ **Research (if exists):**
257
+ @.planning/phases/{phase_dir}/{phase}-RESEARCH.md
258
+
259
+ **Gap Closure (if --gaps mode):**
260
+ @.planning/phases/{phase_dir}/{phase}-VERIFICATION.md
261
+ @.planning/phases/{phase_dir}/{phase}-UAT.md
262
+
263
+ </planning_context>
264
+
265
+ <downstream_consumer>
266
+ Output consumed by /gsd:execute-phase
267
+ Plans must be executable prompts with:
268
+
269
+ - Frontmatter (wave, depends_on, files_modified, autonomous)
270
+ - Tasks in XML format
271
+ - Verification criteria
272
+ - must_haves for goal-backward verification
273
+ </downstream_consumer>
274
+
275
+ <quality_gate>
276
+ Before returning PLANNING COMPLETE:
277
+
278
+ - [ ] PLAN.md files created in phase directory
279
+ - [ ] Each plan has valid frontmatter
280
+ - [ ] Tasks are specific and actionable
281
+ - [ ] Dependencies correctly identified
282
+ - [ ] Waves assigned for parallel execution
283
+ - [ ] must_haves derived from phase goal
284
+ </quality_gate>
285
+ ```
286
+
287
+ ```
288
+ Task(
289
+ prompt=filled_prompt,
290
+ subagent_type="gsd-planner",
291
+ description="Plan Phase {phase}"
292
+ )
293
+ ```
294
+
295
+ ## 9. Handle Planner Return
296
+
297
+ Parse planner output:
298
+
299
+ **`## PLANNING COMPLETE`:**
300
+ - Display: `Planner created {N} plan(s). Files on disk.`
301
+ - If `--skip-verify`: Skip to step 13
302
+ - Otherwise: Proceed to step 10
303
+
304
+ **`## CHECKPOINT REACHED`:**
305
+ - Present to user, get response, spawn continuation (see step 12)
306
+
307
+ **`## PLANNING INCONCLUSIVE`:**
308
+ - Show what was attempted
309
+ - Offer: Add context, Retry, Manual
310
+ - Wait for user response
311
+
312
+ ## 10. Spawn gsd-plan-checker Agent
313
+
314
+ Display:
315
+ ```
316
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
317
+ GSD ► VERIFYING PLANS
318
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
319
+
320
+ ◆ Spawning plan checker...
321
+ ```
322
+
323
+ Fill checker prompt and spawn:
324
+
325
+ ```markdown
326
+ <verification_context>
327
+
328
+ **Phase:** {phase_number}
329
+ **Phase Goal:** {goal from ROADMAP}
330
+
331
+ **Plans to verify:**
332
+ @.planning/phases/{phase_dir}/*-PLAN.md
333
+
334
+ **Requirements (if exists):**
335
+ @.planning/REQUIREMENTS.md
336
+
337
+ </verification_context>
338
+
339
+ <expected_output>
340
+ Return one of:
341
+ - ## VERIFICATION PASSED — all checks pass
342
+ - ## ISSUES FOUND — structured issue list
343
+ </expected_output>
344
+ ```
345
+
346
+ ```
347
+ Task(
348
+ prompt=checker_prompt,
349
+ subagent_type="gsd-plan-checker",
350
+ description="Verify Phase {phase} plans"
351
+ )
352
+ ```
353
+
354
+ ## 11. Handle Checker Return
355
+
356
+ **If `## VERIFICATION PASSED`:**
357
+ - Display: `Plans verified. Ready for execution.`
358
+ - Proceed to step 13
359
+
360
+ **If `## ISSUES FOUND`:**
361
+ - Display: `Checker found issues:`
362
+ - List issues from checker output
363
+ - Check iteration count
364
+ - Proceed to step 12
365
+
366
+ ## 12. Revision Loop (Max 3 Iterations)
367
+
368
+ Track: `iteration_count` (starts at 1 after initial plan + check)
369
+
370
+ **If iteration_count < 3:**
371
+
372
+ Display: `Sending back to planner for revision... (iteration {N}/3)`
373
+
374
+ Spawn gsd-planner with revision prompt:
375
+
376
+ ```markdown
377
+ <revision_context>
378
+
379
+ **Phase:** {phase_number}
380
+ **Mode:** revision
381
+
382
+ **Existing plans:**
383
+ @.planning/phases/{phase_dir}/*-PLAN.md
384
+
385
+ **Checker issues:**
386
+ {structured_issues_from_checker}
387
+
388
+ </revision_context>
389
+
390
+ <instructions>
391
+ Read existing PLAN.md files. Make targeted updates to address checker issues.
392
+ Do NOT replan from scratch unless issues are fundamental.
393
+ Return what changed.
394
+ </instructions>
395
+ ```
396
+
397
+ ```
398
+ Task(
399
+ prompt=revision_prompt,
400
+ subagent_type="gsd-planner",
401
+ description="Revise Phase {phase} plans"
402
+ )
403
+ ```
404
+
405
+ - After planner returns → spawn checker again (step 10)
406
+ - Increment iteration_count
407
+
408
+ **If iteration_count >= 3:**
409
+
410
+ Display: `Max iterations reached. {N} issues remain:`
411
+ - List remaining issues
412
+
413
+ Offer options:
414
+ 1. Force proceed (execute despite issues)
415
+ 2. Provide guidance (user gives direction, retry)
416
+ 3. Abandon (exit planning)
417
+
418
+ Wait for user response.
419
+
420
+ ## 13. Present Final Status
421
+
422
+ Route to `<offer_next>`.
423
+
424
+ </process>
425
+
426
+ <offer_next>
427
+ Output this markdown directly (not as a code block):
428
+
429
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
430
+ GSD ► PHASE {X} PLANNED ✓
431
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
432
+
433
+ **Phase {X}: {Name}** — {N} plan(s) in {M} wave(s)
434
+
435
+ | Wave | Plans | What it builds |
436
+ |------|-------|----------------|
437
+ | 1 | 01, 02 | [objectives] |
438
+ | 2 | 03 | [objective] |
439
+
440
+ Research: {Completed | Used existing | Skipped}
441
+ Verification: {Passed | Passed with override | Skipped}
442
+
443
+ ───────────────────────────────────────────────────────────────
444
+
445
+ ## ▶ Next Up
446
+
447
+ **Execute Phase {X}** — run all {N} plans
448
+
449
+ /gsd:execute-phase {X}
450
+
451
+ <sub>/clear first → fresh context window</sub>
452
+
453
+ ───────────────────────────────────────────────────────────────
454
+
455
+ **Also available:**
456
+ - cat .planning/phases/{phase-dir}/*-PLAN.md — review plans
457
+ - /gsd:plan-phase {X} --research — re-research first
458
+
459
+ ───────────────────────────────────────────────────────────────
460
+ </offer_next>
461
+
462
+ <success_criteria>
463
+ - [ ] .planning/ directory validated
464
+ - [ ] Phase validated against roadmap
465
+ - [ ] Phase directory created if needed
466
+ - [ ] Research completed (unless --skip-research or --gaps or exists)
467
+ - [ ] gsd-phase-researcher spawned if research needed
468
+ - [ ] Existing plans checked
469
+ - [ ] gsd-planner spawned with context (including RESEARCH.md if available)
470
+ - [ ] Plans created (PLANNING COMPLETE or CHECKPOINT handled)
471
+ - [ ] gsd-plan-checker spawned (unless --skip-verify)
472
+ - [ ] Verification passed OR user override OR max iterations with user decision
473
+ - [ ] User sees status between agent spawns
474
+ - [ ] User knows next steps (execute or review)
475
+ </success_criteria>