@undeemed/get-shit-done-codex 1.20.2 → 1.20.3

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 (99) hide show
  1. package/README.md +18 -4
  2. package/agents/gsd-codebase-mapper.md +2 -2
  3. package/agents/gsd-debugger.md +3 -3
  4. package/agents/gsd-executor.md +11 -11
  5. package/agents/gsd-phase-researcher.md +10 -10
  6. package/agents/gsd-plan-checker.md +7 -7
  7. package/agents/gsd-planner.md +26 -26
  8. package/agents/gsd-project-researcher.md +2 -2
  9. package/agents/gsd-research-synthesizer.md +3 -3
  10. package/agents/gsd-roadmapper.md +5 -5
  11. package/agents/gsd-verifier.md +8 -8
  12. package/bin/install.js +6 -6
  13. package/commands/gsd/add-phase.md +2 -2
  14. package/commands/gsd/add-todo.md +2 -2
  15. package/commands/gsd/audit-milestone.md +2 -2
  16. package/commands/gsd/check-todos.md +2 -2
  17. package/commands/gsd/cleanup.md +2 -2
  18. package/commands/gsd/complete-milestone.md +2 -2
  19. package/commands/gsd/debug.md +2 -2
  20. package/commands/gsd/discuss-phase.md +3 -3
  21. package/commands/gsd/execute-phase.md +3 -3
  22. package/commands/gsd/health.md +2 -2
  23. package/commands/gsd/help.md +2 -2
  24. package/commands/gsd/insert-phase.md +2 -2
  25. package/commands/gsd/list-phase-assumptions.md +4 -4
  26. package/commands/gsd/map-codebase.md +1 -1
  27. package/commands/gsd/new-milestone.md +6 -6
  28. package/commands/gsd/new-project.md +6 -6
  29. package/commands/gsd/new-project.md.bak +13 -13
  30. package/commands/gsd/pause-work.md +2 -2
  31. package/commands/gsd/plan-milestone-gaps.md +2 -2
  32. package/commands/gsd/plan-phase.md +3 -3
  33. package/commands/gsd/progress.md +2 -2
  34. package/commands/gsd/quick.md +2 -2
  35. package/commands/gsd/reapply-patches.md +2 -2
  36. package/commands/gsd/remove-phase.md +2 -2
  37. package/commands/gsd/research-phase.md +6 -6
  38. package/commands/gsd/resume-work.md +2 -2
  39. package/commands/gsd/set-profile.md +3 -3
  40. package/commands/gsd/settings.md +2 -2
  41. package/commands/gsd/update.md +2 -2
  42. package/commands/gsd/verify-work.md +4 -4
  43. package/get-shit-done/bin/gsd-tools.cjs +1 -1
  44. package/get-shit-done/references/checkpoints.md +35 -35
  45. package/get-shit-done/references/decimal-phase-calculation.md +4 -4
  46. package/get-shit-done/references/git-integration.md +7 -7
  47. package/get-shit-done/references/git-planning-commit.md +2 -2
  48. package/get-shit-done/references/model-profile-resolution.md +1 -1
  49. package/get-shit-done/references/model-profiles.md +2 -2
  50. package/get-shit-done/references/phase-argument-parsing.md +3 -3
  51. package/get-shit-done/references/planning-config.md +6 -6
  52. package/get-shit-done/references/questioning.md +1 -1
  53. package/get-shit-done/references/verification-patterns.md +2 -2
  54. package/get-shit-done/templates/DEBUG.md +4 -4
  55. package/get-shit-done/templates/codebase/architecture.md +1 -1
  56. package/get-shit-done/templates/codebase/concerns.md +1 -1
  57. package/get-shit-done/templates/codebase/conventions.md +1 -1
  58. package/get-shit-done/templates/codebase/structure.md +6 -6
  59. package/get-shit-done/templates/context.md +5 -5
  60. package/get-shit-done/templates/continue-here.md +1 -1
  61. package/get-shit-done/templates/phase-prompt.md +18 -18
  62. package/get-shit-done/templates/project.md +1 -1
  63. package/get-shit-done/templates/research.md +4 -4
  64. package/get-shit-done/templates/state.md +1 -1
  65. package/get-shit-done/templates/user-setup.md +8 -8
  66. package/get-shit-done/templates/verification-report.md +2 -2
  67. package/get-shit-done/workflows/add-phase.md +2 -2
  68. package/get-shit-done/workflows/add-todo.md +5 -5
  69. package/get-shit-done/workflows/audit-milestone.md +4 -4
  70. package/get-shit-done/workflows/check-todos.md +2 -2
  71. package/get-shit-done/workflows/cleanup.md +1 -1
  72. package/get-shit-done/workflows/complete-milestone.md +5 -5
  73. package/get-shit-done/workflows/diagnose-issues.md +1 -1
  74. package/get-shit-done/workflows/discovery-phase.md +6 -6
  75. package/get-shit-done/workflows/discuss-phase.md +11 -11
  76. package/get-shit-done/workflows/execute-phase.md +14 -14
  77. package/get-shit-done/workflows/execute-plan.md +17 -17
  78. package/get-shit-done/workflows/health.md +2 -2
  79. package/get-shit-done/workflows/help.md +4 -4
  80. package/get-shit-done/workflows/insert-phase.md +2 -2
  81. package/get-shit-done/workflows/list-phase-assumptions.md +7 -7
  82. package/get-shit-done/workflows/map-codebase.md +4 -4
  83. package/get-shit-done/workflows/new-milestone.md +8 -8
  84. package/get-shit-done/workflows/new-project.md +15 -15
  85. package/get-shit-done/workflows/pause-work.md +3 -3
  86. package/get-shit-done/workflows/plan-milestone-gaps.md +2 -2
  87. package/get-shit-done/workflows/plan-phase.md +12 -12
  88. package/get-shit-done/workflows/progress.md +5 -5
  89. package/get-shit-done/workflows/quick.md +4 -4
  90. package/get-shit-done/workflows/remove-phase.md +4 -4
  91. package/get-shit-done/workflows/research-phase.md +4 -4
  92. package/get-shit-done/workflows/resume-project.md +2 -2
  93. package/get-shit-done/workflows/set-profile.md +3 -3
  94. package/get-shit-done/workflows/settings.md +2 -2
  95. package/get-shit-done/workflows/transition.md +3 -3
  96. package/get-shit-done/workflows/update.md +9 -9
  97. package/get-shit-done/workflows/verify-phase.md +9 -9
  98. package/get-shit-done/workflows/verify-work.md +6 -6
  99. package/package.json +1 -1
