gsd-codex-cli 1.20.2 → 1.20.4

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 +20 -11
  2. package/.codex/prompts/gsd-add-todo.md +20 -10
  3. package/.codex/prompts/gsd-audit-milestone.md +20 -10
  4. package/.codex/prompts/gsd-check-todos.md +20 -10
  5. package/.codex/prompts/gsd-complete-milestone.md +20 -10
  6. package/.codex/prompts/gsd-debug.md +20 -10
  7. package/.codex/prompts/gsd-discuss-phase.md +20 -10
  8. package/.codex/prompts/gsd-doctor.md +51 -0
  9. package/.codex/prompts/gsd-execute-phase.md +20 -10
  10. package/.codex/prompts/gsd-help.md +19 -9
  11. package/.codex/prompts/gsd-insert-phase.md +20 -10
  12. package/.codex/prompts/gsd-list-phase-assumptions.md +20 -10
  13. package/.codex/prompts/gsd-map-codebase.md +20 -10
  14. package/.codex/prompts/gsd-new-milestone.md +20 -10
  15. package/.codex/prompts/gsd-new-project.md +20 -10
  16. package/.codex/prompts/gsd-pause-work.md +20 -10
  17. package/.codex/prompts/gsd-plan-milestone-gaps.md +20 -10
  18. package/.codex/prompts/gsd-plan-phase.md +20 -10
  19. package/.codex/prompts/gsd-progress.md +20 -10
  20. package/.codex/prompts/gsd-quick.md +20 -10
  21. package/.codex/prompts/gsd-remove-phase.md +20 -10
  22. package/.codex/prompts/gsd-research-phase.md +20 -10
  23. package/.codex/prompts/gsd-resume-work.md +20 -10
  24. package/.codex/prompts/gsd-set-profile.md +20 -10
  25. package/.codex/prompts/gsd-settings.md +20 -10
  26. package/.codex/prompts/gsd-update.md +19 -9
  27. package/.codex/prompts/gsd-verify-work.md +20 -10
  28. package/.codex/skills/get-shit-done-codex/SKILL.md +6 -5
  29. package/README.md +88 -88
  30. package/bin/install-codex.js +8 -4
  31. package/get-shit-done/bin/gsd-tools.cjs +87 -33
  32. package/get-shit-done/bin/gsd-tools.js +29 -0
  33. package/package.json +1 -1
@@ -12,8 +12,10 @@ Analyze codebase with parallel mapper agents to produce .planning/codebase/ docu
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse "[optional: specific area to map, for example api or auth]" from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init map-codebase --raw
39
+ node $GsdTools init map-codebase --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/map-codebase.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init map-codebase --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Start a new milestone cycle — update PROJECT.md and route to requirements
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse "[milestone name, for example v1.1 Notifications]" from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init new-milestone --raw
39
+ node $GsdTools init new-milestone --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/new-milestone.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init new-milestone --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Initialize a new project with deep context gathering and PROJECT.md
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse "[--auto]" from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init new-project --raw
39
+ node $GsdTools init new-project --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/new-project.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init new-project --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: `gsd-discuss-phase 1` (Codex) / `/gsd:discuss-phase 1` (Claude)
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Create context handoff when pausing work mid-phase
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse [none] from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js state load --raw
39
+ node $GsdTools state load --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/pause-work.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js state load --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Create phases to close all gaps identified by milestone audit
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse [none] from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init milestone-op --raw
39
+ node $GsdTools init milestone-op --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/plan-milestone-gaps.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init milestone-op --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Create detailed execution plan for a phase (PLAN.md) with verification loop
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse "[phase] [--research] [--skip-research] [--gaps] [--skip-verify]" from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init plan-phase $PHASE --include state,roadmap,requirements,context,research,verification,uat --raw
39
+ node $GsdTools init plan-phase $PHASE --include state,roadmap,requirements,context,research,verification,uat --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/plan-phase.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init plan-phase $PHASE --include sta
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: `gsd-execute-phase $PHASE` (Codex) / `/gsd:execute-phase $PHASE` (Claude)
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Check project progress, show context, and route to next action
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse [none] from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init progress --include state,roadmap,project,config --raw
39
+ node $GsdTools init progress --include state,roadmap,project,config --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/progress.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init progress --include state,roadma
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Execute a quick task with GSD guarantees (atomic commits, state tracking) but sk
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse [none] from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init quick "$ARG" --raw
39
+ node $GsdTools init quick "$ARG" --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/quick.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init quick "$ARG" --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Remove a future phase from roadmap and renumber subsequent phases
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse <phase-number> from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init phase-op $ARG --raw
39
+ node $GsdTools init phase-op $ARG --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/remove-phase.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init phase-op $ARG --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Research how to implement a phase (standalone - usually use plan-phase instead)
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse "[phase]" from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init phase-op $ARG --raw
39
+ node $GsdTools init phase-op $ARG --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/research-phase.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init phase-op $ARG --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Resume work from previous session with full context restoration
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse [none] from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js init resume --raw
39
+ node $GsdTools init resume --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/resume-project.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js init resume --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.
@@ -12,8 +12,10 @@ Switch model profile for GSD agents (quality/balanced/budget)
12
12
  - Use .codex/skills/get-shit-done-codex semantics.
