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
@@ -43,10 +43,7 @@ Always use the exact name from this list — do not fall back to 'general-purpos
43
43
  - gsd-debugger — Diagnoses and fixes issues
44
44
  - gsd-codebase-mapper — Maps project structure and dependencies
45
45
  - gsd-integration-checker — Checks cross-phase integration
46
- - gsd-nyquist-auditor — Validates verification coverage
47
- - gsd-ui-researcher — Researches UI/UX approaches
48
- - gsd-ui-checker — Reviews UI implementation quality
49
- - gsd-ui-auditor — Audits UI against design requirements
46
+ - gsd-security-auditor — Diff-scoped security review (fallback when no company security skill)
50
47
  </available_agent_types>
51
48
 
52
49
  <process>
@@ -57,8 +54,6 @@ Parse `$ARGUMENTS` before loading any context:
57
54
  - First positional token → `PHASE_ARG`
58
55
  - Optional `--wave N` → `WAVE_FILTER`
59
56
  - Optional `--gaps-only` keeps its current meaning
60
- - Optional `--cross-ai` → `CROSS_AI_FORCE=true` (force all plans through cross-AI execution)
61
- - Optional `--no-cross-ai` → `CROSS_AI_DISABLED=true` (disable cross-AI for this run, overrides config and frontmatter)
62
57
 
63
58
  If `--wave` is absent, preserve the current behavior of executing all incomplete waves in the phase.
64
59
  </step>
@@ -72,9 +67,6 @@ if ! command -v gsd-remix-sdk &>/dev/null; then
72
67
  echo ""
73
68
  echo "Repair the bundled SDK:"
74
69
  echo " /gsd-health --runtime --repair"
75
- echo ""
76
- echo "Or refresh all runtime assets:"
77
- echo " /gsd-update"
78
70
  exit 1
79
71
  fi
80
72
 
@@ -286,77 +278,6 @@ Report:
286
278
  ```
287
279
  </step>
288
280
 
289
- <step name="cross_ai_delegation">
290
- **Optional step 2.5 — Delegate plans to an external AI runtime.**
291
-
292
- This step runs after plan discovery and before normal wave execution. It identifies plans
293
- that should be delegated to an external AI command and executes them via stdin-based prompt
294
- delivery. Plans handled here are removed from the execute_waves plan list so the normal
295
- executor skips them.
296
-
297
- **Activation logic:**
298
-
299
- 1. If `CROSS_AI_DISABLED` is true (`--no-cross-ai` flag): skip this step entirely.
300
- 2. If `CROSS_AI_FORCE` is true (`--cross-ai` flag): mark ALL incomplete plans for cross-AI execution.
301
- 3. Otherwise: check each plan's frontmatter for `cross_ai: true` AND verify config
302
- `workflow.cross_ai_execution` is `true`. Plans matching both conditions are marked for cross-AI.
303
-
304
- ```bash
305
- CROSS_AI_ENABLED=$(gsd-remix-sdk query config-get workflow.cross_ai_execution 2>/dev/null || echo "false")
306
- CROSS_AI_CMD=$(gsd-remix-sdk query config-get workflow.cross_ai_command 2>/dev/null || echo "")
307
- CROSS_AI_TIMEOUT=$(gsd-remix-sdk query config-get workflow.cross_ai_timeout 2>/dev/null || echo "300")
308
- ```
309
-
310
- **If no plans are marked for cross-AI:** Skip to execute_waves.
311
-
312
- **If plans are marked but `cross_ai_command` is empty:** Error — tell user to set
313
- `workflow.cross_ai_command` via `gsd-remix-sdk query config-set workflow.cross_ai_command "<command>"`.
314
-
315
- **For each cross-AI plan (sequentially):**
316
-
317
- 1. **Construct the task prompt** from the plan file:
318
- - Extract `<objective>` and `<tasks>` sections from the PLAN.md
319
- - Append PROJECT.md context (project name, description, tech stack)
320
- - Format as a self-contained execution prompt
321
-
322
- 2. **Check for dirty working tree before execution:**
323
- ```bash
324
- if ! git diff --quiet HEAD 2>/dev/null; then
325
- echo "WARNING: dirty working tree detected — the external AI command may produce uncommitted changes that conflict with existing modifications"
326
- fi
327
- ```
328
-
329
- 3. **Run the external command** from the project root, writing the prompt to stdin.
330
- Never shell-interpolate the prompt — always pipe via stdin to prevent injection:
331
- ```bash
332
- echo "$TASK_PROMPT" | timeout "${CROSS_AI_TIMEOUT}s" ${CROSS_AI_CMD} > "$CANDIDATE_SUMMARY" 2>"$ERROR_LOG"
333
- EXIT_CODE=$?
334
- ```
335
-
336
- 4. **Evaluate the result:**
337
-
338
- **Success (exit 0 + valid summary):**
339
- - Read `$CANDIDATE_SUMMARY` and validate it contains meaningful content
340
- (not empty, has at least a heading and description — a valid SUMMARY.md structure)
341
- - Write it as the plan's SUMMARY.md file
342
- - Update STATE.md plan status to complete
343
- - Update ROADMAP.md progress
344
- - Mark plan as handled — skip it in execute_waves
345
-
346
- **Failure (non-zero exit or invalid summary):**
347
- - Display the error output and exit code
348
- - Warn: "The external command may have left uncommitted changes or partial edits
349
- in the working tree. Review `git status` and `git diff` before proceeding."
350
- - Offer three choices:
351
- - **retry** — run the same plan through cross-AI again
352
- - **skip** — fall back to normal executor for this plan (re-add to execute_waves list)
353
- - **abort** — stop execution entirely, preserve state for resume
354
-
355
- 5. **After all cross-AI plans processed:** Remove successfully handled plans from the
356
- incomplete plan list so execute_waves skips them. Any skipped-to-fallback plans remain
357
- in the list for normal executor processing.
358
- </step>
359
-
360
281
  <step name="execute_waves">
361
282
  Execute each selected wave in sequence. Within a wave: parallel if `PARALLELIZATION=true`, sequential if `false`.
362
283
 
@@ -967,26 +888,6 @@ After all waves:
967
888
  [Aggregate from SUMMARYs, or "None"]
968
889
  ```