package/README.md CHANGED
@@ -19,7 +19,7 @@ get-shit-done-codex (GSD) solves context rot — the quality degradation that ha
19
19
  ## Installation
20
20
 
21
21
  ```bash
22
- npx @undeemed/get-shit-done-codex
22
+ npx @undeemed/get-shit-done-codex@latest
23
23
  ```
24
24
 
25
25
  You'll be prompted to install globally (`~/.codex/`) or locally (`./`).
@@ -45,6 +45,20 @@ npx @undeemed/get-shit-done-codex@latest --global
45
45
 
46
46
  The installer now writes a `get-shit-done/VERSION` file so `/prompts:gsd-update` can detect installed vs latest and show changelog before updating.
47
47
 
48
+ ## npm Trusted Publisher (OIDC)
49
+
50
+ This repo includes a GitHub Actions publish workflow at:
51
+
52
+ - `.github/workflows/publish.yml`
53
+
54
+ When setting up npm Trusted Publisher for this package, use:
55
+
56
+ - **Publisher:** `GitHub Actions`
57
+ - **Organization or user:** `undeemed`
58
+ - **Repository:** `get-shit-done-codex`
59
+ - **Workflow filename:** `publish.yml`
60
+ - **Environment name:** leave blank (unless you later bind this workflow to a specific GitHub Environment)
61
+
48
62
  ## Quick Start
49
63
 
50
64
  ```bash
@@ -184,10 +198,10 @@ The original repository contains:
184
198
  - Best practices and examples
185
199
  - Architecture and design principles
186
200
 
187
- **Note:** The original README is written for Claude Code. When following it, remember that this fork uses:
201
+ **Note:** The original README is written for Codex CLI. When following it, remember that this fork uses:
188
202
  - `/prompts:gsd-*` command format (instead of `/gsd:*`)
189
- - Codex CLI (instead of Claude Code)
190
- - `~/.codex/` directory (instead of `~/.claude/`)
203
+ - Codex CLI (instead of Codex CLI)
204
+ - `~/.codex/` directory (instead of `~/.codex/`)
191
205
 
192
206
  ## Credits
193
207
 
@@ -55,13 +55,13 @@ Your job: Explore thoroughly, then write document(s) directly. Return confirmati
55
55
  Include enough detail to be useful as reference. A 200-line TESTING.md with real patterns is more valuable than a 74-line summary.
56
56
 
57
57
  **Always include file paths:**
58
- Vague descriptions like "UserService handles users" are not actionable. Always include actual file paths formatted with backticks: `src/services/user.ts`. This allows Claude to navigate directly to relevant code.
58
+ Vague descriptions like "UserService handles users" are not actionable. Always include actual file paths formatted with backticks: `src/services/user.ts`. This allows Codex to navigate directly to relevant code.
59
59
 
60
60
  **Write current state only:**
61
61
  Describe only what IS, never what WAS or what you considered. No temporal language.
62
62
 
63
63
  **Be prescriptive, not descriptive:**
64
- Your documents guide future Claude instances writing code. "Use X pattern" is more useful than "X pattern is used."
64
+ Your documents guide future Codex instances writing code. "Use X pattern" is more useful than "X pattern is used."
65
65
  </philosophy>
66
66
 
67
67
  <process>
@@ -24,7 +24,7 @@ Your job: Find the root cause through hypothesis testing, maintain debug file st
24
24
 
25
25
  <philosophy>
26
26
 
27
- ## User = Reporter, Claude = Investigator
27
+ ## User = Reporter, Codex = Investigator
28
28
 
29
29
  The user knows:
30
30
  - What they expected to happen
@@ -982,7 +982,7 @@ mv .planning/debug/{slug}.md .planning/debug/resolved/
982
982
  **Check planning config using state load (commit_docs is available from the output):**
983
983
 
984
984
  ```bash
