gsd-codex-cli 1.20.10 → 1.20.11

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 (33) hide show
  1. package/.codex/prompts/gsd-add-phase.md +1 -1
  2. package/.codex/prompts/gsd-add-todo.md +1 -1
  3. package/.codex/prompts/gsd-audit-milestone.md +1 -1
  4. package/.codex/prompts/gsd-check-todos.md +1 -1
  5. package/.codex/prompts/gsd-complete-milestone.md +1 -1
  6. package/.codex/prompts/gsd-debug.md +1 -1
  7. package/.codex/prompts/gsd-discuss-phase.md +1 -1
  8. package/.codex/prompts/gsd-doctor.md +20 -20
  9. package/.codex/prompts/gsd-execute-phase.md +1 -1
  10. package/.codex/prompts/gsd-help.md +1 -1
  11. package/.codex/prompts/gsd-insert-phase.md +1 -1
  12. package/.codex/prompts/gsd-list-phase-assumptions.md +1 -1
  13. package/.codex/prompts/gsd-map-codebase.md +1 -1
  14. package/.codex/prompts/gsd-new-milestone.md +16 -7
  15. package/.codex/prompts/gsd-new-project.md +1 -1
  16. package/.codex/prompts/gsd-pause-work.md +1 -1
  17. package/.codex/prompts/gsd-plan-milestone-gaps.md +1 -1
  18. package/.codex/prompts/gsd-plan-phase.md +1 -1
  19. package/.codex/prompts/gsd-progress.md +1 -1
  20. package/.codex/prompts/gsd-quick.md +1 -1
  21. package/.codex/prompts/gsd-remove-phase.md +1 -1
  22. package/.codex/prompts/gsd-research-phase.md +1 -1
  23. package/.codex/prompts/gsd-resume-work.md +1 -1
  24. package/.codex/prompts/gsd-set-profile.md +1 -1
  25. package/.codex/prompts/gsd-settings.md +1 -1
  26. package/.codex/prompts/gsd-update.md +2 -2
  27. package/.codex/prompts/gsd-verify-work.md +1 -1
  28. package/.codex/skills/get-shit-done-codex/SKILL.md +15 -15
  29. package/README.md +4 -4
  30. package/bin/install-codex.js +33 -33
  31. package/commands/gsd/new-milestone.md +4 -1
  32. package/get-shit-done/workflows/new-milestone.md +13 -3
  33. package/package.json +1 -1
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -49,5 +49,5 @@ node <gsd-tools-path> commit "message" --files ....
49
49
 
50
50
  ## Completion output
51
51
  - Summarize key artifacts created/updated.
52
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
52
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
53
53
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: `gsd-plan-phase [phase]` (Codex) / `/gsd:plan-phase [phase]` (Claude)
49
+ - Next recommended command: `/prompts:gsd-plan-phase [phase]` (Codex) / `/gsd:plan-phase [phase]` (Claude)
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -1,12 +1,12 @@
1
- ---
2
- description: Diagnose Codex+Claude GSD installation (engine, prompts, versions)
3
- argument-hint: [none]
4
- ---
5
-
6
- $ARGUMENTS
7
-
8
- ## Objective
9
- Diagnose whether this project is set up to run GSD prompts in Codex while remaining compatible with Claude workflows on the same `.planning/` milestone/phases.
1
+ ---
2
+ description: Diagnose Codex+Claude GSD installation (engine, prompts, versions)
3
+ argument-hint: [none]
4
+ ---
5
+
6
+ $ARGUMENTS
7
+
8
+ ## Objective
9
+ Diagnose whether this project is set up to run GSD prompts in Codex while remaining compatible with Claude workflows on the same `.planning/` milestone/phases.
10
10
 
