gsd-remix 1.0.2 → 1.1.0

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 (230) hide show
  1. package/README.md +13 -81
  2. package/README.zh-CN.md +13 -57
  3. package/agents/gsd-debugger.md +0 -3
  4. package/agents/gsd-executor.md +5 -11
  5. package/agents/gsd-phase-researcher.md +3 -107
  6. package/agents/gsd-plan-checker.md +0 -61
  7. package/agents/gsd-planner.md +4 -63
  8. package/agents/gsd-roadmapper.md +0 -29
  9. package/agents/gsd-security-auditor.md +62 -114
  10. package/agents/gsd-verifier.md +0 -3
  11. package/bin/install.js +20 -118
  12. package/commands/gsd/complete-milestone.md +0 -22
  13. package/commands/gsd/plan-phase.md +1 -2
  14. package/get-shit-done/bin/gsd-tools.cjs +5 -224
  15. package/get-shit-done/bin/lib/claude-md.cjs +427 -0
  16. package/get-shit-done/bin/lib/config-schema.cjs +2 -12
  17. package/get-shit-done/bin/lib/config.cjs +3 -12
  18. package/get-shit-done/bin/lib/core.cjs +4 -5
  19. package/get-shit-done/bin/lib/init.cjs +0 -163
  20. package/get-shit-done/bin/lib/model-profiles.cjs +12 -18
  21. package/get-shit-done/bin/lib/verify.cjs +0 -66
  22. package/get-shit-done/references/agent-contracts.md +0 -6
  23. package/get-shit-done/references/artifact-types.md +0 -30
  24. package/get-shit-done/references/continuation-format.md +0 -1
  25. package/get-shit-done/references/model-profiles.md +39 -37
  26. package/get-shit-done/references/planning-config.md +7 -12
  27. package/get-shit-done/references/verification-overrides.md +1 -1
  28. package/get-shit-done/templates/README.md +2 -9
  29. package/get-shit-done/templates/claude-md.md +0 -14
  30. package/get-shit-done/templates/config.json +5 -19
  31. package/get-shit-done/workflows/autonomous.md +9 -141
  32. package/get-shit-done/workflows/complete-milestone.md +3 -4
  33. package/get-shit-done/workflows/discuss-phase-assumptions.md +1 -18
  34. package/get-shit-done/workflows/discuss-phase.md +10 -104
  35. package/get-shit-done/workflows/do.md +1 -5
  36. package/get-shit-done/workflows/execute-phase.md +53 -103
  37. package/get-shit-done/workflows/execute-plan.md +4 -4
  38. package/get-shit-done/workflows/health.md +2 -5
  39. package/get-shit-done/workflows/help.md +0 -165
  40. package/get-shit-done/workflows/new-milestone.md +0 -51
  41. package/get-shit-done/workflows/new-project.md +2 -63
  42. package/get-shit-done/workflows/next.md +0 -23
  43. package/get-shit-done/workflows/pause-work.md +7 -15
  44. package/get-shit-done/workflows/plan-phase.md +20 -304
  45. package/get-shit-done/workflows/pr-branch.md +0 -1
  46. package/get-shit-done/workflows/progress.md +1 -68
  47. package/get-shit-done/workflows/quick.md +0 -3
  48. package/get-shit-done/workflows/research-phase.md +0 -1
  49. package/get-shit-done/workflows/settings.md +1 -57
  50. package/get-shit-done/workflows/transition.md +3 -86
  51. package/get-shit-done/workflows/verify-work.md +0 -64
  52. package/package.json +1 -1
  53. package/scripts/build-hooks.js +0 -2
  54. package/sdk/prompts/agents/gsd-executor.md +2 -0
  55. package/sdk/prompts/agents/gsd-plan-checker.md +0 -3
  56. package/sdk/prompts/agents/gsd-roadmapper.md +0 -29
  57. package/sdk/src/config.ts +4 -5
  58. package/sdk/src/golden/golden-integration-covered.ts +0 -2
  59. package/sdk/src/golden/golden-policy.ts +1 -1
  60. package/sdk/src/golden/golden.integration.test.ts +0 -27
  61. package/sdk/src/golden/read-only-golden-rows.ts +0 -15
  62. package/sdk/src/query/QUERY-HANDLERS.md +3 -34
  63. package/sdk/src/query/claude-md.ts +421 -0
  64. package/sdk/src/query/commit.test.ts +155 -1
  65. package/sdk/src/query/commit.ts +71 -17
  66. package/sdk/src/query/config-gates.test.ts +1 -2
  67. package/sdk/src/query/config-gates.ts +1 -5
  68. package/sdk/src/query/config-mutation.test.ts +0 -1
  69. package/sdk/src/query/config-mutation.ts +5 -6
  70. package/sdk/src/query/config-query.test.ts +2 -2
  71. package/sdk/src/query/config-query.ts +12 -18
  72. package/sdk/src/query/decomposed-handlers.test.ts +0 -64
  73. package/sdk/src/query/index.ts +4 -68
  74. package/sdk/src/query/init.test.ts +0 -64
  75. package/sdk/src/query/init.ts +0 -189
  76. package/sdk/src/query/normalize-query-command.ts +0 -2
  77. package/sdk/src/query/profile.test.ts +0 -43
  78. package/sdk/src/query/profile.ts +1 -141
  79. package/sdk/src/query/state-mutation.ts +18 -0
  80. package/sdk/src/runtime-health.ts +3 -3
  81. package/agents/gsd-ai-researcher.md +0 -133
  82. package/agents/gsd-doc-classifier.md +0 -168
  83. package/agents/gsd-doc-synthesizer.md +0 -204
  84. package/agents/gsd-doc-verifier.md +0 -217
  85. package/agents/gsd-doc-writer.md +0 -615
  86. package/agents/gsd-domain-researcher.md +0 -153
  87. package/agents/gsd-eval-auditor.md +0 -191
  88. package/agents/gsd-eval-planner.md +0 -154
  89. package/agents/gsd-framework-selector.md +0 -160
  90. package/agents/gsd-intel-updater.md +0 -334
  91. package/agents/gsd-nyquist-auditor.md +0 -203
  92. package/agents/gsd-ui-auditor.md +0 -495
  93. package/agents/gsd-ui-checker.md +0 -309
  94. package/agents/gsd-ui-researcher.md +0 -380
  95. package/agents/gsd-user-profiler.md +0 -171
  96. package/commands/gsd/ai-integration-phase.md +0 -36
  97. package/commands/gsd/analyze-dependencies.md +0 -34
  98. package/commands/gsd/audit-fix.md +0 -33
  99. package/commands/gsd/audit-milestone.md +0 -36
  100. package/commands/gsd/audit-uat.md +0 -24
  101. package/commands/gsd/docs-update.md +0 -48
  102. package/commands/gsd/eval-review.md +0 -32
  103. package/commands/gsd/explore.md +0 -27
  104. package/commands/gsd/extract_learnings.md +0 -22
  105. package/commands/gsd/forensics.md +0 -56
  106. package/commands/gsd/from-gsd2.md +0 -47
  107. package/commands/gsd/graphify.md +0 -201
  108. package/commands/gsd/import.md +0 -37
  109. package/commands/gsd/inbox.md +0 -38
  110. package/commands/gsd/ingest-docs.md +0 -42
  111. package/commands/gsd/intel.md +0 -179
  112. package/commands/gsd/join-discord.md +0 -19
  113. package/commands/gsd/list-phase-assumptions.md +0 -46
  114. package/commands/gsd/list-workspaces.md +0 -19
  115. package/commands/gsd/manager.md +0 -40
  116. package/commands/gsd/milestone-summary.md +0 -51
  117. package/commands/gsd/new-workspace.md +0 -44
  118. package/commands/gsd/plan-milestone-gaps.md +0 -34
  119. package/commands/gsd/plan-review-convergence.md +0 -52
  120. package/commands/gsd/plant-seed.md +0 -28
  121. package/commands/gsd/profile-user.md +0 -46
  122. package/commands/gsd/reapply-patches.md +0 -331
  123. package/commands/gsd/remove-workspace.md +0 -26
  124. package/commands/gsd/review.md +0 -40
  125. package/commands/gsd/scan.md +0 -26
  126. package/commands/gsd/secure-phase.md +0 -35
  127. package/commands/gsd/session-report.md +0 -19
  128. package/commands/gsd/set-profile.md +0 -12
  129. package/commands/gsd/ship.md +0 -23
  130. package/commands/gsd/sketch-wrap-up.md +0 -31
  131. package/commands/gsd/sketch.md +0 -49
  132. package/commands/gsd/spec-phase.md +0 -62
  133. package/commands/gsd/spike-wrap-up.md +0 -31
  134. package/commands/gsd/spike.md +0 -46
  135. package/commands/gsd/stats.md +0 -18
  136. package/commands/gsd/sync-skills.md +0 -19
  137. package/commands/gsd/thread.md +0 -227
  138. package/commands/gsd/ui-phase.md +0 -34
  139. package/commands/gsd/ui-review.md +0 -32
  140. package/commands/gsd/ultraplan-phase.md +0 -33
  141. package/commands/gsd/update.md +0 -37
  142. package/commands/gsd/validate-phase.md +0 -35
  143. package/commands/gsd/workstreams.md +0 -69
  144. package/get-shit-done/bin/lib/docs.cjs +0 -267
  145. package/get-shit-done/bin/lib/graphify.cjs +0 -494
  146. package/get-shit-done/bin/lib/gsd2-import.cjs +0 -511
  147. package/get-shit-done/bin/lib/intel.cjs +0 -639
  148. package/get-shit-done/bin/lib/profile-output.cjs +0 -1080
  149. package/get-shit-done/bin/lib/profile-pipeline.cjs +0 -539
  150. package/get-shit-done/bin/lib/workstream.cjs +0 -495
  151. package/get-shit-done/references/ai-evals.md +0 -156
  152. package/get-shit-done/references/ai-frameworks.md +0 -186
  153. package/get-shit-done/references/doc-conflict-engine.md +0 -91
  154. package/get-shit-done/references/model-profile-resolution.md +0 -38
  155. package/get-shit-done/references/planner-reviews.md +0 -39
  156. package/get-shit-done/references/sketch-interactivity.md +0 -41
  157. package/get-shit-done/references/sketch-theme-system.md +0 -94
  158. package/get-shit-done/references/sketch-tooling.md +0 -45
  159. package/get-shit-done/references/sketch-variant-patterns.md +0 -81
  160. package/get-shit-done/references/thinking-models-debug.md +0 -44
  161. package/get-shit-done/references/thinking-models-execution.md +0 -50
  162. package/get-shit-done/references/thinking-models-planning.md +0 -62
  163. package/get-shit-done/references/thinking-models-research.md +0 -50
  164. package/get-shit-done/references/thinking-models-verification.md +0 -55
  165. package/get-shit-done/references/thinking-partner.md +0 -96
  166. package/get-shit-done/references/user-profiling.md +0 -681
  167. package/get-shit-done/references/workstream-flag.md +0 -111
  168. package/get-shit-done/templates/AI-SPEC.md +0 -246
  169. package/get-shit-done/templates/SECURITY.md +0 -61
  170. package/get-shit-done/templates/UI-SPEC.md +0 -100
  171. package/get-shit-done/templates/VALIDATION.md +0 -76
  172. package/get-shit-done/templates/dev-preferences.md +0 -21
  173. package/get-shit-done/templates/user-profile.md +0 -146
  174. package/get-shit-done/workflows/ai-integration-phase.md +0 -284
  175. package/get-shit-done/workflows/analyze-dependencies.md +0 -96
  176. package/get-shit-done/workflows/audit-fix.md +0 -175
  177. package/get-shit-done/workflows/audit-milestone.md +0 -340
  178. package/get-shit-done/workflows/audit-uat.md +0 -109
  179. package/get-shit-done/workflows/docs-update.md +0 -1155
  180. package/get-shit-done/workflows/eval-review.md +0 -155
  181. package/get-shit-done/workflows/explore.md +0 -141
  182. package/get-shit-done/workflows/extract_learnings.md +0 -242
  183. package/get-shit-done/workflows/forensics.md +0 -265
  184. package/get-shit-done/workflows/import.md +0 -246
  185. package/get-shit-done/workflows/inbox.md +0 -387
  186. package/get-shit-done/workflows/ingest-docs.md +0 -328
  187. package/get-shit-done/workflows/list-phase-assumptions.md +0 -178
  188. package/get-shit-done/workflows/list-workspaces.md +0 -56
  189. package/get-shit-done/workflows/manager.md +0 -365
  190. package/get-shit-done/workflows/milestone-summary.md +0 -223
  191. package/get-shit-done/workflows/new-workspace.md +0 -239
  192. package/get-shit-done/workflows/plan-milestone-gaps.md +0 -273
  193. package/get-shit-done/workflows/plan-review-convergence.md +0 -254
  194. package/get-shit-done/workflows/plant-seed.md +0 -172
  195. package/get-shit-done/workflows/profile-user.md +0 -452
  196. package/get-shit-done/workflows/remove-workspace.md +0 -92
  197. package/get-shit-done/workflows/review.md +0 -344
  198. package/get-shit-done/workflows/scan.md +0 -102
  199. package/get-shit-done/workflows/secure-phase.md +0 -166
  200. package/get-shit-done/workflows/session-report.md +0 -146
  201. package/get-shit-done/workflows/ship.md +0 -302
  202. package/get-shit-done/workflows/sketch-wrap-up.md +0 -283
  203. package/get-shit-done/workflows/sketch.md +0 -286
  204. package/get-shit-done/workflows/spec-phase.md +0 -262
  205. package/get-shit-done/workflows/spike-wrap-up.md +0 -281
  206. package/get-shit-done/workflows/spike.md +0 -362
  207. package/get-shit-done/workflows/stats.md +0 -60
  208. package/get-shit-done/workflows/sync-skills.md +0 -182
  209. package/get-shit-done/workflows/ui-phase.md +0 -323
  210. package/get-shit-done/workflows/ui-review.md +0 -190
  211. package/get-shit-done/workflows/ultraplan-phase.md +0 -189
  212. package/get-shit-done/workflows/update.md +0 -587
  213. package/get-shit-done/workflows/validate-phase.md +0 -176
  214. package/hooks/dist/gsd-check-update-worker.js +0 -108
  215. package/hooks/dist/gsd-check-update.js +0 -63
  216. package/hooks/gsd-check-update-worker.js +0 -108
  217. package/hooks/gsd-check-update.js +0 -63
  218. package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +0 -3
  219. package/sdk/src/query/docs-init.ts +0 -257
  220. package/sdk/src/query/intel.test.ts +0 -90
  221. package/sdk/src/query/intel.ts +0 -404
  222. package/sdk/src/query/profile-extract-messages.ts +0 -247
  223. package/sdk/src/query/profile-output.ts +0 -908
  224. package/sdk/src/query/profile-questionnaire-data.ts +0 -181
  225. package/sdk/src/query/profile-sample.ts +0 -184
  226. package/sdk/src/query/profile-scan-sessions.ts +0 -174
  227. package/sdk/src/query/workspace.test.ts +0 -119
  228. package/sdk/src/query/workspace.ts +0 -131
  229. package/sdk/src/query/workstream.test.ts +0 -51
  230. package/sdk/src/query/workstream.ts +0 -434