985
- INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs state load)
985
+ INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs state load)
986
986
  # commit_docs is in the JSON output
987
987
  ```
988
988
 
@@ -999,7 +999,7 @@ Root cause: {root_cause}"
999
999
 
1000
1000
  Then commit planning docs via CLI (respects `commit_docs` config automatically):
1001
1001
  ```bash
1002
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs: resolve debug {slug}" --files .planning/debug/resolved/{slug}.md
1002
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: resolve debug {slug}" --files .planning/debug/resolved/{slug}.md
1003
1003
  ```
1004
1004
 
1005
1005
  Report completion and offer next steps.
@@ -19,7 +19,7 @@ Your job: Execute the plan completely, commit each task, create SUMMARY.md, upda
19
19
  Load execution context:
20
20
 
21
21
  ```bash
22
- INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init execute-phase "${PHASE}")
22
+ INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init execute-phase "${PHASE}")
23
23
  ```
24
24
 
25
25
  Extract from init JSON: `executor_model`, `commit_docs`, `phase_dir`, `plans`, `incomplete_plans`.
@@ -175,9 +175,9 @@ Track auto-fix attempts per task. After 3 auto-fix attempts on a single task:
175
175
  Before any `checkpoint:human-verify`, ensure verification environment is ready. If plan lacks server startup before checkpoint, ADD ONE (deviation Rule 3).
176
176
 
177
177
  For full automation-first patterns, server lifecycle, CLI handling:
178
- **See @~/.claude/get-shit-done/references/checkpoints.md**
178
+ **See @~/.codex/get-shit-done/references/checkpoints.md**
179
179
 
180
- **Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets. Claude does all automation.
180
+ **Quick reference:** Users NEVER run CLI commands. Users ONLY visit URLs, click UI, evaluate visuals, provide secrets. Codex does all automation.
181
181
 
182
182
  ---
183
183
 
@@ -290,7 +290,7 @@ After all tasks complete, create `{phase}-{plan}-SUMMARY.md` at `.planning/phase
290
290
 
291
291
  **ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
292
292
 
293
- **Use template:** @~/.claude/get-shit-done/templates/summary.md
293
+ **Use template:** @~/.codex/get-shit-done/templates/summary.md
294
294
 
295
295
  **Frontmatter:** phase, plan, subsystem, tags, dependency graph (requires/provides/affects), tech-stack (added/patterns), key-files (created/modified), decisions, metrics (duration, completed date).
296
296
 
@@ -343,24 +343,24 @@ After SUMMARY.md, update STATE.md using gsd-tools:
343
343
 
344
344
  ```bash
345
345
  # Advance plan counter (handles edge cases automatically)
346
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs state advance-plan
346
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs state advance-plan
347
347
 
348
348
  # Recalculate progress bar from disk state
349
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs state update-progress
349
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs state update-progress
350
350
 
351
351
  # Record execution metrics
352
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs state record-metric \
352
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs state record-metric \
353
353
  --phase "${PHASE}" --plan "${PLAN}" --duration "${DURATION}" \
354
354
  --tasks "${TASK_COUNT}" --files "${FILE_COUNT}"
355
355
 
356
356
  # Add decisions (extract from SUMMARY.md key-decisions)
357
357
  for decision in "${DECISIONS[@]}"; do
358
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs state add-decision \
358
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs state add-decision \
359
359
  --phase "${PHASE}" --summary "${decision}"
360
360
  done
361
361
 
362
362
  # Update session info
363
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs state record-session \
363
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs state record-session \
364
364
  --stopped-at "Completed ${PHASE}-${PLAN}-PLAN.md"
365
365
  ```
366
366
 
@@ -375,13 +375,13 @@ node ~/.claude/get-shit-done/bin/gsd-tools.cjs state record-session \
375
375
 
376
376
  **For blockers found during execution:**
377
377
  ```bash
378
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs state add-blocker "Blocker description"
378
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs state add-blocker "Blocker description"
379
379
  ```
380
380
  </state_updates>
381
381
 
382
382
  <final_commit>
383
383
  ```bash
384
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md
384
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs({phase}-{plan}): complete [plan-name] plan" --files .planning/phases/XX-name/{phase}-{plan}-SUMMARY.md .planning/STATE.md
385
385
  ```
386
386
 
387
387
  Separate from per-task commits — captures execution results only.
@@ -24,7 +24,7 @@ Spawned by `/gsd:plan-phase` (integrated) or `/gsd:research-phase` (standalone).
24
24
  | Section | How You Use It |
25
25
  |---------|----------------|
26
26
  | `## Decisions` | Locked choices — research THESE, not alternatives |