969
890
 
970
- **Security gate check:**
971
- ```bash
972
- SECURITY_CFG=$(gsd-remix-sdk query config-get workflow.security_enforcement --raw 2>/dev/null || echo "true")
973
- SECURITY_FILE=$(ls "${PHASE_DIR}"/*-SECURITY.md 2>/dev/null | head -1)
974
- ```
975
-
976
- If `SECURITY_CFG` is `false`: skip.
977
-
978
- If `SECURITY_CFG` is `true` AND `SECURITY_FILE` is empty (no SECURITY.md yet):
979
- Include in the next-steps routing output:
980
- ```
981
- ⚠ Security enforcement enabled — run before advancing:
982
- /gsd-secure-phase {PHASE} ${GSD_WS}
983
- ```
984
-
985
- If `SECURITY_CFG` is `true` AND SECURITY.md exists: check frontmatter `threats_open`. If > 0:
986
- ```
987
- ⚠ Security gate: {threats_open} threats open
988
- /gsd-secure-phase {PHASE} — resolve before advancing
989
- ```
990
891
  </step>
991
892
 
992
893
  <step name="tdd_review_checkpoint">
@@ -1094,7 +995,56 @@ Code review found issues. Consider running:
1094
995
 
1095
996
  **Error handling:** If the Skill invocation fails or throws, catch the error, display "Code review encountered an error (non-blocking): {error}" and proceed to next step. Review failures must never block execution.
1096
997
 