13
13
  - Treat upstream workflow as the source of truth.
14
14
  - Replace user-specific paths with workspace-relative paths (.claude/..., .planning/...).
15
- - Run engine commands through PowerShell:
16
- node .claude/get-shit-done/bin/gsd-tools.js ...
15
+ - Resolve gsd-tools path (prefer .cjs, fallback to .js):
16
+ $GsdTools = if (Test-Path ".claude/get-shit-done/bin/gsd-tools.cjs") { ".claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path ".claude/get-shit-done/bin/gsd-tools.js") { ".claude/get-shit-done/bin/gsd-tools.js" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs") { "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" } elseif (Test-Path "$HOME/.claude/get-shit-done/bin/gsd-tools.js") { "$HOME/.claude/get-shit-done/bin/gsd-tools.js" } else { throw "Missing gsd-tools in .claude or $HOME/.claude. Reinstall GSD." }
17
+ - Run engine commands through PowerShell:
18
+ node $GsdTools ...
17
19
  - Parse JSON with ConvertFrom-Json; parse key/value output when workflow uses KEY=value raw mode.
18
20
  - No jq / bash-only constructs.
19
21
 
@@ -23,10 +25,18 @@ node .claude/get-shit-done/bin/gsd-tools.js ...
23
25
  - Spawn only when the upstream workflow defines an agent role.
24
26
  - Use `.claude/agents/gsd-*.md` as role context for each spawned agent.
25
27
  - Do not advance workflow steps until wait and close complete.
28
+ ## Update check
29
+ - Best-effort only; do not fail if offline.
30
+ - Run:
31
+ $installed = if (Test-Path ".codex/gsd/VERSION") { (Get-Content ".codex/gsd/VERSION" -Raw).Trim() } elseif (Test-Path "$HOME/.codex/gsd/VERSION") { (Get-Content "$HOME/.codex/gsd/VERSION" -Raw).Trim() } else { $null }
32
+ $latest = $null; try { $latest = (npm view gsd-codex-cli version).Trim() } catch {}
33
+ - If $installed and $latest and $installed -ne $latest, surface:
34
+ "Update available: $installed -> $latest. Next: gsd-update (Codex) / /gsd:update (Claude) or re-run npx gsd-codex-cli@latest."
35
+
26
36
  ## Execution
27
37
  1. Parse <profile> from the user input.
28
38
  2. Run init:
29
- node .claude/get-shit-done/bin/gsd-tools.js state load --raw
39
+ node $GsdTools state load --raw
30
40
 
31
41
  3. Load .claude/get-shit-done/workflows/set-profile.md and execute it step-by-step.
32
42
  4. Translate each Task(...) in workflow into:
@@ -34,10 +44,10 @@ node .claude/get-shit-done/bin/gsd-tools.js state load --raw
34
44
  - wait for each spawned agent and apply returned output before moving forward.
35
45
  5. Preserve all gates and routing from upstream workflow.
36
46
  6. Preserve commit behavior using
37
- node .claude/get-shit-done/bin/gsd-tools.js commit "message" --files ....
38
- 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
39
-
40
- ## Completion output
41
- - Summarize key artifacts created/updated and next recommended command.
42
-
43
-
47
+ node $GsdTools commit "message" --files ....
48
+ 7. If commit preflight fails (no git / no commit flag), proceed in read-only mode and report clearly.
49
+
50
+ ## Completion output
51
+ - Summarize key artifacts created/updated.
52
+ - Next recommended command: use the next user-facing GSD command (Codex prompt name + Claude slash command).
53
+ - Never recommend internal `node ... gsd-tools ...` commands to the user.