27
- | `## Claude's Discretion` | Your freedom areas — research options, recommend |
27
+ | `## Codex's Discretion` | Your freedom areas — research options, recommend |
28
28
  | `## Deferred Ideas` | Out of scope — ignore completely |
29
29
 
30
30
  If CONTEXT.md exists, it constrains your research scope. Don't explore alternatives to locked decisions.
@@ -49,11 +49,11 @@ Your RESEARCH.md is consumed by `gsd-planner`:
49
49
 
50
50
  <philosophy>
51
51
 
52
- ## Claude's Training as Hypothesis
52
+ ## Codex's Training as Hypothesis
53
53
 
54
54
  Training data is 6-18 months stale. Treat pre-existing knowledge as hypothesis, not fact.
55
55
 
56
- **The trap:** Claude "knows" things confidently, but knowledge may be outdated, incomplete, or wrong.
56
+ **The trap:** Codex "knows" things confidently, but knowledge may be outdated, incomplete, or wrong.
57
57
 
58
58
  **The discipline:**
59
59
  1. **Verify before asserting** — don't state library capabilities without checking Context7 or official docs
@@ -102,7 +102,7 @@ When researching "best library for X": find what the ecosystem actually uses, do
102
102
  Check `brave_search` from init context. If `true`, use Brave Search for higher quality results:
103
103
 
104
104
  ```bash
105
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
105
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
106
106
  ```
107
107
 
108
108
  **Options:**
@@ -311,7 +311,7 @@ Orchestrator provides: phase number/name, description/goal, requirements, constr
311
311
 
312
312
  Load phase context using init command:
313
313
  ```bash
314
- INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE}")
314
+ INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE}")
315
315
  ```
316
316
 
317
317
  Extract from init JSON: `phase_dir`, `padded_phase`, `phase_number`, `commit_docs`.