11
11
  ## Compatibility
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
@@ -28,22 +28,22 @@ Run these checks and then present a compact table: `check | status | details | f
28
28
  - `.claude/get-shit-done/bin/gsd-tools.cjs` OR `.claude/get-shit-done/bin/gsd-tools.js`
29
29
  - If only `gsd-tools.test.js` exists, treat engine as missing/incomplete.
30
30
 
31
- ### Project state
32
- - `.planning/` exists (if missing, user hasn’t initialized a project).
33
-
34
- ## Update check
35
- - Best-effort only; do not fail if offline.
36
- ### Update availability (best-effort)
37
- - Latest Codex fork version (do not fail if offline):
38
- - `npm view gsd-codex-cli version`
39
- - If installed Codex fork version is known and differs from latest, surface:
31
+ ### Project state
32
+ - `.planning/` exists (if missing, user hasn’t initialized a project).
33
+
34
+ ## Update check
35
+ - Best-effort only; do not fail if offline.
36
+ ### Update availability (best-effort)
37
+ - Latest Codex fork version (do not fail if offline):
38
+ - `npm view gsd-codex-cli version`
39
+ - If installed Codex fork version is known and differs from latest, surface:
40
40
  - `Update available: {installed} -> {latest}`
41
- - Next: `gsd-update` (Codex) / `/gsd:update` (Claude) or re-run `npx gsd-codex-cli@latest`.
41
+ - Next: `/prompts:gsd-update` (Codex) / `/gsd:update` (Claude) or re-run `npx gsd-codex-cli@latest`.
42
42
 
43
43
  ## Recommended fixes (use the minimum)
44
44
  - If engine missing: `npx gsd-codex-cli@latest --path .` (or `--global`)
45
45
  - If only Claude engine exists and Codex prompts are desired in-project: `npx gsd-codex-cli@latest --path .`
46
- - If `.planning/` missing: run `gsd-new-project` (Codex) / `/gsd:new-project` (Claude)
46
+ - If `.planning/` missing: run `/prompts:gsd-new-project` (Codex) / `/gsd:new-project` (Claude)
47
47
 
48
48
  ## Completion output
49
49
  - Print the table and a single “Next recommended command”:
@@ -59,5 +59,5 @@ node <gsd-tools-path> commit "message" --files ....
59
59
 
60
60
  ## Completion output
61
61
  - Summarize key artifacts created/updated.
62
- - Next recommended command: `gsd-verify-work <phase>` (Codex) / `/gsd:verify-work <phase>` (Claude)
62
+ - Next recommended command: `/prompts:gsd-verify-work <phase>` (Codex) / `/gsd:verify-work <phase>` (Claude)
63
63
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -1,12 +1,12 @@
1
1
  ---
2
- description: Start a new milestone cycle update PROJECT.md and route to requirements
2
+ description: Start a new milestone cycle end-to-end (questioning -> requirements -> roadmap)
3
3
  argument-hint: "[milestone name, for example v1.1 Notifications]"
4
4
  ---
5
5
 
6
6
  $ARGUMENTS
7
7
 
8
8
  ## Objective
9
- Start a new milestone cycle update PROJECT.md and route to requirements
9
+ Start a new milestone cycle end-to-end (questioning -> requirements -> roadmap)
10
10
 
11
11
  ## Compatibility
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
@@ -22,6 +22,8 @@ Start a new milestone cycle — update PROJECT.md and route to requirements
22
22
  - No jq / bash-only constructs.
23
23
  - Accept natural-language command input; do not require an exact literal argument template.
24
24
  - If a required argument is still missing after extraction, ask one concise clarification question.
25
+ - If `.planning/MILESTONE-CONTEXT.md` is missing, ask options before drafting goals; do not assume milestone scope.
26
+ - Do not complete successfully unless `.planning/ROADMAP.md` exists (or explicit `ROADMAP BLOCKED` is surfaced).
25
27
 
26
28
  ## Subagent lifecycle (required)
27
29
 
@@ -36,15 +38,22 @@ Start a new milestone cycle — update PROJECT.md and route to requirements
36
38
  node <gsd-tools-path> init new-milestone --raw
37
39
 
38
40
  3. Load .claude/get-shit-done/workflows/new-milestone.md and execute it step-by-step.
39
- 4. Translate each Task(...) in workflow into:
41
+ 4. If `.planning/MILESTONE-CONTEXT.md` is absent, run an explicit options question before requirements:
42
+ - "Ship features (Recommended)"
43
+ - "Stabilize quality"
44
+ - "Platform + ops"
45
+ - "Custom scope"
46
+ Then summarize the chosen direction and ask for confirmation.
47
+ 5. Translate each Task(...) in workflow into:
40
48
  - spawn_agent with the matching role file context from .claude/agents/.
41
49
  - wait for each spawned agent and apply returned output before moving forward.
42
- 5. Preserve all gates and routing from upstream workflow.
43
- 6. Preserve commit behavior using
50
+ 6. Preserve all gates and routing from upstream workflow.
51
+ 7. Before reporting success, verify `.planning/ROADMAP.md` exists. If missing, treat as blocked and continue workflow remediation.
52
+ 8. Preserve commit behavior using
44
53
  node <gsd-tools-path> commit "message" --files ....
45
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
54
+ 9. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
46
55
 
47
56
  ## Completion output
48
57
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
58
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
59
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: `gsd-discuss-phase 1` (Codex) / `/gsd:discuss-phase 1` (Claude)
49
+ - Next recommended command: `/prompts:gsd-discuss-phase 1` (Codex) / `/gsd:discuss-phase 1` (Claude)
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: `gsd-execute-phase [phase]` (Codex) / `/gsd:execute-phase [phase]` (Claude)
49
+ - Next recommended command: `/prompts:gsd-execute-phase [phase]` (Codex) / `/gsd:execute-phase [phase]` (Claude)
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -34,7 +34,7 @@ Update GSD to latest version with changelog display
34
34
  - Best-effort only; do not fail if offline.
35
35
  - Check installed Codex fork version from `.codex/gsd/VERSION` (or `~/.codex/gsd/VERSION`).
36
36
  - Check latest published version with `npm view gsd-codex-cli version`.
37
- - If versions differ, surface: "Update available: <installed> -> <latest>. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
37
+ - If versions differ, surface: "Update available: <installed> -> <latest>. Next: /prompts:gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
38
38
 
39
39
  ## Execution
40
40
  1. No positional argument is required. Read flags from command text if present.
@@ -52,5 +52,5 @@ node <gsd-tools-path> commit "message" --files ....
52
52
 
53
53
  ## Completion output
54
54
  - Summarize key artifacts created/updated.
55
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
55
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
56
56
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -46,5 +46,5 @@ node <gsd-tools-path> commit "message" --files ....
46
46
 
47
47
  ## Completion output
48
48
  - Summarize key artifacts created/updated.
49
- - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
49
+ - Next recommended command: use the next user-facing GSD command (`/prompts:gsd-...` for Codex + `/gsd:...` for Claude).
50
50
  - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -14,27 +14,27 @@ Use this skill to run `gsd-*` prompts under `Codex` while preserving upstream GS
14
14
  - Keep `.claude/agents/gsd-*.md` as role contracts for subagents.
15
15
  - Keep `.codex/prompts/gsd-*.md` as Codex-native orchestrators.
16
16
 
17
- ## Core rules
18
- 1. Do not change command semantics.
19
- 2. Do not change source workflow logic unless necessary for Codex command compatibility.
20
- 3. Use workspace-relative paths.
21
- 4. Preserve step ordering and gate behavior from workflow files.
22
- 5. User-facing guidance should recommend `gsd-*` prompts (Codex) and `/gsd:*` commands (Claude), not internal `node ... gsd-tools ...` plumbing.
17
+ ## Core rules
18
+ 1. Do not change command semantics.
19
+ 2. Do not change source workflow logic unless necessary for Codex command compatibility.
20
+ 3. Use workspace-relative paths.
21
+ 4. Preserve step ordering and gate behavior from workflow files.
22
+ 5. User-facing guidance should recommend `/prompts:gsd-*` prompts (Codex) and `/gsd:*` commands (Claude), not internal `node ... gsd-tools ...` plumbing.
23
23
 
24
24
  ## Mandatory codex translations
25
25
  - Replace each `Task(...)` with: `spawn_agent` + `wait`.
26
26
  - Replace Bash/JQ patterns with PowerShell and `ConvertFrom-Json`.
27
27
  - Replace AskUserQuestion interactions with direct user prompts in chat.
28
28
 
29
- ## Subagent lifecycle (required)
30
- - Spawn only when the upstream workflow explicitly defines a `Task(...)` role.
31
- - For each spawned subagent:
32
- - Start with `spawn_agent` and provide the role source from `.claude/agents/gsd-*.md`.
33
- - Do not set `agent_type` to a GSD role. Codex only accepts `default`, `explorer`, or `worker` (or omit `agent_type`).
34
- - Wait for completion before proceeding: `wait`.
35
- - Explicitly close the agent after it finishes (`close_agent`) to release resources.
36
- - Keep prompt-level sequencing intact; do not continue to subsequent steps until waiting + closure are complete.
37
- - If an agent fails or exceeds retry policy, stop that phase of workflow and surface a clear remediation step.
29
+ ## Subagent lifecycle (required)
30
+ - Spawn only when the upstream workflow explicitly defines a `Task(...)` role.
31
+ - For each spawned subagent:
32
+ - Start with `spawn_agent` and provide the role source from `.claude/agents/gsd-*.md`.
33
+ - Do not set `agent_type` to a GSD role. Codex only accepts `default`, `explorer`, or `worker` (or omit `agent_type`).
34
+ - Wait for completion before proceeding: `wait`.
35
+ - Explicitly close the agent after it finishes (`close_agent`) to release resources.
36
+ - Keep prompt-level sequencing intact; do not continue to subsequent steps until waiting + closure are complete.
37
+ - If an agent fails or exceeds retry policy, stop that phase of workflow and surface a clear remediation step.
38
38
 
39
39
  ## Required GSD roles (must map by name)
40
40
  - `gsd-project-researcher`
package/README.md CHANGED
@@ -34,11 +34,11 @@ This fork is Codex-first, but the Claude assets are kept alongside for compatibi
34
34
 
35
35
  ## Using the Prompts
36
36
 
37
- Open your project in Codex and run these prompts from the prompt list:
37
+ Open your project in Codex and run these prompt commands:
38
38
 
39
- - `gsd-new-project`
40
- - `gsd-plan-phase`
41
- - `gsd-execute-phase`
39
+ - `/prompts:gsd-new-project`
40
+ - `/prompts:gsd-plan-phase`
41
+ - `/prompts:gsd-execute-phase`
42
42
 
43
43
  All Codex prompts live in `.codex/prompts`.
44
44
 
@@ -11,18 +11,18 @@ const repoRoot = path.resolve(__dirname, '..');
11
11
  const helpText = `