@@ -134,29 +134,6 @@ gsd-remix-sdk query commit "docs: defer incomplete Phase {src} items to backlog"
134
134
  **If the user chooses "Force" (F):** Continue to `determine_next_action` without recording deferral.
135
135
  </step>
136
136
 
137
- <step name="spike_sketch_notice">
138
- Check for pending spike/sketch work and surface a notice (does not change routing):
139
-
140
- ```bash
141
- # Check for pending spikes (verdict: PENDING in any README)
142
- PENDING_SPIKES=$(grep -rl 'verdict: PENDING' .planning/spikes/*/README.md 2>/dev/null | wc -l | tr -d ' ')
143
-
144
- # Check for pending sketches (winner: null in any README)
145
- PENDING_SKETCHES=$(grep -rl 'winner: null' .planning/sketches/*/README.md 2>/dev/null | wc -l | tr -d ' ')
146
- ```
147
-
148
- If either count is > 0, display before routing:
149
- ```
150
- ⚠ Pending exploratory work:
151
- {PENDING_SPIKES} spike(s) with unresolved verdicts in .planning/spikes/
152
- {PENDING_SKETCHES} sketch(es) without a winning variant in .planning/sketches/
153
-
154
- Resume with `/gsd-spike` or `/gsd-sketch`, or continue with phase work below.
155
- ```
156
-
157
- Only show lines for non-zero counts. If both are 0, skip this notice entirely.
158
- </step>
159
-
160
137
  <step name="determine_next_action">