@@ -326,13 +326,13 @@ cat "$phase_dir"/*-CONTEXT.md 2>/dev/null
326
326
  | Section | Constraint |
327
327
  |---------|------------|
328
328
  | **Decisions** | Locked — research THESE deeply, no alternatives |
329
- | **Claude's Discretion** | Research options, make recommendations |
329
+ | **Codex's Discretion** | Research options, make recommendations |
330
330
  | **Deferred Ideas** | Out of scope — ignore completely |
331
331
 
332
332
  **Examples:**
333
333
  - User decided "use library X" → research X deeply, don't explore alternatives
334
334
  - User decided "simple UI, no animations" → don't research animation libraries
335
- - Marked as Claude's discretion → research options and recommend
335
+ - Marked as Codex's discretion → research options and recommend
336
336
 
337
337
  ## Step 2: Identify Research Domains
338
338
 
@@ -369,8 +369,8 @@ For each domain: Context7 first → Official docs → WebSearch → Cross-verify
369
369
  ### Locked Decisions
370
370
  [Copy verbatim from CONTEXT.md ## Decisions]
371
371
 
372
- ### Claude's Discretion
373
- [Copy verbatim from CONTEXT.md ## Claude's Discretion]
372
+ ### Codex's Discretion
373
+ [Copy verbatim from CONTEXT.md ## Codex's Discretion]
374
374
 
375
375
  ### Deferred Ideas (OUT OF SCOPE)
376
376
  [Copy verbatim from CONTEXT.md ## Deferred Ideas]
@@ -384,7 +384,7 @@ Write to: `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
384
384
  ## Step 6: Commit Research (optional)
385
385
 
386
386
  ```bash
387
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): research phase domain" --files "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"
387
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): research phase domain" --files "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"
388
388
  ```
389
389
 
390
390
  ## Step 7: Return Structured Result
@@ -29,7 +29,7 @@ You are NOT the executor or verifier — you verify plans WILL work before execu
29
29
  | Section | How You Use It |
30
30
  |---------|----------------|
31
31
  | `## Decisions` | LOCKED — plans MUST implement these exactly. Flag if contradicted. |
32
- | `## Claude's Discretion` | Freedom areas — planner can choose approach, don't flag. |
32
+ | `## Codex's Discretion` | Freedom areas — planner can choose approach, don't flag. |
33
33
  | `## Deferred Ideas` | Out of scope — plans must NOT include these. Flag if present. |
34
34
 
35
35
  If CONTEXT.md exists, add verification dimension: **Context Compliance**
@@ -255,7 +255,7 @@ issue:
255
255
  **Only check if CONTEXT.md was provided in the verification context.**
256
256
 
257
257
  **Process:**
258
- 1. Parse CONTEXT.md sections: Decisions, Claude's Discretion, Deferred Ideas
258
+ 1. Parse CONTEXT.md sections: Decisions, Codex's Discretion, Deferred Ideas
259
259
  2. For each locked Decision, find implementing task(s)
260
260
  3. Verify no tasks implement Deferred Ideas (scope creep)
261
261
  4. Verify Discretion areas are handled (planner's choice is valid)
@@ -299,7 +299,7 @@ issue:
299
299
 
300
300
  Load phase operation context:
301
301
  ```bash
302
- INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE_ARG}")
302
+ INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init phase-op "${PHASE_ARG}")
303
303
  ```
304
304
 
305
305
  Extract from init JSON: `phase_dir`, `phase_number`, `has_plans`, `plan_count`.
@@ -308,7 +308,7 @@ Orchestrator provides CONTEXT.md content in the verification prompt. If provided
308
308
 
309
309
  ```bash
310
310
  ls "$phase_dir"/*-PLAN.md 2>/dev/null
311
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$phase_number"
311
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$phase_number"
312
312
  ls "$phase_dir"/*-BRIEF.md 2>/dev/null
313
313
  ```
314
314
 
@@ -321,7 +321,7 @@ Use gsd-tools to validate plan structure:
321
321
  ```bash
322
322
  for plan in "$PHASE_DIR"/*-PLAN.md; do
323
323
  echo "=== $plan ==="
324
- PLAN_STRUCTURE=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$plan")
324
+ PLAN_STRUCTURE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$plan")
325
325
  echo "$PLAN_STRUCTURE"
326
326
  done
327
327
  ```
@@ -339,7 +339,7 @@ Map errors/warnings to verification dimensions:
339
339
  Extract must_haves from each plan using gsd-tools:
340
340
 
341
341
  ```bash
342
- MUST_HAVES=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs frontmatter get "$PLAN_PATH" --field must_haves)
342
+ MUST_HAVES=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs frontmatter get "$PLAN_PATH" --field must_haves)
343
343
  ```
344
344
 
345
345
  Returns JSON: `{ truths: [...], artifacts: [...], key_links: [...] }`
@@ -382,7 +382,7 @@ For each requirement: find covering task(s), verify action is specific, flag gap
382
382
  Use gsd-tools plan-structure verification (already run in Step 2):
383
383
 
384
384
  ```bash
385
- PLAN_STRUCTURE=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
385
+ PLAN_STRUCTURE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
386
386
  ```
387
387
 
388
388
  The `tasks` array in the result shows each task's completeness:
@@ -13,7 +13,7 @@ Spawned by:
13
13
  - `/gsd:plan-phase --gaps` orchestrator (gap closure from verification failures)
14
14
  - `/gsd:plan-phase` in revision mode (updating plans based on checker feedback)
15
15
 
16
- Your job: Produce PLAN.md files that Claude executors can implement without interpretation. Plans are prompts, not documents that become prompts.
16
+ Your job: Produce PLAN.md files that Codex executors can implement without interpretation. Plans are prompts, not documents that become prompts.
17
17
 
18
18
  **Core responsibilities:**
19
19
  - **FIRST: Parse and honor user decisions from CONTEXT.md** (locked decisions are NON-NEGOTIABLE)
@@ -41,7 +41,7 @@ The orchestrator provides user decisions in `<user_decisions>` tags from `/gsd:d
41
41
  - If user deferred "search functionality" → NO search tasks allowed
42
42
  - If user deferred "dark mode" → NO dark mode tasks allowed
43
43
 
44
- 3. **Claude's Discretion (from `## Claude's Discretion`)** — Use your judgment
44
+ 3. **Codex's Discretion (from `## Codex's Discretion`)** — Use your judgment
45
45
  - Make reasonable choices and document in task actions
46
46
 
47
47
  **Self-check before returning:** For each plan, verify:
@@ -56,12 +56,12 @@ The orchestrator provides user decisions in `<user_decisions>` tags from `/gsd:d
56
56
 
57
57
  <philosophy>
58
58
 
59
- ## Solo Developer + Claude Workflow
59
+ ## Solo Developer + Codex Workflow
60
60
 
61
- Planning for ONE person (the user) and ONE implementer (Claude).
61
+ Planning for ONE person (the user) and ONE implementer (Codex).
62
62
  - No teams, stakeholders, ceremonies, coordination overhead
63
- - User = visionary/product owner, Claude = builder
64
- - Estimate effort in Claude execution time, not human dev time
63
+ - User = visionary/product owner, Codex = builder
64
+ - Estimate effort in Codex execution time, not human dev time
65
65
 
66
66
  ## Plans Are Prompts
67
67
 
@@ -73,7 +73,7 @@ PLAN.md IS the prompt (not a document that becomes one). Contains:
73
73
 
74
74
  ## Quality Degradation Curve
75
75
 
76
- | Context Usage | Quality | Claude's State |
76
+ | Context Usage | Quality | Codex's State |
77
77
  |---------------|---------|----------------|
78
78
  | 0-30% | PEAK | Thorough, comprehensive |
79
79
  | 30-50% | GOOD | Confident, solid work |
@@ -151,16 +151,16 @@ Every task has four required fields:
151
151
 
152
152
  | Type | Use For | Autonomy |
153
153
  |------|---------|----------|
154
- | `auto` | Everything Claude can do independently | Fully autonomous |
154
+ | `auto` | Everything Codex can do independently | Fully autonomous |
155
155
  | `checkpoint:human-verify` | Visual/functional verification | Pauses for user |
156
156
  | `checkpoint:decision` | Implementation choices | Pauses for user |
157
157
  | `checkpoint:human-action` | Truly unavoidable manual steps (rare) | Pauses for user |
158
158
 
159
- **Automation-first rule:** If Claude CAN do it via CLI/API, Claude MUST do it. Checkpoints verify AFTER automation, not replace it.
159
+ **Automation-first rule:** If Codex CAN do it via CLI/API, Codex MUST do it. Checkpoints verify AFTER automation, not replace it.
160
160
 
161
161
  ## Task Sizing
162
162
 
163
- Each task: **15-60 minutes** Claude execution time.
163
+ Each task: **15-60 minutes** Codex execution time.
164
164
 
165
165
  | Duration | Action |
166
166
  |----------|--------|
@@ -182,7 +182,7 @@ Each task: **15-60 minutes** Claude execution time.
182
182
  | "Handle errors" | "Wrap API calls in try/catch, return {error: string} on 4xx/5xx, show toast via sonner on client" |
183
183
  | "Set up the database" | "Add User and Project models to schema.prisma with UUID ids, email unique constraint, createdAt/updatedAt timestamps, run prisma db push" |
184
184
 
185
- **Test:** Could a different Claude instance execute without asking clarifying questions? If not, add specificity.
185
+ **Test:** Could a different Codex instance execute without asking clarifying questions? If not, add specificity.
186
186
 
187
187
  ## TDD Detection
188
188
 
@@ -207,7 +207,7 @@ For each external service, determine:
207
207
  2. **Account setup** — Does user need to create an account?
208
208
  3. **Dashboard config** — What must be configured in external UI?
209
209
 
210
- Record in `user_setup` frontmatter. Only include what Claude literally cannot do. Do NOT surface in planning output — execute-plan handles presentation.
210
+ Record in `user_setup` frontmatter. Only include what Codex literally cannot do. Do NOT surface in planning output — execute-plan handles presentation.
211
211
 
212
212
  </task_breakdown>
213
213
 
@@ -361,8 +361,8 @@ Output: [Artifacts created]
361
361
  </objective>
362
362
 
363
363
  <execution_context>
364
- @~/.claude/get-shit-done/workflows/execute-plan.md
365
- @~/.claude/get-shit-done/templates/summary.md
364
+ @~/.codex/get-shit-done/workflows/execute-plan.md
365
+ @~/.codex/get-shit-done/templates/summary.md
366
366
  </execution_context>
367
367
 
368
368
  <context>
@@ -437,7 +437,7 @@ user_setup:
437
437
  location: "Stripe Dashboard -> Developers -> Webhooks"
438
438
  ```
439
439
 
440
- Only include what Claude literally cannot do.
440
+ Only include what Codex literally cannot do.
441
441
 
442
442
  </plan_format>
443
443
 
@@ -545,13 +545,13 @@ must_haves:
545
545
  ## Checkpoint Types
546
546
 
547
547
  **checkpoint:human-verify (90% of checkpoints)**
548
- Human confirms Claude's automated work works correctly.
548
+ Human confirms Codex's automated work works correctly.
549
549
 
550
550
  Use for: Visual UI checks, interactive flows, functional verification, animation/accessibility.
551
551
 
552
552
  ```xml
553
553
  <task type="checkpoint:human-verify" gate="blocking">
554
- <what-built>[What Claude automated]</what-built>
554
+ <what-built>[What Codex automated]</what-built>
555
555
  <how-to-verify>
556
556
  [Exact steps to test - URLs, commands, expected behavior]
557
557
  </how-to-verify>
@@ -588,13 +588,13 @@ Do NOT use for: Deploying (use CLI), creating webhooks (use API), creating datab
588
588
 
589
589
  ## Authentication Gates
590
590
 
591
- When Claude tries CLI/API and gets auth error → creates checkpoint → user authenticates → Claude retries. Auth gates are created dynamically, NOT pre-planned.
591
+ When Codex tries CLI/API and gets auth error → creates checkpoint → user authenticates → Codex retries. Auth gates are created dynamically, NOT pre-planned.
592
592
 
593
593
  ## Writing Guidelines
594
594
 
595
595
  **DO:** Automate everything before checkpoint, be specific ("Visit https://myapp.vercel.app" not "check deployment"), number verification steps, state expected outcomes.
596
596
 
597
- **DON'T:** Ask human to do work Claude can automate, mix multiple verifications, place checkpoints before automation completes.
597
+ **DON'T:** Ask human to do work Codex can automate, mix multiple verifications, place checkpoints before automation completes.
598
598
 
599
599
  ## Anti-Patterns
600
600
 
@@ -605,7 +605,7 @@ When Claude tries CLI/API and gets auth error → creates checkpoint → user au
605
605
  <instructions>Visit vercel.com, import repo, click deploy...</instructions>
606
606
  </task>
607
607
  ```
608
- Why bad: Vercel has a CLI. Claude should run `vercel --yes`.
608
+ Why bad: Vercel has a CLI. Codex should run `vercel --yes`.
609
609
 
610
610
  **Bad - Too many checkpoints:**
611
611
  ```xml
@@ -794,7 +794,7 @@ Group by plan, dimension, severity.
794
794
  ### Step 6: Commit
795
795
 
796
796
  ```bash
797
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans based on checker feedback" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
797
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans based on checker feedback" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md
798
798
  ```
799
799
 
800
800
  ### Step 7: Return Revision Summary
@@ -833,7 +833,7 @@ node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "fix($PHASE): revise plans
833
833
  Load planning context:
834
834
 
835
835
  ```bash
836
- INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs init plan-phase "${PHASE}")
836
+ INIT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs init plan-phase "${PHASE}")
837
837
  ```
838
838
 
839
839
  Extract from init JSON: `planner_model`, `researcher_model`, `checker_model`, `commit_docs`, `research_enabled`, `phase_dir`, `phase_number`, `has_research`, `has_context`.
@@ -889,7 +889,7 @@ Apply discovery level protocol (see discovery_levels section).
889
889
 
890
890
  **Step 1 — Generate digest index:**
891
891
  ```bash
892
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs history-digest
892
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs history-digest
893
893
  ```
894
894
 
895
895
  **Step 2 — Select relevant phases (typically 2-4):**
@@ -1007,7 +1007,7 @@ Include all frontmatter fields.
1007
1007
  Validate each created PLAN.md using gsd-tools:
1008
1008
 
1009
1009
  ```bash
1010
- VALID=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs frontmatter validate "$PLAN_PATH" --schema plan)
1010
+ VALID=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs frontmatter validate "$PLAN_PATH" --schema plan)
1011
1011
  ```
1012
1012
 
1013
1013
  Returns JSON: `{ valid, missing, present, schema }`
@@ -1020,7 +1020,7 @@ Required plan frontmatter fields:
1020
1020
  Also validate plan structure:
1021
1021
 
1022
1022
  ```bash
1023
- STRUCTURE=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
1023
+ STRUCTURE=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify plan-structure "$PLAN_PATH")
1024
1024
  ```
1025
1025
 
1026
1026
  Returns JSON: `{ valid, errors, warnings, task_count, tasks }`
@@ -1057,7 +1057,7 @@ Plans:
1057
1057
 
1058
1058
  <step name="git_commit">
1059
1059
  ```bash
1060
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): create phase plan" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md .planning/ROADMAP.md
1060
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs($PHASE): create phase plan" --files .planning/phases/$PHASE-*/$PHASE-*-PLAN.md .planning/ROADMAP.md
1061
1061
  ```
1062
1062
  </step>
1063
1063
 
@@ -27,7 +27,7 @@ Your files feed the roadmap:
27
27
 
28
28
  ## Training Data = Hypothesis
29
29
 
30
- Claude's training is 6-18 months stale. Knowledge may be outdated, incomplete, or wrong.
30
+ Codex's training is 6-18 months stale. Knowledge may be outdated, incomplete, or wrong.
31
31
 
32
32
  **Discipline:**
33
33
  1. **Verify before asserting** — check Context7 or official docs before stating capabilities
@@ -96,7 +96,7 @@ Always include current year. Use multiple query variations. Mark WebSearch-only
96
96
  Check `brave_search` from orchestrator context. If `true`, use Brave Search for higher quality results:
97
97
 
98
98
  ```bash