12
12
  ${pkg.name} v${pkg.version}
13
13
 
14
- Usage:
15
- ${pkg.name} [--path <target-dir>] [--help]
14
+ Usage:
15
+ ${pkg.name} [--path <target-dir>] [--help]
16
16
 
17
17
  Options:
18
18
  --path <target-dir> Install into this directory (defaults to current directory)
19
19
  --global Also install .claude to your home directory (for manual sharing)
20
20
  --help, -h Show this help message
21
21
 
22
- Examples:
23
- npx gsd-codex-cli@latest --path .
24
- npx gsd-codex-cli@latest --path ./my-project
25
- `;
22
+ Examples:
23
+ npx gsd-codex-cli@latest --path .
24
+ npx gsd-codex-cli@latest --path ./my-project
25
+ `;
26
26
 
27
27
  if (args.includes('--help') || args.includes('-h')) {
28
28
  console.log(helpText);
@@ -65,27 +65,27 @@ function resolveSourceDir(repoRelative, fallbackRelative) {
65
65
  throw new Error(`Missing source directory "${repoRelative}"${fallbackMessage} in repository root ${repoRoot}`);
66
66
  }
67
67
 
68
- function copyCodexToDirectory(baseDir) {
69
- const targetCodex = path.join(baseDir, '.codex');
70
- const targetClaude = path.join(baseDir, '.claude');
71
- const sourceCodex = path.join(repoRoot, '.codex');
72
- const sourceGetShitDone = resolveSourceDir('get-shit-done', '.claude/get-shit-done');
73
- const sourceAgents = resolveSourceDir('agents', '.claude/agents');
74
- const versionDest = path.join(targetClaude, 'get-shit-done', 'VERSION');
75
- const codexVersionDest = path.join(targetCodex, 'gsd', 'VERSION');
76
-
77
- ensureDir(baseDir);
78
- ensureDir(targetCodex);
79
- ensureDir(targetClaude);
80
-
81
- copyRecursive(sourceCodex, targetCodex);
82
- copyRecursive(sourceGetShitDone, path.join(targetClaude, 'get-shit-done'));
83
- copyRecursive(sourceAgents, path.join(targetClaude, 'agents'));
84
- ensureDir(path.dirname(versionDest));
85
- fs.writeFileSync(versionDest, `${pkg.version}\n`);
86
- ensureDir(path.dirname(codexVersionDest));
87
- fs.writeFileSync(codexVersionDest, `${pkg.version}\n`);
88
- }
68
+ function copyCodexToDirectory(baseDir) {
69
+ const targetCodex = path.join(baseDir, '.codex');
70
+ const targetClaude = path.join(baseDir, '.claude');
71
+ const sourceCodex = path.join(repoRoot, '.codex');
72
+ const sourceGetShitDone = resolveSourceDir('get-shit-done', '.claude/get-shit-done');
73
+ const sourceAgents = resolveSourceDir('agents', '.claude/agents');
74
+ const versionDest = path.join(targetClaude, 'get-shit-done', 'VERSION');
75
+ const codexVersionDest = path.join(targetCodex, 'gsd', 'VERSION');
76
+
77
+ ensureDir(baseDir);
78
+ ensureDir(targetCodex);
79
+ ensureDir(targetClaude);
80
+
81
+ copyRecursive(sourceCodex, targetCodex);
82
+ copyRecursive(sourceGetShitDone, path.join(targetClaude, 'get-shit-done'));
83
+ copyRecursive(sourceAgents, path.join(targetClaude, 'agents'));
84
+ ensureDir(path.dirname(versionDest));
85
+ fs.writeFileSync(versionDest, `${pkg.version}\n`);
86
+ ensureDir(path.dirname(codexVersionDest));
87
+ fs.writeFileSync(codexVersionDest, `${pkg.version}\n`);
88
+ }
89
89
 
90
90
  copyCodexToDirectory(targetDir);
91
91
 
@@ -95,13 +95,13 @@ if (installGlobal) {
95
95
  copyCodexToDirectory(globalBase);
96
96
  }
97
97
 
98
- console.log(`\n${pkg.name}@${pkg.version} installed to:`);
98
+ console.log(`\n${pkg.name}@${pkg.version} installed to:`);
99
99
  console.log(` local: ${targetDir}`);
100
100
  if (installGlobal) {
101
101
  console.log(' global: ~/.codex');
102
102
  }
103
- console.log('\nNext steps:');
104
- console.log(' 1) Open your project in Codex');
105
- console.log(' 2) Run prompt gsd-new-project, then gsd-discuss-phase, gsd-plan-phase, gsd-execute-phase');
106
- console.log(' 3) If something looks off, run prompt gsd-doctor');
107
- console.log(' 4) Use .codex/prompts/* for all GSD commands in this fork');
103
+ console.log('\nNext steps:');
104
+ console.log(' 1) Open your project in Codex');
105
+ console.log(' 2) Run /prompts:gsd-new-project, then /prompts:gsd-discuss-phase, /prompts:gsd-plan-phase, /prompts:gsd-execute-phase');
106
+ console.log(' 3) If something looks off, run /prompts:gsd-doctor');
107
+ console.log(' 4) Use .codex/prompts/* for all GSD commands in this fork');
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gsd:new-milestone
3
- description: Start a new milestone cycle update PROJECT.md and route to requirements
3
+ description: Start a new milestone cycle end-to-end (questioning -> requirements -> roadmap)
4
4
  argument-hint: "[milestone name, e.g., 'v1.1 Notifications']"
5
5
  allowed-tools:
6
6
  - Read
@@ -48,4 +48,7 @@ Milestone name: $ARGUMENTS (optional - will prompt if not provided)
48
48
  <process>
49
49
  Execute the new-milestone workflow from @~/.claude/get-shit-done/workflows/new-milestone.md end-to-end.
50
50
  Preserve all workflow gates (validation, questioning, research, requirements, roadmap approval, commits).
51
+ Hard gates:
52
+ - If `.planning/MILESTONE-CONTEXT.md` is missing, present milestone direction options and capture user confirmation before defining requirements.
53
+ - Do not finish successfully unless `.planning/ROADMAP.md` exists (or explicit blocked reason is reported).
51
54
  </process>
@@ -26,9 +26,15 @@ Read all files referenced by the invoking prompt's execution_context before star
26
26
  - Present summary for confirmation
27
27
 
28
28
  **If no context file:**
29
- - Present what shipped in last milestone
30
- - Ask: "What do you want to build next?"
31
- - Use AskUserQuestion to explore features, priorities, constraints, scope
29
+ - Present what shipped in last milestone plus pending todos/blockers.
30
+ - Run an explicit AskUserQuestion with milestone direction options before drafting scope:
31
+ - "Ship features (Recommended)" Build the next user-facing capability set
32
+ - "Stabilize quality" — Focus on bug fixes, reliability, and hardening
33
+ - "Platform + ops" — Improve architecture, performance, tooling, and observability
34
+ - "Custom scope" — User provides bespoke milestone goals
35
+ - If "Custom scope", ask one focused follow-up question and capture the goals verbatim.
36
+ - Summarize the selected direction as draft milestone goals and ask for confirm/adjust.
37
+ - Hard gate: do not continue to Step 3 until user confirms goals.
32
38
 
33
39
  ## 3. Determine Milestone Version
34
40
 
@@ -319,6 +325,9 @@ Success criteria:
319
325
  **If "Adjust":** Get notes, re-spawn roadmapper with revision context, loop until approved.
320
326
  **If "Review":** Display raw ROADMAP.md, re-ask.
321
327
 
328
+ **Hard gate before completion:** verify `.planning/ROADMAP.md` exists on disk.
329
+ - If missing, treat as `## ROADMAP BLOCKED` (agent returned success without writing file), explain the issue, and re-spawn roadmapper with explicit instruction to write `.planning/ROADMAP.md`, `.planning/STATE.md`, and REQUIREMENTS traceability updates before returning.
330
+
322
331
  **Commit roadmap** (after approval):
323
332
  ```bash
324
333
  node ~/.claude/get-shit-done/bin/gsd-tools.cjs commit "docs: create milestone v[X.Y] roadmap ([N] phases)" --files .planning/ROADMAP.md .planning/STATE.md .planning/REQUIREMENTS.md
@@ -364,6 +373,7 @@ Also: `/gsd:plan-phase [N]` — skip discussion, plan directly
364
373
  - [ ] REQUIREMENTS.md created with REQ-IDs
365
374
  - [ ] gsd-roadmapper spawned with phase numbering context
366
375
  - [ ] Roadmap files written immediately (not draft)
376
+ - [ ] `.planning/ROADMAP.md` exists on disk before Done
367
377
  - [ ] User feedback incorporated (if any)
368
378
  - [ ] ROADMAP.md phases continue from previous milestone
369
379
  - [ ] All commits made (if planning docs committed)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gsd-codex-cli",
3
- "version": "1.20.10",
3
+ "version": "1.20.11",
4
4
  "description": "Codex-native package for the get-shit-done workflow with native subagent orchestration.",
5
5
  "bin": {
6
6
  "gsd-codex-cli": "bin/install-codex.js",