161
138
  Apply routing rules based on state:
162
139
 
@@ -17,21 +17,13 @@ Determine what kind of work is being paused and set the handoff destination acco
17
17
  # Check for active phase
18
18
  phase=$(( ls -lt .planning/phases/*/PLAN.md 2>/dev/null || true ) | head -1 | grep -oP 'phases/\K[^/]+' || true)
19
19
 
20
- # Check for active spike
21
- spike=$(( ls -lt .planning/spikes/*/SPIKE.md .planning/spikes/*/DESIGN.md .planning/spikes/*/README.md 2>/dev/null || true ) | head -1 | grep -oP 'spikes/\K[^/]+' || true)
22
-
23
- # Check for active sketch
24
- sketch=$(( ls -lt .planning/sketches/*/README.md .planning/sketches/*/index.html 2>/dev/null || true ) | head -1 | grep -oP 'sketches/\K[^/]+' || true)
25
-
26
20
  # Check for active deliberation
27
21
  deliberation=$(ls .planning/deliberations/*.md 2>/dev/null | head -1 || true)
28
22
  ```
29
23
 
30
24
  - **Phase work**: active phase directory → handoff to `.planning/phases/XX-name/.continue-here.md`
31
- - **Spike work**: active spike directory or spike-related files (no active phase) → handoff to `.planning/spikes/SPIKE-NNN/.continue-here.md` (create directory if needed)
32
- - **Sketch work**: active sketch directory (no active phase/spike) → handoff to `.planning/sketches/.continue-here.md`
33
- - **Deliberation work**: active deliberation file (no phase/spike/sketch) → handoff to `.planning/deliberations/.continue-here.md`
34
- - **Research work**: research notes exist but no phase/spike/sketch/deliberation → handoff to `.planning/.continue-here.md`
25
+ - **Deliberation work**: active deliberation file (no active phase) → handoff to `.planning/deliberations/.continue-here.md`
26
+ - **Research work**: research notes exist but no phase/deliberation → handoff to `.planning/.continue-here.md`
35
27
  - **Default**: no detectable context → handoff to `.planning/.continue-here.md`, note the ambiguity in `<current_state>`
36
28
 
37
29
  If phase is detected, proceed with phase handoff path. Otherwise use the first matching non-phase path above.
@@ -106,11 +98,11 @@ timestamp=$(gsd-remix-sdk query current-timestamp full --raw)
106
98
  </step>
107
99
 
108
100
  <step name="write">
109
- **Write handoff to the path determined in the detect step** (e.g. `.planning/phases/XX-name/.continue-here.md`, `.planning/spikes/SPIKE-NNN/.continue-here.md`, or `.planning/.continue-here.md`):
101
+ **Write handoff to the path determined in the detect step** (e.g. `.planning/phases/XX-name/.continue-here.md` or `.planning/.continue-here.md`):
110
102
 
111
103
  ```markdown
112
104
  ---
113
- context: [phase|spike|sketch|deliberation|research|default]
105
+ context: [phase|deliberation|research|default]
114
106
  phase: XX-name
115
107
  task: 3
116
108
  total_tasks: 7
@@ -183,7 +175,7 @@ Completed Tasks:
183
175
  - [service/env]: [current state]
184
176
 
185
177
  ## Pre-Execution Critique Required
186
- <!-- Fill in ONLY if pausing between design and execution (e.g. spike design done, not yet run) -->
178
+ <!-- Fill in ONLY if pausing between design and execution (design done, not yet run) -->
187
179
  - Design artifact: [path]
188
180
  - Critique focus: [key questions the critic should probe]
189
181
  - Gate: Do NOT begin execution until critique is complete and design is revised
@@ -219,7 +211,7 @@ gsd-remix-sdk query commit "wip: [context-name] paused at [X]/[Y]" [handoff-path
219
211
 
220
212
  Current state:
221
213
 
222
- - Context: [phase|spike|deliberation|research]
214
+ - Context: [phase|deliberation|research]
223
215
  - Location: [XX-name or SPIKE-NNN]
224
216
  - Task: [X] of [Y]
225
217
  - Status: [in_progress/blocked]
@@ -234,7 +226,7 @@ To resume: /gsd-resume-work
234
226
  </process>
235
227
 
236
228
  <success_criteria>
237
- - [ ] Context detected (phase/spike/deliberation/research/default)
229
+ - [ ] Context detected (phase/deliberation/research/default)
238
230
  - [ ] .continue-here.md created at correct path for detected context
239
231
  - [ ] Required Reading, Anti-Patterns, and Infrastructure State sections filled
240
232
  - [ ] Pre-Execution Critique section filled if pausing between design and execution
@@ -36,9 +36,6 @@ if ! command -v gsd-remix-sdk &>/dev/null; then
36
36
  echo ""
37
37
  echo "Repair the bundled SDK:"
38
38
  echo " /gsd-health --runtime --repair"
39
- echo ""
40
- echo "Or refresh all runtime assets:"
41
- echo " /gsd-update"
42
39
  exit 1
43
40
  fi
44
41
 
@@ -70,17 +67,17 @@ When `TDD_MODE` is `true`, the planner agent is instructed to apply `type: tdd`
70
67
 
71
68
  When `CONTEXT_WINDOW >= 500000`, the planner prompt includes the 3 most recent prior phase CONTEXT.md and SUMMARY.md files PLUS any phases explicitly listed in the current phase's `Depends on:` field in ROADMAP.md. Explicit dependencies always load regardless of recency (e.g., Phase 7 declaring `Depends on: Phase 2` always sees Phase 2's context). Bounded recency keeps the planner's context budget focused on recent work.
72
69
 
73
- Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_enabled`, `plan_checker_enabled`, `nyquist_validation_enabled`, `commit_docs`, `text_mode`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_reviews`, `has_plans`, `plan_count`, `planning_exists`, `roadmap_exists`, `phase_req_ids`, `response_language`.
70
+ Parse JSON for: `researcher_model`, `planner_model`, `checker_model`, `research_enabled`, `plan_checker_enabled`, `commit_docs`, `text_mode`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `phase_slug`, `padded_phase`, `has_research`, `has_context`, `has_plans`, `plan_count`, `planning_exists`, `roadmap_exists`, `phase_req_ids`, `response_language`.
74
71
 
75
72
  **If `response_language` is set:** Include `response_language: {value}` in all spawned subagent prompts so any user-facing output stays in the configured language.
76
73
 
77
- **File paths (for <files_to_read> blocks):** `state_path`, `roadmap_path`, `requirements_path`, `context_path`, `research_path`, `verification_path`, `uat_path`, `reviews_path`. These are null if files don't exist.
74
+ **File paths (for <files_to_read> blocks):** `state_path`, `roadmap_path`, `requirements_path`, `context_path`, `research_path`, `verification_path`, `uat_path`. These are null if files don't exist.
78
75
 
79
76
  **If `planning_exists` is false:** Error — run `/gsd-new-project` first.
80
77
 
81
78
  ## 2. Parse and Normalize Arguments
82
79
 
83
- Extract from $ARGUMENTS: phase number (integer or decimal like `2.1`), flags (`--research`, `--skip-research`, `--gaps`, `--skip-verify`, `--skip-ui`, `--prd <filepath>`, `--reviews`, `--text`, `--bounce`, `--skip-bounce`).
80
+ Extract from $ARGUMENTS: phase number (integer or decimal like `2.1`), flags (`--research`, `--skip-research`, `--gaps`, `--skip-verify`, `--prd <filepath>`, `--text`).
84
81
 
85
82
  Set `TEXT_MODE=true` if `--text` is present in $ARGUMENTS OR `text_mode` from init JSON is `true`. When `TEXT_MODE` is active, replace every `AskUserQuestion` call with a plain-text numbered list and ask the user to type their choice number. This is required for Claude Code remote sessions (`/rc` mode) where TUI menus don't work through the Claude App.
86
83
 
@@ -95,24 +92,6 @@ mkdir -p ".planning/phases/${padded_phase}-${phase_slug}"
95
92
 
96
93
  **Existing artifacts from init:** `has_research`, `has_plans`, `plan_count`.
97
94
 
98
- ## 2.5. Validate `--reviews` Prerequisite
99
-
100
- **Skip if:** No `--reviews` flag.
101
-
102
- **If `--reviews` AND `--gaps`:** Error — cannot combine `--reviews` with `--gaps`. These are conflicting modes.
103
-
104
- **If `--reviews` AND `has_reviews` is false (no REVIEWS.md in phase dir):**
105
-
106
- Error:
107
- ```
108
- No REVIEWS.md found for Phase {N}. Run reviews first:
109
-
110
- /gsd-review --phase {N}
111
-
112
- Then re-run /gsd-plan-phase {N} --reviews
113
- ```
114
- Exit workflow.
115
-
116
95
  ## 3. Validate Phase
117
96
 
118
97
  ```bash
@@ -275,49 +254,9 @@ If "Run discuss-phase first":
275
254
  ```
276
255
  **Exit the plan-phase workflow. Do not continue.**
277
256
 
278
- ## 4.5. Check AI-SPEC
279
-
280
- **Skip if:** `ai_integration_phase_enabled` from config is false, or `--skip-ai-spec` flag provided.
281
-
282
- ```bash
283
- AI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-AI-SPEC.md 2>/dev/null | head -1)
284
- AI_PHASE_CFG=$(gsd-remix-sdk query config-get workflow.ai_integration_phase 2>/dev/null || echo "true")
285
- ```
286
-
287
- **Skip if `AI_PHASE_CFG` is `false`.**
288
-
289
- **If `AI_SPEC_FILE` is empty:** Check phase goal for AI keywords:
290
- ```bash
291
- echo "${phase_goal}" | grep -qi "agent\|llm\|rag\|chatbot\|embedding\|langchain\|llamaindex\|crewai\|langgraph\|openai\|anthropic\|vector\|eval\|ai system"
292
- ```
293
-
294
- **If AI keywords detected AND no AI-SPEC.md:**
295
- ```
296
- ◆ Note: This phase appears to involve AI system development.
297
- Consider running /gsd-ai-integration-phase {N} before planning to:
298
- - Select the right framework for your use case
299
- - Research its docs and best practices
300
- - Design an evaluation strategy
301
-
302
- Continue planning without AI-SPEC? (non-blocking — /gsd-ai-integration-phase can be run after)
303
- ```
304
-
305
- Use AskUserQuestion with options:
306
- - "Continue — plan without AI-SPEC"
307
- - "Stop — I'll run /gsd-ai-integration-phase {N} first"
308
-
309
- If "Stop": Exit with `/gsd-ai-integration-phase {N}` reminder.
310
- If "Continue": Proceed. (Non-blocking — planner will note AI-SPEC is absent.)
311
-
312
- **If `AI_SPEC_FILE` is non-empty:** Extract framework for planner context:
313
- ```bash
314
- FRAMEWORK_LINE=$(grep "Selected Framework:" "${AI_SPEC_FILE}" | head -1)
315
- ```
316
- Pass `ai_spec_path` and `framework_line` to planner in step 7 so it can reference the AI design contract.
317
-
318
257
  ## 5. Handle Research
319
258
 
320
- **Skip if:** `--gaps` flag or `--skip-research` flag or `--reviews` flag.
259
+ **Skip if:** `--gaps` flag or `--skip-research` flag.
321
260
 
322
261
  **If `has_research` is true (from init) AND no `--research` flag:** Use existing, skip to step 6.
323
262
 
@@ -413,129 +352,6 @@ Task(
413
352
  - **`## RESEARCH COMPLETE`:** Display confirmation, continue to step 6
414
353
  - **`## RESEARCH BLOCKED`:** Display blocker, offer: 1) Provide context, 2) Skip research, 3) Abort
415
354
 
416
- ## 5.5. Create Validation Strategy
417
-
418
- Skip if `nyquist_validation_enabled` is false OR `research_enabled` is false.
419
-
420
- If `research_enabled` is false and `nyquist_validation_enabled` is true: warn "Nyquist validation enabled but research disabled — VALIDATION.md cannot be created without RESEARCH.md. Plans will lack validation requirements (Dimension 8)." Continue to step 6.
421
-
422
- **But Nyquist is not applicable for this run** when all of the following are true:
423
- - `research_enabled` is false
424
- - `has_research` is false
425
- - no `--research` flag was provided
426
-
427
- In that case: **skip validation-strategy creation entirely**. Do **not** expect `RESEARCH.md` or `VALIDATION.md` for this run, and continue to Step 6.
428
-
429
- ```bash
430
- grep -l "## Validation Architecture" "${PHASE_DIR}"/*-RESEARCH.md 2>/dev/null || true
431
- ```
432
-
433
- **If found:**
434
- 1. Read template: `~/.claude/get-shit-done/templates/VALIDATION.md`
435
- 2. Write to `${PHASE_DIR}/${PADDED_PHASE}-VALIDATION.md` (use Write tool)
436
- 3. Fill frontmatter: `{N}` → phase number, `{phase-slug}` → slug, `{date}` → current date
437
- 4. Verify:
438
- ```bash
439
- test -f "${PHASE_DIR}/${PADDED_PHASE}-VALIDATION.md" && echo "VALIDATION_CREATED=true" || echo "VALIDATION_CREATED=false"
440
- ```
441
- 5. If `VALIDATION_CREATED=false`: STOP — do not proceed to Step 6
442
- 6. If `commit_docs`: `commit "docs(phase-${PHASE}): add validation strategy"`
443
-
444
- **If not found:** Warn and continue — plans may fail Dimension 8.
445
-
446
- ## 5.55. Security Threat Model Gate
447
-
448
- > Skip if `workflow.security_enforcement` is explicitly `false`. Absent = enabled.
449
-
450
- ```bash
451
- SECURITY_CFG=$(gsd-remix-sdk query config-get workflow.security_enforcement --raw 2>/dev/null || echo "true")
452
- SECURITY_ASVS=$(gsd-remix-sdk query config-get workflow.security_asvs_level --raw 2>/dev/null || echo "1")
453
- SECURITY_BLOCK=$(gsd-remix-sdk query config-get workflow.security_block_on --raw 2>/dev/null || echo "high")
454
- ```
455
-
456
- **If `SECURITY_CFG` is `false`:** Skip to step 5.6.
457
-
458
- **If `SECURITY_CFG` is `true`:** Display banner:
459
-
460
- ```
461
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
462
- GSD ► SECURITY THREAT MODEL REQUIRED (ASVS L{SECURITY_ASVS})
463
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
464
-
465
- Each PLAN.md must include a <threat_model> block.
466
- Block on: {SECURITY_BLOCK} severity threats.
467
- Opt out: set security_enforcement: false in .planning/config.json
468
- ```
469
-
470
- Continue to step 5.6. Security config is passed to the planner in step 8.
471
-
472
- ## 5.6. UI Design Contract Gate
473
-
474
- > Skip if `workflow.ui_phase` is explicitly `false` AND `workflow.ui_safety_gate` is explicitly `false` in `.planning/config.json`. If keys are absent, treat as enabled.
475
-
476
- ```bash
477
- UI_PHASE_CFG=$(gsd-remix-sdk query config-get workflow.ui_phase 2>/dev/null || echo "true")
478
- UI_GATE_CFG=$(gsd-remix-sdk query config-get workflow.ui_safety_gate 2>/dev/null || echo "true")
479
- ```
480
-
481
- **If both are `false`:** Skip to step 6.
482
-
483
- Check if phase has frontend indicators:
484
-
485
- ```bash
486
- PHASE_SECTION=$(gsd-remix-sdk query roadmap.get-phase "${PHASE}" 2>/dev/null)
487
- echo "$PHASE_SECTION" | grep -iE "UI|interface|frontend|component|layout|page|screen|view|form|dashboard|widget" > /dev/null 2>&1
488
- HAS_UI=$?
489
- ```
490
-
491
- **If `HAS_UI` is 0 (frontend indicators found):**
492
-
493
- Check for existing UI-SPEC:
494
- ```bash
495
- UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
496
- ```
497
-
498
- **If UI-SPEC.md found:** Set `UI_SPEC_PATH=$UI_SPEC_FILE`. Display: `Using UI design contract: ${UI_SPEC_PATH}`
499
-
500
- **If UI-SPEC.md missing AND `--skip-ui` flag is present in $ARGUMENTS:** Skip silently to step 6.
501
-
502
- **If UI-SPEC.md missing AND `UI_GATE_CFG` is `true`:**
503
-
504
- Read ephemeral chain flag (same field as `check.auto-mode` → `auto_chain_active`):
505
- ```bash
506
- AUTO_CHAIN=$(gsd-remix-sdk query check auto-mode --pick auto_chain_active 2>/dev/null || echo "false")
507
- ```
508
-
509
- **If `AUTO_CHAIN` is `true` (running inside a `--chain` or `--auto` pipeline):**
510
-
511
- Auto-generate UI-SPEC without prompting:
512
- ```
513
- Skill(skill="gsd-ui-phase", args="${PHASE} --auto ${GSD_WS}")
514
- ```
515
- After `gsd-ui-phase` returns, re-read:
516
- ```bash
517
- UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
518
- UI_SPEC_PATH="${UI_SPEC_FILE}"
519
- ```
520
- Continue to step 6.
521
-
522
- **If `AUTO_CHAIN` is `false` (manual invocation):**
523
-
524
- Output this markdown directly (not as a code block):
525
-
526
- ```
527
- ## ⚠ UI-SPEC.md missing for Phase {N}
528
- ▶ Recommended next step:
529
- `/gsd-ui-phase {N} ${GSD_WS}` — generate UI design contract before planning
530
- ───────────────────────────────────────────────
531
- Also available:
532
- - `/gsd-plan-phase {N} --skip-ui ${GSD_WS}` — plan without UI-SPEC (not recommended for frontend phases)
533
- ```
534
-
535
- **Exit the plan-phase workflow. Do not continue.**
536
-
537
- **If `HAS_UI` is 1 (no frontend indicators):** Skip silently to step 5.7.
538
-
539
355
  ## 5.7. Schema Push Detection Gate
540
356
 
541
357
  > Detects schema-relevant files in the phase scope and injects a mandatory `[BLOCKING]` schema push task into the plan. Prevents false-positive verification where build/types pass because TypeScript types come from config, not the live database.
@@ -604,9 +420,7 @@ Display: `Schema files detected ({SCHEMA_ORM}) — [BLOCKING] push task will be
604
420
  ls "${PHASE_DIR}"/*-PLAN.md 2>/dev/null || true
605
421
  ```
606
422
 
607
- **If exists AND `--reviews` flag:** Skip prompt go straight to replanning (the purpose of `--reviews` is to replan with review feedback).
608
-
609
- **If exists AND no `--reviews` flag:** Offer: 1) Add more plans, 2) View existing, 3) Replan from scratch.
423
+ **If exists:** Offer: 1) Add more plans, 2) View existing, 3) Replan from scratch.
610
424
 
611
425
  ## 7. Use Context Paths from INIT
612
426
 
@@ -621,37 +435,9 @@ RESEARCH_PATH=$(_gsd_field "$INIT" research_path)
621
435
  VERIFICATION_PATH=$(_gsd_field "$INIT" verification_path)
622
436
  UAT_PATH=$(_gsd_field "$INIT" uat_path)
623
437
  CONTEXT_PATH=$(_gsd_field "$INIT" context_path)
624
- REVIEWS_PATH=$(_gsd_field "$INIT" reviews_path)
625
438
  PATTERNS_PATH=$(_gsd_field "$INIT" patterns_path)
626
-
627
- # Detect spike/sketch findings skills (project-local)
628
- SPIKE_FINDINGS_PATH=$(ls ./.claude/skills/spike-findings-*/SKILL.md 2>/dev/null | head -1)
629
- SKETCH_FINDINGS_PATH=$(ls ./.claude/skills/sketch-findings-*/SKILL.md 2>/dev/null | head -1)
630
439
  ```
631
440
 
632
- ## 7.5. Verify Nyquist Artifacts
633
-
634
- Skip if `nyquist_validation_enabled` is false OR `research_enabled` is false.
635
-
636
- Also skip if all of the following are true:
637
- - `research_enabled` is false
638
- - `has_research` is false
639
- - no `--research` flag was provided
640
-
641
- In that no-research path, Nyquist artifacts are **not required** for this run.
642
-
643
- ```bash
644
- VALIDATION_EXISTS=$(ls "${PHASE_DIR}"/*-VALIDATION.md 2>/dev/null | head -1)
645
- ```
646
-
647
- If missing and Nyquist is still enabled/applicable — ask user:
648
- 1. Re-run: `/gsd-plan-phase {PHASE} --research ${GSD_WS}`
649
- 2. Disable Nyquist with the exact command:
650
- `gsd-remix-sdk query config-set workflow.nyquist_validation false`
651
- 3. Continue anyway (plans fail Dimension 8)
652
-
653
- Proceed to Step 7.8 (or Step 8 if pattern mapper is disabled) only if user selects 2 or 3.
654
-
655
441
  ## 7.8. Spawn gsd-pattern-mapper Agent (Optional)
656
442
 
657
443
  **Skip if** `workflow.pattern_mapper` is explicitly set to `false` in config.json (absent key = enabled). Also skip if no CONTEXT.md and no RESEARCH.md exist for this phase (nothing to extract file lists from).
@@ -727,7 +513,7 @@ Planner prompt:
727
513
  ```markdown
728
514
  <planning_context>
729
515
  **Phase:** {phase_number}
730
- **Mode:** {standard | gap_closure | reviews}
516
+ **Mode:** {standard | gap_closure}
731
517
 
732
518
  <files_to_read>
733
519
  - {state_path} (Project State)
@@ -738,10 +524,6 @@ Planner prompt:
738
524
  - {PATTERNS_PATH} (Pattern Map — analog files and code excerpts, if exists)
739
525
  - {verification_path} (Verification Gaps - if --gaps)
740
526
  - {uat_path} (UAT Gaps - if --gaps)
741
- - {reviews_path} (Cross-AI Review Feedback - if --reviews)
742
- - {UI_SPEC_PATH} (UI Design Contract — visual/interaction specs, if exists)
743
- - {SPIKE_FINDINGS_PATH} (Spike Findings — validated patterns, constraints, landmines from experiments, if exists)
744
- - {SKETCH_FINDINGS_PATH} (Sketch Findings — validated design decisions, CSS patterns, visual direction, if exists)
745
527
  ${CONTEXT_WINDOW >= 500000 ? `
746
528
  **Cross-phase context (1M model enrichment):**
747
529
  - CONTEXT.md files from the 3 most recent completed phases (locked decisions — maintain consistency)
@@ -952,25 +734,6 @@ Task(
952
734
  - **`## VERIFICATION PASSED`:** Display confirmation, proceed to step 13.
953
735
  - **`## ISSUES FOUND`:** Display issues, check iteration count, proceed to step 12.
954
736
 
955
- **Thinking partner for architectural tradeoffs (conditional):**
956
- If `features.thinking_partner` is enabled, scan the checker's issues for architectural tradeoff keywords
957
- ("architecture", "approach", "strategy", "pattern", "vs", "alternative"). If found:
958
-
959
- ```
960
- The plan-checker flagged an architectural decision point:
961
- {issue description}
962
-
963
- Brief analysis:
964
- - Option A: {approach_from_plan} — {pros/cons}
965
- - Option B: {alternative_approach} — {pros/cons}
966
- - Recommendation: {choice} aligned with {phase_goal}
967
-
968
- Apply this to the revision? [Yes] / [No, I'll decide]
969
- ```
970
-
971
- If yes: include the recommendation in the revision prompt. If no: proceed to revision loop as normal.
972
- If thinking_partner disabled: skip this block entirely.
973
-
974
737
  ## 12. Revision Loop (Max 3 Iterations)
975
738
 
976
739
  Track `iteration_count` (starts at 1 after initial plan + check).
@@ -1044,76 +807,31 @@ Display: `Max iterations reached. {N} issues remain:` + issue list
1044
807
 
1045
808
  Offer: 1) Force proceed, 2) Provide guidance and retry, 3) Abandon
1046
809
 
1047
- ## 12.5. Plan Bounce (Optional External Refinement)
810
+ ## 12.5. Security Design Review (Advisory)
1048
811
 
1049
- **Skip if:** `--skip-bounce` flag, `--gaps` flag, or bounce is not activated.
1050
-
1051
- **Activation:** Bounce runs when `--bounce` flag is present OR `workflow.plan_bounce` config is `true`. The `--skip-bounce` flag always wins (disables bounce even if config enables it). The `--gaps` flag also disables bounce (gap-closure mode should not modify plans externally).
1052
-
1053
- **Prerequisites:** `workflow.plan_bounce_script` must be set to a valid script path. If bounce is activated but no script is configured, display warning and skip:
1054
- ```
1055
- ⚠ Plan bounce activated but no script configured.
1056
- Set workflow.plan_bounce_script to the path of your refinement script.
1057
- Skipping bounce step.
1058
- ```
812
+ Runs after plans pass the checker, before the coverage gate. Never blocks planning flow.
1059
813
 
1060
- **Read pass count:**
814
+ **1. Config gate:**
1061
815
  ```bash
1062
- BOUNCE_PASSES=$(gsd-remix-sdk query config-get workflow.plan_bounce_passes 2>/dev/null || echo "2")
1063
- BOUNCE_SCRIPT=$(gsd-remix-sdk query config-get workflow.plan_bounce_script 2>/dev/null | jq -r '.' 2>/dev/null || true)
816
+ SECURITY_REVIEW=$(gsd-remix-sdk query config-get workflow.security_review 2>/dev/null || echo "auto")
1064
817
  ```
818
+ If `"off"`: display `Security design review skipped: workflow.security_review=off` and continue to step 13.
1065
819
 
1066
- Display banner:
1067
- ```
1068
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1069
- GSD BOUNCING PLANS (External Refinement)
1070
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
820
+ **2. Trigger decision (on the plan surface, not code):**
821
+ - `"always"` → trigger.
822
+ - `"auto"` → read the plans' objectives, tasks, and `files_modified` lists and judge whether the planned work touches: auth/authz/session design; secrets/crypto handling; new endpoints or public interfaces; user input/upload/deserialization paths; permissions/CORS/Cookie policy; outbound request patterns (SSRF surface); multi-tenant data boundaries; webhook/callback contracts; logging of sensitive data; redirects. Hint items (lean toward triggering, never auto-trigger): plans that add new dependencies, touch rate limiting/abuse protection, audit logging/admin paths, or billing/entitlement gating.
823
+ - **If not triggered:** display one line — `Security design review skipped: {short reason}` — and continue to step 13.
1071
824
 
1072
- Script: ${BOUNCE_SCRIPT}
1073
- Max passes: ${BOUNCE_PASSES}
1074
- ```
1075
-
1076
- **For each PLAN.md file in the phase directory:**
825
+ **3. Invoke (company skill first, inline fallback second):**
1077
826
 
1078
- 1. **Backup:** Copy `*-PLAN.md` to `*-PLAN.pre-bounce.md`
1079
- ```bash
1080
- cp "${PLAN_FILE}" "${PLAN_FILE%.md}.pre-bounce.md"
827
+ Try the company skill via try-invoke-and-catch (no filesystem probing):
1081
828
  ```
1082
-
1083
- 2. **Invoke bounce script:**
1084
- ```bash
1085
- "${BOUNCE_SCRIPT}" "${PLAN_FILE}" "${BOUNCE_PASSES}"
1086
- ```
1087
-
1088
- 3. **Validate bounced plan — YAML frontmatter integrity:**
1089
- After the script returns, check that the bounced file still has valid YAML frontmatter (opening and closing `---` delimiters with parseable content between them). If the bounced plan breaks YAML frontmatter validation, restore the original from the pre-bounce.md backup and continue to the next plan:
1090
- ```
1091
- ⚠ Bounced plan ${PLAN_FILE} has broken YAML frontmatter — restoring original from pre-bounce backup.
1092
- ```
1093
-
1094
- 4. **Handle script failure:** If the bounce script exits non-zero, restore the original plan from the pre-bounce.md backup and continue to the next plan:
1095
- ```
1096
- ⚠ Bounce script failed for ${PLAN_FILE} (exit code ${EXIT_CODE}) — restoring original from pre-bounce backup.
1097
- ```
1098
-
1099
- **After all plans are bounced:**
1100
-
1101
- 5. **Re-run plan checker on bounced plans:** Spawn gsd-plan-checker (same as step 10) on all modified plans. If a bounced plan fails the checker, restore original from its pre-bounce.md backup:
1102
- ```
1103
- ⚠ Bounced plan ${PLAN_FILE} failed checker validation — restoring original from pre-bounce backup.
1104
- ```
1105
-
1106
- 6. **Commit surviving bounced plans:** If at least one plan survived both the frontmatter validation and the checker re-run, commit the changes:
1107
- ```bash
1108
- gsd-remix-sdk query commit "refactor(${padded_phase}): bounce plans through external refinement" "${PHASE_DIR}/*-PLAN.md"
829
+ Skill(skill="security-design-review", args="{PHASE_DIR} plan files")
1109
830
  ```
1110
831
 
1111
- Display summary:
1112
- ```
1113
- Plan bounce complete: {survived}/{total} plans refined
1114
- ```
832
+ If the Skill invocation fails or the skill does not exist, perform a brief inline design pass yourself: for each triggered signal, note in one or two sentences what the plan should specify (e.g., "new endpoint POST /webhooks — plan does not state signature verification; add to task acceptance"). Present the notes to the user as advisory output.
1115
833
 
1116
- **Clean up:** Remove all `*-PLAN.pre-bounce.md` backup files after the bounce step completes (whether plans survived or were restored).
834
+ **4.** Regardless of outcome or errors, continue to step 13.
1117
835
 
1118
836
  ## 13. Requirements Coverage Gate
1119
837
 
@@ -1302,8 +1020,6 @@ Verification: {Passed | Passed with override | Skipped}
1302
1020
  **Also available:**
1303
1021
  - cat .planning/phases/{phase-dir}/*-PLAN.md — review plans
1304
1022
  - /gsd-plan-phase {X} --research — re-research first
1305
- - /gsd-review --phase {X} --all — peer review plans with external AIs
1306
- - /gsd-plan-phase {X} --reviews — replan incorporating review feedback
1307
1023
 
1308
1024
  ───────────────────────────────────────────────────────────────
1309
1025
  </offer_next>
@@ -142,7 +142,6 @@ Next steps:
142
142
  git push origin {PR_BRANCH}
143
143
  gh pr create --base {TARGET} --head {PR_BRANCH}
144
144
 
145
- Or use /gsd-ship to create the PR automatically.
146
145
  ```
147
146
  </step>
148
147
 
@@ -185,7 +185,6 @@ Track: `outstanding_debt` — `summary.total_items` from the audit.
185
185
  | {phase} | {filename} | {pending_count} pending, {skipped_count} skipped, {blocked_count} blocked |
186
186
  | {phase} | {filename} | human_needed — {count} items |
187
187
 
188
- Review: `/gsd-audit-uat ${GSD_WS}` — full cross-phase audit
189
188
  Resume testing: `/gsd-verify-work {phase} ${GSD_WS}` — retest specific phase
190
189
  ```
191
190
 
@@ -228,13 +227,6 @@ Read its `<objective>` section.
228
227
 
229
228
  Check if `{phase_num}-CONTEXT.md` exists in phase directory.
230
229
 
231
- Check if current phase has UI indicators:
232
-
233
- ```bash
234
- PHASE_SECTION=$(gsd-remix-sdk query roadmap.get-phase "${CURRENT_PHASE}" 2>/dev/null)
235
- PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
236
- ```
237
-
238
230
  **If CONTEXT.md exists:**
239
231
 
240
232
  ```
@@ -252,30 +244,7 @@ PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" ||
252
244
  ---
253
245
  ```
254
246
 
255
- **If CONTEXT.md does NOT exist AND phase has UI (`PHASE_HAS_UI` is `true`):**
256
-
257
- ```
258
- ---
259
-
260
- ## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
261
-
262
- **Phase {N}: {Name}** — {Goal from ROADMAP.md}
263
-
264
- `/clear` then:
265
-
266
- `/gsd-discuss-phase {phase}` — gather context and clarify approach
267
-
268
- ---
269
-
270
- **Also available:**
271
- - `/gsd-ui-phase {phase}` — generate UI design contract (recommended for frontend phases)
272
- - `/gsd-plan-phase {phase}` — skip discussion, plan directly
273
- - `/gsd-list-phase-assumptions {phase}` — see Claude's assumptions
274
-
275
- ---
276
- ```
277
-
278
- **If CONTEXT.md does NOT exist AND phase has no UI:**
247
+ **If CONTEXT.md does NOT exist:**
279
248
 
280
249
  ```
281
250
  ---
@@ -292,7 +261,6 @@ PHASE_HAS_UI=$(echo "$PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" ||
292
261
 
293
262
  **Also available:**
294
263
  - `/gsd-plan-phase {phase} ${GSD_WS}` — skip discussion, plan directly
295
- - `/gsd-list-phase-assumptions {phase} ${GSD_WS}` — see Claude's assumptions
296
264
 
297
265
  ---
298
266
  ```
@@ -343,7 +311,6 @@ UAT.md exists with `status: partial` — testing session ended before all items
343
311
  ---
344
312
 
345
313
  **Also available:**
346
- - `/gsd-audit-uat ${GSD_WS}` — full cross-phase UAT audit
347
314
  - `/gsd-execute-phase {phase} ${GSD_WS}` — execute phase plans
348
315
 
349
316
  ---
@@ -374,40 +341,6 @@ State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
374
341
 
375
342
  Read ROADMAP.md to get the next phase's name and goal.
376
343
 
377
- Check if next phase has UI indicators:
378
-
379
- ```bash
380
- NEXT_PHASE_SECTION=$(gsd-remix-sdk query roadmap.get-phase "$((Z+1))" 2>/dev/null)
381
- NEXT_HAS_UI=$(echo "$NEXT_PHASE_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
382
- ```
383
-
384
- **If next phase has UI (`NEXT_HAS_UI` is `true`):**
385
-
386
- ```
387
- ---
388
-
389
- ## ✓ Phase {Z} Complete
390
-
391
- ## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
392
-
393
- **Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
394
-
395
- `/clear` then:
396
-
397
- `/gsd-discuss-phase {Z+1}` — gather context and clarify approach
398
-
399
- ---
400
-
401
- **Also available:**
402
- - `/gsd-ui-phase {Z+1}` — generate UI design contract (recommended for frontend phases)
403
- - `/gsd-plan-phase {Z+1}` — skip discussion, plan directly
404
- - `/gsd-verify-work {Z}` — user acceptance test before continuing
405
-
406
- ---
407
- ```
408
-
409
- **If next phase has no UI:**
410
-
411
344
  ```
412
345
  ---
413
346
 
@@ -130,9 +130,6 @@ if ! command -v gsd-remix-sdk &>/dev/null; then
130
130
  echo ""
131
131
  echo "Repair the bundled SDK:"
132
132
  echo " /gsd-health --runtime --repair"
133
- echo ""
134
- echo "Or refresh all runtime assets:"
135
- echo " /gsd-update"
136
133
  exit 1
137
134
  fi
138
135
  ```
@@ -13,7 +13,6 @@ Valid GSD subagent types (use exact names — do not fall back to 'general-purpo
13
13
 
14
14
  ## Step 0: Resolve Model Profile
15
15
 
16
- @~/.claude/get-shit-done/references/model-profile-resolution.md
17
16
 
18
17
  Resolve model for:
19
18
  - `gsd-phase-researcher`