99
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
99
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs websearch "your query" --limit 10
100
100
  ```
101
101
 
102
102
  **Options:**
@@ -119,7 +119,7 @@ Identify gaps that couldn't be resolved and need attention during planning.
119
119
 
120
120
  ## Step 6: Write SUMMARY.md
121
121
 
122
- Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
122
+ Use template: ~/.codex/get-shit-done/templates/research-project/SUMMARY.md
123
123
 
124
124
  Write to `.planning/research/SUMMARY.md`
125
125
 
@@ -128,7 +128,7 @@ Write to `.planning/research/SUMMARY.md`
128
128
  The 4 parallel researcher agents write files but do NOT commit. You commit everything together.
129
129
 
130
130
  ```bash
131
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs: complete project research" --files .planning/research/
131
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs commit "docs: complete project research" --files .planning/research/
132
132
  ```
133
133
 
134
134
  ## Step 8: Return Summary
@@ -139,7 +139,7 @@ Return brief confirmation with key points for the orchestrator.
139
139
 
140
140
  <output_format>
141
141
 
142
- Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
142
+ Use template: ~/.codex/get-shit-done/templates/research-project/SUMMARY.md
143
143
 
144
144
  Key sections:
145
145
  - Executive Summary (2-3 paragraphs)
@@ -38,12 +38,12 @@ Your ROADMAP.md is consumed by `/gsd:plan-phase` which uses it to:
38
38
 
39
39
  <philosophy>
40
40
 
41
- ## Solo Developer + Claude Workflow
41
+ ## Solo Developer + Codex Workflow
42
42
 
43
- You are roadmapping for ONE person (the user) and ONE implementer (Claude).
43
+ You are roadmapping for ONE person (the user) and ONE implementer (Codex).
44
44
  - No teams, stakeholders, sprints, resource allocation
45
45
  - User is the visionary/product owner
46
- - Claude is the builder
46
+ - Codex is the builder
47
47
  - Phases are buckets of work, not project management artifacts
48
48
 
49
49
  ## Anti-Enterprise
@@ -325,11 +325,11 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
325
325
  | 2. Name | 0/2 | Not started | - |
326
326
  ```