1097
- Regardless of review result, ALWAYS proceed to close_parent_artifacts → regression_gate → verify_phase_goal.
998
+ Regardless of review result, ALWAYS proceed to security_review_gate → close_parent_artifacts → regression_gate → verify_phase_goal.
999
+ </step>
1000
+
1001
+ <step name="security_review_gate" required="true">
1002
+ **Advisory security review anchored on the phase's real diff.** Never blocks execution flow.
1003
+
1004
+ **1. Config gate:**
1005
+ ```bash
1006
+ SECURITY_REVIEW=$(gsd-remix-sdk query config-get workflow.security_review 2>/dev/null || echo "auto")
1007
+ ```
1008
+
1009
+ If `SECURITY_REVIEW` is `"off"`: display `Security review skipped: workflow.security_review=off` and proceed to next step.
1010
+
1011
+ **2. Resolve changed-file scope (reuse, don't recompute):** resolution order is `--files` argument > aggregated `files_modified` from this phase's SUMMARY.md files > `git diff --name-only` against the phase's starting commit.
1012
+ ```bash
1013
+ CHANGED_FILES=$(grep -h "^- " "${PHASE_DIR}"/*-SUMMARY.md 2>/dev/null | grep -oE '[^ ]+\.[a-zA-Z]+' | sort -u)
1014
+ [ -z "$CHANGED_FILES" ] && CHANGED_FILES=$(git diff --name-only "${PHASE_START_COMMIT:-HEAD~10}" 2>/dev/null)
1015
+ ```
1016
+
1017
+ **3. Trigger decision:**
1018
+
1019
+ - If `SECURITY_REVIEW` is `"always"` → trigger. Reviewer model: **opus**.
1020
+ - If `SECURITY_REVIEW` is `"auto"`:
1021
+ - **Hard rules (no AI judgment — low-frequency files only):** trigger if any changed file matches `.env*`, `Dockerfile*`, or CI config (`.github/workflows/`, `.gitlab-ci.yml`, `Jenkinsfile`, `cloudbuild.*`, `.circleci/`). Reviewer model: **opus**.
1022
+ - **Otherwise, AI judgment:** read the changed-file list and each plan's SUMMARY (including any `## Security-Relevant Surface` section) and decide whether the change plausibly touches: auth/authz/session handling; secrets or crypto; user input, deserialization, or file upload; new network endpoints; path/SQL/command string concatenation; permissions/CORS/Cookie config; XSS or unsafe HTML rendering; SSRF (outbound requests from BFF/server); PII or credentials in logs; redirects.
1023
+ Lean toward triggering when the diff **adds a new dependency** (package.json/lockfile changes are NOT a hard rule — they are a hint). Additional hints (hint only, never auto-trigger): tenant/account/org boundary changes; webhook signature verification or callbacks; rate limiting/abuse protection; audit logging or admin-privilege paths; billing/entitlement gating.
1024
+ Reviewer model when triggered via semantic signal: **sonnet**.
1025
+ - **If not triggered:** you MUST display one line — `Security review skipped: {short reason, e.g. "docs-only diff, no security-relevant surface"}` — then proceed to next step. Silent skips are not allowed.
1026
+
1027
+ **4. Invoke review (company skill first, generic fallback second):**
1028
+
1029
+ Try the company skill via try-invoke-and-catch (do NOT probe the filesystem for skills — plugin-provided skills are not discoverable that way):
1030
+ ```
1031
+ Skill(skill="security-code-review", args="{changed file list}")
1032
+ ```
1033
+
1034
+ If the Skill invocation fails or the skill does not exist, fall back to the bundled generic reviewer:
1035
+ ```
1036
+ Task(
1037
+ subagent_type="gsd-security-auditor",
1038
+ model="{opus for hard-rule/always triggers, sonnet for auto semantic triggers}",
1039
+ prompt="<changed_files>{list}</changed_files>
1040
+ <diff>run: git diff {phase start ref} -- {changed files}</diff>
1041
+ <trigger_reason>{hard rule | semantic signal | always}</trigger_reason>
1042
+ <summary_surface>{## Security-Relevant Surface content from SUMMARYs, if any}</summary_surface>",
1043
+ description="Security review: phase {N} diff"
1044
+ )
1045
+ ```
1046
+
1047
+ **5. Relay findings.** Display the reviewer's findings table to the user. Critical/high findings deserve a suggestion to fix before shipping — but this gate is advisory: regardless of findings or errors, ALWAYS proceed to close_parent_artifacts. If the review itself errors, display `Security review encountered an error (non-blocking): {error}` and proceed.
1098
1048
  </step>
1099
1049
 
1100
1050
  <step name="close_parent_artifacts">
@@ -1385,7 +1335,7 @@ All automated checks passed. {N} items need human testing:
1385
1335
 
1386
1336
  {From VERIFICATION.md human_verification section}
1387
1337
 
1388
- Items saved to `{phase_num}-HUMAN-UAT.md` — they will appear in `/gsd-progress` and `/gsd-audit-uat`.
1338
+ Items saved to `{phase_num}-HUMAN-UAT.md` — they will appear in `/gsd-progress`.
1389
1339
 
1390
1340
  "approved" → continue | Report issues → gap closure
1391
1341
  ```
@@ -1480,7 +1430,7 @@ Extract from result: `next_phase`, `next_phase_name`, `is_last_phase`, `warnings
1480
1430
 
1481
1431
  {list each warning}
1482
1432
 
1483
- These items are tracked and will appear in `/gsd-progress` and `/gsd-audit-uat`.
1433
+ These items are tracked and will appear in `/gsd-progress`.
1484
1434
  ```
1485
1435
 
1486
1436
  ```bash
@@ -61,11 +61,11 @@ PHASE=$(echo "$PLAN_PATH" | grep -oE '[0-9]+(\.[0-9]+)?-[0-9]+')
61
61
  # config settings can be fetched via gsd-remix-sdk query config-get if needed
62
62
  ```
63
63
 
64
- <if mode="yolo">
64
+ <if mode="yolo" OR="gates.execute_next_plan is false or absent">
65
65
  Auto-approve: `⚡ Execute {phase}-{plan}-PLAN.md [Plan X of Y for Phase Z]` → parse_segments.
66
66
  </if>
67
67
 
68
- <if mode="interactive" OR="custom with gates.execute_next_plan true">
68
+ <if mode="interactive" AND="gates.execute_next_plan is explicitly true">
69
69
  Present plan identification, wait for confirmation.
70
70
  </if>
71
71
  </step>
@@ -91,7 +91,7 @@ Parse JSON for: `task_count`, `inline_threshold`, `checkpoint_mode`, `threshold_
91
91
  Use the route returned by `plan.execution-route` by default. This decision is deterministic and code-based — do NOT substitute your own LLM judgment unless the query failed.
92
92
 
93
93
  Routing rules encoded in the query:
94
- - `INLINE_THRESHOLD` remains the hard floor. If `task_count <= INLINE_THRESHOLD`, use inline execution immediately.
94
+ - `INLINE_THRESHOLD` remains the hard floor. If `INLINE_THRESHOLD > 0` and `task_count <= INLINE_THRESHOLD`, use inline execution immediately. A threshold of `0` disables inline routing.
95
95
  - For plans above the threshold, a conservative low-complexity override is allowed only for simple `3-5` task plans with:
96
96
  - no checkpoint tasks
97
97
  - small file surface
@@ -121,7 +121,7 @@ If `EXECUTION_ROUTE` failed or returned no usable recommendation:
121
121
  grep -n 'type="checkpoint' "$PLAN_FILE"
122
122
  ```
123
123
  - count `<task>` tags
124
- - inline when `TASK_COUNT <= INLINE_THRESHOLD`
124
+ - inline when `INLINE_THRESHOLD > 0` and `TASK_COUNT <= INLINE_THRESHOLD`
125
125
  - otherwise apply checkpoint-based routing
126
126
 
127
127
  **Pattern A:** init_agent_tracking → capture `EXPECTED_BASE=$(git rev-parse HEAD)` → spawn Task(subagent_type="gsd-executor", model=executor_model) with prompt: execute plan at [path], autonomous, all tasks + SUMMARY + commit, follow deviation/auth rules, report: plan name, tasks, SUMMARY path, commit hash → track agent_id → wait → update tracking → report. **Include `isolation="worktree"` only if `workflow.use_worktrees` is not `false`** (read via `config-get workflow.use_worktrees`). **When using `isolation="worktree"`, include a `<worktree_branch_check>` block in the prompt** instructing the executor to run `git merge-base HEAD {EXPECTED_BASE}` and, if the result differs from `{EXPECTED_BASE}`, hard-reset the branch with `git reset --hard {EXPECTED_BASE}` before starting work (safe — runs before any agent work), then verify with `[ "$(git rev-parse HEAD)" != "{EXPECTED_BASE}" ] && exit 1`. This corrects a known issue where `EnterWorktree` creates branches from `main` instead of the feature branch HEAD (affects all platforms).
@@ -153,13 +153,13 @@ Warnings: N
153
153
  ## Warnings
154
154
 
155
155
  - [legacy_bridge_missing] No gsd-tools.cjs bridge could be found for CJS fallback commands.
156
- Fix: Run /gsd-update to restore the bundled bridge. Use /gsd-health --runtime --repair only for SDK CLI repair.
156
+ Fix: Reinstall GSD to restore the bundled bridge. Use /gsd-health --runtime --repair only for SDK CLI repair.
157
157
  ```
158
158
 
159
159
  **Footer:**
160
160
  ```
161
161
  ---
162
- Runtime mode is read-only unless --repair is set. Use /gsd-health --runtime --repair to rebuild the bundled SDK, or /gsd-update to refresh all runtime assets.
162
+ Runtime mode is read-only unless --repair is set. Use /gsd-health --runtime --repair to rebuild the bundled SDK, or reinstall GSD to refresh all runtime assets.
163
163
  ```
164
164
 
165
165
  Then STOP. Do not proceed to repair prompts.
@@ -266,8 +266,6 @@ Report final status.
266
266
  | W005 | warning | Phase directory naming mismatch | No |
267
267
  | W006 | warning | Phase in ROADMAP but no directory | No |
268
268
  | W007 | warning | Phase on disk but not in ROADMAP | No |
269
- | W008 | warning | config.json: workflow.nyquist_validation absent (defaults to enabled but agents may skip) | Yes |
270
- | W009 | warning | Phase has Validation Architecture in RESEARCH.md but no VALIDATION.md | No |
271
269
  | W018 | warning | MILESTONES.md missing entry for archived milestone snapshot | Yes (`--backfill`) |
272
270
  | W019 | warning | Unrecognized .planning/ root file — not a canonical GSD artifact | No |
273
271
  | I001 | info | Plan without SUMMARY (may be in progress) | No |
@@ -281,7 +279,6 @@ Report final status.
281
279
  | createConfig | Create config.json with defaults | None |
282
280
  | resetConfig | Delete + recreate config.json | Loses custom settings |
283
281
  | regenerateState | Create STATE.md from ROADMAP structure when it is missing | Loses session history |
284
- | addNyquistKey | Add workflow.nyquist_validation: true to config.json | None — matches existing default |
285
282
  | backfillMilestones | Synthesize missing MILESTONES.md entries from `.planning/milestones/vX.Y-ROADMAP.md` snapshots | None — additive only; triggered by `--backfill` flag |
286
283
 
287
284
  **Not repairable (too risky):**
@@ -82,15 +82,6 @@ Comprehensive ecosystem research for niche/complex domains.
82
82
 
83
83
  Usage: `/gsd-research-phase 3`
84
84
 
85
- **`/gsd-list-phase-assumptions <number>`**
86
- See what Claude is planning to do before it starts.
87
-
88
- - Shows Claude's intended approach for a phase
89
- - Lets you course-correct if Claude misunderstood your vision
90
- - No files created - conversational output only
91
-
92
- Usage: `/gsd-list-phase-assumptions 3`
93
-
94
85
  **`/gsd-plan-phase <number>`**
95
86
  Create detailed execution plan for a specific phase.
96
87
 
@@ -276,57 +267,6 @@ Systematic debugging with persistent state across context resets.
276
267
  Usage: `/gsd-debug "login button doesn't work"`
277
268
  Usage: `/gsd-debug` (resume active session)
278
269
 
279
- ### Spiking & Sketching
280
-
281
- **`/gsd-spike [idea] [--quick]`**
282
- Rapidly spike an idea with throwaway experiments to validate feasibility.
283
-
284
- - Decomposes idea into 2-5 focused experiments (risk-ordered)
285
- - Each spike answers one specific Given/When/Then question
286
- - Builds minimum code, runs it, captures verdict (VALIDATED/INVALIDATED/PARTIAL)
287
- - Saves to `.planning/spikes/` with MANIFEST.md tracking
288
- - Does not require `/gsd-new-project` — works in any repo
289
- - `--quick` skips decomposition, builds immediately
290
-
291
- Usage: `/gsd-spike "can we stream LLM output over WebSockets?"`
292
- Usage: `/gsd-spike --quick "test if pdfjs extracts tables"`
293
-
294
- **`/gsd-sketch [idea] [--quick]`**
295
- Rapidly sketch UI/design ideas using throwaway HTML mockups with multi-variant exploration.
296
-
297
- - Conversational mood/direction intake before building
298
- - Each sketch produces 2-3 variants as tabbed HTML pages
299
- - User compares variants, cherry-picks elements, iterates
300
- - Shared CSS theme system compounds across sketches
301
- - Saves to `.planning/sketches/` with MANIFEST.md tracking
302
- - Does not require `/gsd-new-project` — works in any repo
303
- - `--quick` skips mood intake, jumps to building
304
-
305
- Usage: `/gsd-sketch "dashboard layout for the admin panel"`
306
- Usage: `/gsd-sketch --quick "form card grouping"`
307
-
308
- **`/gsd-spike-wrap-up`**
309
- Package spike findings into a persistent project skill.
310
-
311
- - Curates each spike one-at-a-time (include/exclude/partial/UAT)
312
- - Groups findings by feature area
313
- - Generates `./.claude/skills/spike-findings-[project]/` with references and sources
314
- - Writes summary to `.planning/spikes/WRAP-UP-SUMMARY.md`
315
- - Adds auto-load routing line to project CLAUDE.md
316
-
317
- Usage: `/gsd-spike-wrap-up`
318
-
319
- **`/gsd-sketch-wrap-up`**
320
- Package sketch design findings into a persistent project skill.
321
-
322
- - Curates each sketch one-at-a-time (include/exclude/partial/revisit)
323
- - Groups findings by design area
324
- - Generates `./.claude/skills/sketch-findings-[project]/` with design decisions, CSS patterns, HTML structures
325
- - Writes summary to `.planning/sketches/WRAP-UP-SUMMARY.md`
326
- - Adds auto-load routing line to project CLAUDE.md
327
-
328
- Usage: `/gsd-sketch-wrap-up`
329
-
330
270
  ### Quick Notes
331
271
 
332
272
  **`/gsd-note <text>`**
@@ -382,33 +322,6 @@ Usage: `/gsd-verify-work 3`
382
322
 
383
323
  ### Ship Work
384
324
 
385
- **`/gsd-ship [phase]`**
386
- Create a PR from completed phase work with an auto-generated body.
387
-
388
- - Pushes branch to remote
389
- - Creates PR with summary from SUMMARY.md, VERIFICATION.md, REQUIREMENTS.md
390
- - Optionally requests code review
391
- - Updates STATE.md with shipping status
392
-
393
- Prerequisites: Phase verified, `gh` CLI installed and authenticated.
394
-
395
- Usage: `/gsd-ship 4` or `/gsd-ship 4 --draft`
396
-
397
- ---
398
-
399
- **`/gsd-review --phase N [--gemini] [--claude] [--codex] [--coderabbit] [--opencode] [--qwen] [--cursor] [--all]`**
400
- Cross-AI peer review — invoke external AI CLIs to independently review phase plans.
401
-
402
- - Detects available CLIs (gemini, claude, codex, coderabbit)
403
- - Each CLI reviews plans independently with the same structured prompt
404
- - CodeRabbit reviews the current git diff (not a prompt) — may take up to 5 minutes
405
- - Produces REVIEWS.md with per-reviewer feedback and consensus summary
406
- - Feed reviews back into planning: `/gsd-plan-phase N --reviews`
407
-
408
- Usage: `/gsd-review --phase 3 --all`
409
-
410
- ---
411
-
412
325
  **`/gsd-pr-branch [target]`**
413
326
  Create a clean branch for pull requests by filtering out .planning/ commits.
414
327
 
@@ -420,48 +333,6 @@ Usage: `/gsd-pr-branch` or `/gsd-pr-branch main`
420
333
 
421
334
  ---
422
335
 
423
- **`/gsd-plant-seed [idea]`**
424
- Capture a forward-looking idea with trigger conditions for automatic surfacing.
425
-
426
- - Seeds preserve WHY, WHEN to surface, and breadcrumbs to related code
427
- - Auto-surfaces during `/gsd-new-milestone` when trigger conditions match
428
- - Better than deferred items — triggers are checked, not forgotten
429
-
430
- Usage: `/gsd-plant-seed "add real-time notifications when we build the events system"`
431
-
432
- ---
433
-
434
- **`/gsd-audit-uat`**
435
- Cross-phase audit of all outstanding UAT and verification items.
436
- - Scans every phase for pending, skipped, blocked, and human_needed items
437
- - Cross-references against codebase to detect stale documentation
438
- - Produces prioritized human test plan grouped by testability
439
- - Use before starting a new milestone to clear verification debt
440
-
441
- Usage: `/gsd-audit-uat`
442
-
443
- ### Milestone Auditing
444
-
445
- **`/gsd-audit-milestone [version]`**
446
- Audit milestone completion against original intent.
447
-
448
- - Reads all phase VERIFICATION.md files
449
- - Checks requirements coverage
450
- - Spawns integration checker for cross-phase wiring
451
- - Creates MILESTONE-AUDIT.md with gaps and tech debt
452
-
453
- Usage: `/gsd-audit-milestone`
454
-
455
- **`/gsd-plan-milestone-gaps`**
456
- Create phases to close gaps identified by audit.
457
-
458
- - Reads MILESTONE-AUDIT.md and groups gaps into phases
459
- - Prioritizes by requirement priority (must/should/nice)
460
- - Adds gap closure phases to ROADMAP.md
461
- - Ready for `/gsd-plan-phase` on new phases
462
-
463
- Usage: `/gsd-plan-milestone-gaps`
464
-
465
336
  ### Configuration
466
337
 
467
338
  **`/gsd-settings`**
@@ -473,16 +344,6 @@ Configure workflow toggles and model profile interactively.
473
344
 
474
345
  Usage: `/gsd-settings`
475
346
 
476
- **`/gsd-set-profile <profile>`**
477
- Quick switch model profile for GSD agents.
478
-
479
- - `quality` — Opus everywhere except verification
480
- - `balanced` — Opus for planning, Sonnet for execution (default)
481
- - `budget` — Sonnet for writing, Haiku for research/verification
482
- - `inherit` — Use current session model for all agents (OpenCode `/model`)
483
-
484
- Usage: `/gsd-set-profile budget`
485
-
486
347
  ### Utility Commands
487
348
 
488
349
  **`/gsd-cleanup`**
@@ -498,25 +359,6 @@ Usage: `/gsd-cleanup`
498
359
  **`/gsd-help`**
499
360
  Show this command reference.
500
361
 
501
- **`/gsd-update`**
502
- Update GSD to latest version with changelog preview.
503
-
504
- - Shows installed vs latest version comparison
505
- - Displays changelog entries for versions you've missed
506
- - Highlights breaking changes
507
- - Confirms before running install
508
- - Better than raw `npx get-shit-done-cc`
509
-
510
- Usage: `/gsd-update`
511
-
512
- **`/gsd-join-discord`**
513
- Join the GSD Discord community.
514
-
515
- - Get help, share what you're building, stay updated
516
- - Connect with other GSD users
517
-
518
- Usage: `/gsd-join-discord`
519
-
520
362
  ## Files & Structure
521
363
 
522
364
  ```
@@ -529,13 +371,6 @@ Usage: `/gsd-join-discord`
529
371
  ├── todos/ # Captured ideas and tasks
530
372
  │ ├── pending/ # Todos waiting to be worked on
531
373
  │ └── done/ # Completed todos
532
- ├── spikes/ # Spike experiments (/gsd-spike)
533
- │ ├── MANIFEST.md # Spike inventory and verdicts
534
- │ └── NNN-name/ # Individual spike directories
535
- ├── sketches/ # Design sketches (/gsd-sketch)
536
- │ ├── MANIFEST.md # Sketch inventory and winners
537
- │ ├── themes/ # Shared CSS theme files
538
- │ └── NNN-name/ # Individual sketch directories (HTML + README)
539
374
  ├── debug/ # Active debug sessions
540
375
  │ └── resolved/ # Archived resolved issues
541
376
  ├── milestones/
@@ -46,55 +46,6 @@ If the flag is absent, keep the current behavior of continuing phase numbering f
46
46
  - Wait for their response, then use AskUserQuestion to probe specifics
47
47
  - If user selects "Other" at any point to provide freeform input, ask follow-up as plain text — not another AskUserQuestion
48
48
 
49
- ## 2.5. Scan Planted Seeds
50
-
51
- Check `.planning/seeds/` for seed files that match the milestone goals gathered in step 2.
52
-
53
- ```bash
54
- ls .planning/seeds/SEED-*.md 2>/dev/null
55
- ```
56
-
57
- **If no seed files exist:** Skip this step silently — do not print any message or prompt.
58
-
59
- **If seed files exist:** Read each `SEED-*.md` file and extract from its frontmatter and body:
60
- - **Idea** — the seed title (heading after frontmatter, e.g. `# SEED-001: <idea>`)
61
- - **Trigger conditions** — the `trigger_when` frontmatter field and the "When to Surface" section's bullet list
62
- - **Planted during** — the `planted_during` frontmatter field (for context)
63
-
64
- Compare each seed's trigger conditions against the milestone goals from step 2. A seed matches when its trigger conditions are relevant to any of the milestone's target features or goals.
65
-
66
- **If no seeds match:** Skip silently — do not prompt the user.
67
-
68
- **If matching seeds found:**
69
-
70
- **`--auto` mode:** Auto-select ALL matching seeds. Log: `[auto] Selected N matching seed(s): [list seed names]`
71
-
72
- **Text mode (`TEXT_MODE=true`):** Present matching seeds as a plain-text numbered list:
73
- ```
74
- Seeds that match your milestone goals:
75
- 1. SEED-001: <idea> (trigger: <trigger_when>)
76
- 2. SEED-003: <idea> (trigger: <trigger_when>)
77
-
78
- Enter numbers to include (comma-separated), or "none" to skip:
79
- ```
80
-
81
- **Normal mode:** Present via AskUserQuestion:
82
- ```
83
- AskUserQuestion(
84
- header: "Seeds",
85
- question: "These planted seeds match your milestone goals. Include any in this milestone's scope?",
86
- multiSelect: true,
87
- options: [
88
- { label: "SEED-001: <idea>", description: "Trigger: <trigger_when> | Planted during: <planted_during>" },
89
- ...
90
- ]
91
- )
92
- ```
93
-
94
- **After selection:**
95
- - Selected seeds become additional context for requirement definition in step 9. Store them in an accumulator (e.g. `$SELECTED_SEEDS`) so step 9 can reference the ideas and their "Why This Matters" sections when defining requirements.
96
- - Unselected seeds remain untouched in `.planning/seeds/` — never delete or modify seed files during this workflow.
97
-
98
49
  ## 3. Determine Milestone Version
99
50
 
100
51
  - Parse last version from MILESTONES.md
@@ -363,8 +314,6 @@ Display key findings from SUMMARY.md:
363
314
 
364
315
  Read PROJECT.md: core value, current milestone goals, validated requirements (what exists).
365
316
 
366
- **If `$SELECTED_SEEDS` is non-empty (from step 2.5):** Include selected seed ideas and their "Why This Matters" sections as additional input when defining requirements. Seeds provide user-validated feature ideas that should be incorporated into the requirement categories alongside research findings or conversation-gathered features.
367
-
368
317
  **If research exists:** Read FEATURES.md, extract feature categories.
369
318
 
370
319
  Present features by category:
@@ -227,7 +227,7 @@ Create `.planning/config.json` with all settings (CLI fills in remaining default
227
227
 
228
228
  ```bash
229
229
  mkdir -p .planning
230
- gsd-remix-sdk query config-new-project '{"mode":"yolo","granularity":"[selected]","parallelization":true|false,"commit_docs":true|false,"model_profile":"quality|balanced|budget|inherit","workflow":{"research":true|false,"plan_check":true|false,"verifier":true|false,"nyquist_validation":true|false,"auto_advance":true}}'
230
+ gsd-remix-sdk query config-new-project '{"mode":"yolo","granularity":"[selected]","parallelization":true|false,"commit_docs":true|false,"model_profile":"balanced|inherit","workflow":{"research":true|false,"plan_check":true|false,"verifier":true|false,"auto_advance":true}}'
231
231
  ```
232
232
 
233
233
  **If commit_docs = No:** Add `.planning/` to `.gitignore`.
@@ -247,36 +247,6 @@ gsd-remix-sdk query config-set workflow._auto_chain_active true
247
247
 
248
248
  Proceed to Step 4 (skip Steps 3 and 5).
249
249
 
250
- ## 2b. Prior Spike/Sketch Detection
251
-
252
- Check for existing spike and sketch work that should inform project setup:
253
-
254
- ```bash
255
- # Check for spike findings skill (project-local)
256
- SPIKE_SKILL=$(ls ./.claude/skills/spike-findings-*/SKILL.md 2>/dev/null | head -1)
257
-
258
- # Check for sketch findings skill (project-local)
259
- SKETCH_SKILL=$(ls ./.claude/skills/sketch-findings-*/SKILL.md 2>/dev/null | head -1)
260
-
261
- # Check for raw spikes/sketches in .planning/
262
- HAS_SPIKES=$(ls .planning/spikes/MANIFEST.md 2>/dev/null)
263
- HAS_SKETCHES=$(ls .planning/sketches/MANIFEST.md 2>/dev/null)
264
- ```
265
-
266
- If any of these exist, surface them before questioning:
267
-
268
- ```
269
- ⚡ Prior exploration detected:
270
- {if SPIKE_SKILL} ✓ Spike findings skill: {path} — validated patterns from experiments
271
- {if SKETCH_SKILL} ✓ Sketch findings skill: {path} — validated design decisions
272
- {if HAS_SPIKES && !SPIKE_SKILL} ◆ Raw spikes in .planning/spikes/ — consider `/gsd-spike-wrap-up` to package findings
273
- {if HAS_SKETCHES && !SKETCH_SKILL} ◆ Raw sketches in .planning/sketches/ — consider `/gsd-sketch-wrap-up` to package findings
274
-
275
- These findings will be incorporated into project context and available to planning agents.
276
- ```
277
-
278
- If spike/sketch findings skills exist, read their SKILL.md files to inform the questioning phase — they contain validated patterns, constraints, and design decisions that should shape the project definition.
279
-
280
250
  ## 3. Deep Questioning
281
251
 
282
252
  **If auto mode:** Skip (already handled in Step 2a). Extract project context from provided document instead and proceed to Step 4.
@@ -649,7 +619,7 @@ Create `.planning/config.json` with all settings (CLI fills in remaining default
649
619
 
650
620
  ```bash
651
621
  mkdir -p .planning
652
- gsd-remix-sdk query config-new-project '{"mode":"[yolo|interactive]","granularity":"[selected]","parallelization":true|false,"commit_docs":true|false,"model_profile":"quality|balanced|budget|inherit","workflow":{"research":true|false,"plan_check":true|false,"verifier":true|false,"nyquist_validation":[false if granularity=coarse, true otherwise]}}'
622
+ gsd-remix-sdk query config-new-project '{"mode":"[yolo|interactive]","granularity":"[selected]","parallelization":true|false,"commit_docs":true|false,"model_profile":"balanced|inherit","workflow":{"research":true|false,"plan_check":true|false,"verifier":true|false}}'
653
623
  ```
654
624
 
655
625
  **Note:** Run `/gsd-settings` anytime to update model profile, workflow agents, branching strategy, and other preferences.
@@ -1296,37 +1266,6 @@ Exit skill and invoke SlashCommand("/gsd-discuss-phase 1 --auto")
1296
1266
 
1297
1267
  **If interactive mode:**
1298
1268
 
1299
- Check if Phase 1 has UI indicators (look for `**UI hint**: yes` in Phase 1 detail section of ROADMAP.md):
1300
-
1301
- ```bash
1302
- PHASE1_SECTION=$(gsd-remix-sdk query roadmap.get-phase 1 2>/dev/null)
1303
- PHASE1_HAS_UI=$(echo "$PHASE1_SECTION" | grep -qi "UI hint.*yes" && echo "true" || echo "false")
1304
- ```
1305
-
1306
- **If Phase 1 has UI (`PHASE1_HAS_UI` is `true`):**
1307
-
1308
- ```
1309
- ───────────────────────────────────────────────────────────────
1310
-
1311
- ## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
1312
-
1313
- **Phase 1: [Phase Name]** — [Goal from ROADMAP.md]
1314
-
1315
- /clear then:
1316
-
1317
- /gsd-discuss-phase 1 — gather context and clarify approach
1318
-
1319
- ---
1320
-
1321
- **Also available:**
1322
- - /gsd-ui-phase 1 — generate UI design contract (recommended for frontend phases)
1323
- - /gsd-plan-phase 1 — skip discussion, plan directly
1324
-
1325
- ───────────────────────────────────────────────────────────────
1326
- ```
1327
-
1328
- **If Phase 1 has no UI:**
1329
-
1330
1269
  ```
1331
1270
  ───────────────────────────────────────────────────────────────
1332
1271