327
327
 
328
- Reference full template: `~/.claude/get-shit-done/templates/roadmap.md`
328
+ Reference full template: `~/.codex/get-shit-done/templates/roadmap.md`
329
329
 
330
330
  ## STATE.md Structure
331
331
 
332
- Use template from `~/.claude/get-shit-done/templates/state.md`.
332
+ Use template from `~/.codex/get-shit-done/templates/state.md`.
333
333
 
334
334
  Key sections:
335
335
  - Project Reference (core value, current focus)
@@ -10,7 +10,7 @@ You are a GSD phase verifier. You verify that a phase achieved its GOAL, not jus
10
10
 
11
11
  Your job: Goal-backward verification. Start from what the phase SHOULD deliver, verify it actually exists and works in the codebase.
12
12
 
13
- **Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what Claude SAID it did. You verify what ACTUALLY exists in the code. These often differ.
13
+ **Critical mindset:** Do NOT trust SUMMARY.md claims. SUMMARYs document what Codex SAID it did. You verify what ACTUALLY exists in the code. These often differ.
14
14
  </role>
15
15
 
16
16
  <core_principle>
@@ -54,7 +54,7 @@ Set `is_re_verification = false`, proceed with Step 1.
54
54
  ```bash
55
55
  ls "$PHASE_DIR"/*-PLAN.md 2>/dev/null
56
56
  ls "$PHASE_DIR"/*-SUMMARY.md 2>/dev/null
57
- node ~/.claude/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM"
57
+ node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM"
58
58
  grep -E "^| $PHASE_NUM" .planning/REQUIREMENTS.md 2>/dev/null
59
59
  ```
60
60
 
@@ -91,7 +91,7 @@ must_haves:
91
91
  If no must_haves in frontmatter, check for Success Criteria:
92
92
 
93
93
  ```bash
94
- PHASE_DATA=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM" --raw)
94
+ PHASE_DATA=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs roadmap get-phase "$PHASE_NUM" --raw)
95
95
  ```
96
96
 
97
97
  Parse the `success_criteria` array from the JSON output. If non-empty:
@@ -134,7 +134,7 @@ For each truth:
134
134
  Use gsd-tools for artifact verification against must_haves in PLAN frontmatter:
135
135
 
136
136
  ```bash
137
- ARTIFACT_RESULT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs verify artifacts "$PLAN_PATH")
137
+ ARTIFACT_RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify artifacts "$PLAN_PATH")
138
138
  ```
139
139
 
140
140
  Parse JSON result: `{ all_passed, passed, total, artifacts: [{path, exists, issues, passed}] }`
@@ -183,7 +183,7 @@ Key links are critical connections. If broken, the goal fails even with all arti
183
183
  Use gsd-tools for key link verification against must_haves in PLAN frontmatter:
184
184
 
185
185
  ```bash
186
- LINKS_RESULT=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs verify key-links "$PLAN_PATH")
186
+ LINKS_RESULT=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify key-links "$PLAN_PATH")
187
187
  ```
188
188
 
189
189
  Parse JSON result: `{ all_verified, verified, total, links: [{from, to, via, verified, detail}] }`
@@ -251,12 +251,12 @@ Identify files modified in this phase from SUMMARY.md key-files section, or extr
251
251
 
252
252
  ```bash
253
253
  # Option 1: Extract from SUMMARY frontmatter
254
- SUMMARY_FILES=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
254
+ SUMMARY_FILES=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs summary-extract "$PHASE_DIR"/*-SUMMARY.md --fields key-files)
255
255
 
256
256
  # Option 2: Verify commits exist (if commit hashes documented)
257
257
  COMMIT_HASHES=$(grep -oE "[a-f0-9]{7,40}" "$PHASE_DIR"/*-SUMMARY.md | head -10)
258
258
  if [ -n "$COMMIT_HASHES" ]; then
259
- COMMITS_VALID=$(node ~/.claude/get-shit-done/bin/gsd-tools.cjs verify commits $COMMIT_HASHES)
259
+ COMMITS_VALID=$(node ~/.codex/get-shit-done/bin/gsd-tools.cjs verify commits $COMMIT_HASHES)
260
260
  fi
261
261
 
262
262
  # Fallback: grep for files
@@ -415,7 +415,7 @@ human_verification: # Only if status: human_needed
415
415
  ---
416
416
 
417
417
  _Verified: {timestamp}_
418
- _Verifier: Claude (gsd-verifier)_
418
+ _Verifier: Codex (gsd-verifier)_
419
419
  ```
420
420
 
421
421
  ## Return to Orchestrator