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
@@ -6,19 +6,11 @@
6
6
  "plan_check": true,
7
7
  "verifier": true,
8
8
  "auto_advance": false,
9
- "nyquist_validation": true,
10
- "security_enforcement": true,
11
- "security_asvs_level": 1,
12
- "security_block_on": "high",
9
+ "nyquist_validation": false,
10
+ "security_enforcement": false,
11
+ "security_review": "auto",
13
12
  "discuss_mode": "discuss",
14
- "research_before_questions": false,
15
- "code_review_command": null,
16
- "plan_bounce": false,
17
- "plan_bounce_script": null,
18
- "plan_bounce_passes": 2,
19
- "cross_ai_execution": false,
20
- "cross_ai_command": "",
21
- "cross_ai_timeout": 300
13
+ "research_before_questions": false
22
14
  },
23
15
  "planning": {
24
16
  "commit_docs": true,
@@ -34,13 +26,7 @@
34
26
  "min_plans_for_parallel": 2
35
27
  },
36
28
  "gates": {
37
- "confirm_project": true,
38
- "confirm_phases": true,
39
- "confirm_roadmap": true,
40
- "confirm_breakdown": true,
41
- "confirm_plan": true,
42
- "execute_next_plan": true,
43
- "issues_review": true,
29
+ "execute_next_plan": false,
44
30
  "confirm_transition": true
45
31
  },
46
32
  "safety": {
@@ -275,45 +275,6 @@ PHASE_STATE=$(gsd-remix-sdk query init.phase-op ${PHASE_NUM})
275
275
 
276
276
  Check `has_context`. If false → go to handle_blocker: "Discuss for phase ${PHASE_NUM} did not produce CONTEXT.md."
277
277
 
278
- **3a.5. UI Design Contract (Frontend Phases)**
279
-
280
- Check if this phase has frontend indicators and whether a UI-SPEC already exists:
281
-
282
- ```bash
283
- PHASE_SECTION=$(gsd-remix-sdk query roadmap.get-phase ${PHASE_NUM} 2>/dev/null)
284
- echo "$PHASE_SECTION" | grep -iE "UI|interface|frontend|component|layout|page|screen|view|form|dashboard|widget" > /dev/null 2>&1
285
- HAS_UI=$?
286
- UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
287
- ```
288
-
289
- Check if UI phase workflow is enabled:
290
-
291
- ```bash
292
- UI_PHASE_CFG=$(gsd-remix-sdk query config-get workflow.ui_phase 2>/dev/null || echo "true")
293
- ```
294
-
295
- **If `HAS_UI` is 0 (frontend indicators found) AND `UI_SPEC_FILE` is empty (no UI-SPEC exists) AND `UI_PHASE_CFG` is not `false`:**
296
-
297
- Display:
298
-
299
- ```
300
- Phase ${PHASE_NUM}: Frontend phase detected — generating UI design contract...
301
- ```
302
-
303
- ```
304
- Skill(skill="gsd-ui-phase", args="${PHASE_NUM}")
305
- ```
306
-
307
- Verify UI-SPEC was created:
308
-
309
- ```bash
310
- UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
311
- ```
312
-
313
- **If `UI_SPEC_FILE` is still empty after ui-phase:** Display warning `Phase ${PHASE_NUM}: UI-SPEC generation did not produce output — continuing without design contract.` and proceed to 3b.
314
-
315
- **If `HAS_UI` is 1 (no frontend indicators) OR `UI_SPEC_FILE` is not empty (UI-SPEC already exists) OR `UI_PHASE_CFG` is `false`:** Skip silently to 3b.
316
-
317
278
  **3b. Plan**
318
279
 
319
280
  **If `INTERACTIVE` is set:** Dispatch plan as a background agent to keep the main context lean. While plan runs, the workflow can immediately start discussing the next phase (see step 4).
@@ -473,38 +434,6 @@ On **"Continue without fixing"**: Display `Phase ${PHASE_NUM} ⏭ Gaps deferred`
473
434
 
474
435
  On **"Stop autonomous mode"**: Go to handle_blocker with "User stopped — gaps remain in phase ${PHASE_NUM}".
475
436
 
476
- **3d.5. UI Review (Frontend Phases)**
477
-
478
- > Run after any successful execution routing (passed, human_needed accepted, or gaps deferred/accepted) — before proceeding to the iterate step.
479
-
480
- Check if this phase had a UI-SPEC (created in step 3a.5 or pre-existing):
481
-
482
- ```bash
483
- UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
484
- ```
485
-
486
- Check if UI review is enabled:
487
-
488
- ```bash
489
- UI_REVIEW_CFG=$(gsd-remix-sdk query config-get workflow.ui_review 2>/dev/null || echo "true")
490
- ```
491
-
492
- **If `UI_SPEC_FILE` is not empty AND `UI_REVIEW_CFG` is not `false`:**
493
-
494
- Display:
495
-
496
- ```
497
- Phase ${PHASE_NUM}: Frontend phase with UI-SPEC — running UI review audit...
498
- ```
499
-
500
- ```
501
- Skill(skill="gsd-ui-review", args="${PHASE_NUM}")
502
- ```
503
-
504
- Display the review result summary (score from UI-REVIEW.md if produced). Continue to iterate step regardless of score — UI review is advisory, not blocking.
505
-
506
- **If `UI_SPEC_FILE` is empty OR `UI_REVIEW_CFG` is `false`:** Skip silently to iterate step.
507
-
508
437
  </step>
509
438
 
510
439
  <step name="smart_discuss">
@@ -540,7 +469,7 @@ Read and execute: `$HOME/.claude/get-shit-done/references/autonomous-smart-discu
540
469
  Resume with: /gsd-autonomous --from ${next_incomplete_phase}
541
470
  ```
542
471
 
543
- Proceed directly to lifecycle step (which handles partial completion — skips audit/complete/cleanup since not all phases are done). Exit cleanly.
472
+ Proceed directly to lifecycle step (which handles partial completion — skips complete/cleanup since not all phases are done). Exit cleanly.
544
473
 
545
474
  **Otherwise:** After each phase completes, re-read ROADMAP.md to catch phases inserted mid-execution (decimal phases like 5.1):
546
475
 
@@ -579,7 +508,7 @@ If all phases complete, proceed to lifecycle step.
579
508
 
580
509
  ## 5. Lifecycle
581
510
 
582
- **If `ONLY_PHASE` is set:** Skip lifecycle. A single phase does not trigger audit/complete/cleanup. Display:
511
+ **If `ONLY_PHASE` is set:** Skip lifecycle. A single phase does not trigger complete/cleanup. Display:
583
512
 
584
513
  ```
585
514
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
@@ -590,12 +519,12 @@ If all phases complete, proceed to lifecycle step.
590
519
  Mode: Single phase (--only)
591
520
 
592
521
  Lifecycle skipped — run /gsd-autonomous without --only
593
- after all phases complete to trigger audit/complete/cleanup.
522
+ after all phases complete to trigger complete/cleanup.
594
523
  ```
595
524
 
596
525
  Exit cleanly.
597
526
 
598
- **Otherwise:** After all phases complete, run the milestone lifecycle sequence: audit → complete → cleanup.
527
+ **Otherwise:** After all phases complete, run the milestone lifecycle sequence: complete → cleanup.
599
528
 
600
529
  Display lifecycle transition banner:
601
530
 
@@ -604,66 +533,10 @@ Display lifecycle transition banner:
604
533
  GSD ► AUTONOMOUS ▸ LIFECYCLE
605
534
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
606
535
 
607
- All phases complete → Starting lifecycle: audit → complete → cleanup
536
+ All phases complete → Starting lifecycle: complete → cleanup
608
537
  Milestone: {milestone_version} — {milestone_name}
609
538
  ```
610
539
 
611
- **5a. Audit**
612
-
613
- ```
614
- Skill(skill="gsd-audit-milestone")
615
- ```
616
-
617
- After audit completes, detect the result:
618
-
619
- ```bash
620
- AUDIT_FILE=".planning/v${milestone_version}-MILESTONE-AUDIT.md"
621
- AUDIT_STATUS=$(grep "^status:" "${AUDIT_FILE}" 2>/dev/null | head -1 | cut -d: -f2 | tr -d ' ')
622
- ```
623
-
624
- **If AUDIT_STATUS is empty** (no audit file or no status field):
625
-
626
- Go to handle_blocker: "Audit did not produce results — audit file missing or malformed."
627
-
628
- **If `passed`:**
629
-
630
- Display:
631
- ```
632
- Audit ✅ passed — proceeding to complete milestone
633
- ```
634
-
635
- Proceed to 5b (no user pause — per CTRL-01).
636
-
637
- **If `gaps_found`:**
638
-
639
- Read the gaps summary from the audit file. Display:
640
- ```
641
- ⚠ Audit: Gaps Found
642
- ```
643
-
644
- Ask user via AskUserQuestion:
645
- - **question:** "Milestone audit found gaps. How to proceed?"
646
- - **options:** "Continue anyway — accept gaps" / "Stop — fix gaps manually"
647
-
648
- On **"Continue anyway"**: Display `Audit ⏭ Gaps accepted — proceeding to complete milestone` and proceed to 5b.
649
-
650
- On **"Stop"**: Go to handle_blocker with "User stopped — audit gaps remain. Run /gsd-audit-milestone to review, then /gsd-complete-milestone when ready."
651
-
652
- **If `tech_debt`:**
653
-
654
- Read the tech debt summary from the audit file. Display:
655
- ```
656
- ⚠ Audit: Tech Debt Identified
657
- ```
658
-
659
- Show the summary, then ask user via AskUserQuestion:
660
- - **question:** "Milestone audit found tech debt. How to proceed?"
661
- - **options:** "Continue with tech debt" / "Stop — address debt first"
662
-
663
- On **"Continue with tech debt"**: Display `Audit ⏭ Tech debt acknowledged — proceeding to complete milestone` and proceed to 5b.
664
-
665
- On **"Stop"**: Go to handle_blocker with "User stopped — tech debt to address. Run /gsd-audit-milestone to review details."
666
-
667
540
  **5b. Complete Milestone**
668
541
 
669
542
  ```
@@ -697,7 +570,7 @@ Display final completion banner:
697
570
 
698
571
  Milestone: {milestone_version} — {milestone_name}
699
572
  Status: Complete ✅
700
- Lifecycle: audit ✅ → complete ✅ → cleanup ✅
573
+ Lifecycle: complete ✅ → cleanup ✅
701
574
 
702
575
  Ship it! 🚀
703
576
  ```
@@ -740,7 +613,7 @@ When any phase operation fails or a blocker is detected, present 3 options via A
740
613
  </process>
741
614
 
742
615
  <success_criteria>
743
- - [ ] All incomplete phases executed in order (smart discuss → ui-phase → plan → execute → ui-review each)
616
+ - [ ] All incomplete phases executed in order (smart discuss → plan → execute each)
744
617
  - [ ] Smart discuss proposes grey area answers in tables, user accepts or overrides per area
745
618
  - [ ] Progress banners displayed between phases
746
619
  - [ ] Execute-phase invoked with --no-transition (autonomous manages transitions)
@@ -755,8 +628,7 @@ When any phase operation fails or a blocker is detected, present 3 options via A
755
628
  - [ ] Blockers handled via user choice (retry / skip / stop)
756
629
  - [ ] Final completion or stop summary displayed
757
630
  - [ ] After all phases complete, lifecycle step is invoked (not manual suggestion)
758
- - [ ] Lifecycle transition banner displayed before audit
759
- - [ ] Audit invoked via Skill(skill="gsd-audit-milestone")
631
+ - [ ] Lifecycle transition banner displayed before complete
760
632
  - [ ] Audit result routing: passed → auto-continue, gaps_found → user decides, tech_debt → user decides
761
633
  - [ ] Audit technical failure (no file/no status) routes to handle_blocker
762
634
  - [ ] Complete-milestone invoked via Skill() with ${milestone_version} arg
@@ -764,12 +636,8 @@ When any phase operation fails or a blocker is detected, present 3 options via A
764
636
  - [ ] Final completion banner displayed after lifecycle
765
637
  - [ ] Progress bar uses phase number / total milestone phases (not position among incomplete), with fallback display when phase numbers exceed total
766
638
  - [ ] Smart discuss documents relationship to discuss-phase with CTRL-03 note
767
- - [ ] Frontend phases get UI-SPEC generated before planning (step 3a.5) if not already present
768
- - [ ] Frontend phases get UI review audit after successful execution (step 3d.5) if UI-SPEC exists
769
- - [ ] UI phase and UI review respect workflow.ui_phase and workflow.ui_review config toggles
770
- - [ ] UI review is advisory (non-blocking) — phase proceeds to iterate regardless of score
771
639
  - [ ] `--only N` restricts execution to exactly one phase
772
- - [ ] `--only N` skips lifecycle step (audit/complete/cleanup)
640
+ - [ ] `--only N` skips lifecycle step (complete/cleanup)
773
641
  - [ ] `--only N` exits cleanly after single phase completes
774
642
  - [ ] `--only N` on already-complete phase exits with message
775
643
  - [ ] `--only N` handle_blocker resume message uses --only flag
@@ -122,10 +122,9 @@ Requirements: {N}/{M} v1 requirements checked off
122
122
  - [ ] {REQ-ID}: {description} (Phase {Y})
123
123
  ```
124
124
 
125
- MUST present 3 options:
125
+ MUST present 2 options:
126
126
  1. **Proceed anyway** — mark milestone complete with known gaps
127
- 2. **Run audit first** — `/gsd-audit-milestone` to assess gap severity
128
- 3. **Abort** — return to development
127
+ 2. **Abort** — return to development
129
128
 
130
129
  If user selects "Proceed anyway": note incomplete requirements in MILESTONES.md under `### Known Gaps` with REQ-IDs and descriptions.
131
130
 
@@ -838,7 +837,7 @@ Milestone completion is successful when:
838
837
  - [ ] Git tag created (v[X.Y])
839
838
  - [ ] Milestone commit made (includes archive files and deletion)
840
839
  - [ ] Requirements completion checked against REQUIREMENTS.md traceability table
841
- - [ ] Incomplete requirements surfaced with proceed/audit/abort options
840
+ - [ ] Incomplete requirements surfaced with proceed/abort options
842
841
  - [ ] Known gaps recorded in MILESTONES.md if user proceeded with incomplete requirements
843
842
  - [ ] RETROSPECTIVE.md updated with milestone section
844
843
  - [ ] Cross-milestone trends updated
@@ -233,23 +233,7 @@ Identify reusable assets, established patterns, integration points, and creative
233
233
  Spawn a `gsd-assumptions-analyzer` agent to deeply analyze the codebase for this phase. This
234
234
  keeps raw file contents out of the main context window, protecting token budget.
235
235
 
236
- **Resolve calibration tier (if USER-PROFILE.md exists):**
237
-
238
- ```bash
239
- PROFILE_PATH="$HOME/.claude/get-shit-done/USER-PROFILE.md"
240
- ```
241
-
242
- If file exists at PROFILE_PATH:
243
- - Priority 1: Read config.json > preferences.vendor_philosophy (project-level override)
244
- - Priority 2: Read USER-PROFILE.md Vendor Choices/Philosophy rating (global)
245
- - Priority 3: Default to "standard"
246
-
247
- Map to calibration tier:
248
- - conservative OR thorough-evaluator → full_maturity (more alternatives, detailed evidence)
249
- - opinionated → minimal_decisive (fewer alternatives, decisive recommendations)
250
- - pragmatic-fast OR any other value → standard
251
-
252
- If no USER-PROFILE.md: calibration_tier = "standard"
236
+ **Calibration tier:** fixed at `standard`.
253
237
 
254
238
  **Spawn Explore subagent:**
255
239
 
@@ -605,7 +589,6 @@ Created: .planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
605
589
 
606
590
  **Also available:**
607
591
  - `/gsd-plan-phase ${PHASE} --skip-research` — plan without research
608
- - `/gsd-ui-phase ${PHASE}` — generate UI design contract (if frontend work)
609
592
  - Review/edit CONTEXT.md before continuing
610
593
 
611
594
  ---
@@ -152,9 +152,6 @@ if ! command -v gsd-remix-sdk &>/dev/null; then
152
152
  echo ""
153
153
  echo "Repair the bundled SDK:"
154
154
  echo " /gsd-health --runtime --repair"
155
- echo ""
156
- echo "Or refresh all runtime assets:"
157
- echo " /gsd-update"
158
155
  exit 1
159
156
  fi
160
157
 
@@ -242,7 +239,7 @@ Write these answers inline before continuing. If a blocking anti-pattern cannot
242
239
  </step>
243
240
 
244
241
  <step name="check_spec">
245
- Check if a SPEC.md (from `/gsd-spec-phase`) exists for this phase. SPEC.md locks requirements before implementation decisions — if present, this discussion focuses on HOW to implement, not WHAT to build.
242
+ Check if a SPEC.md exists for this phase (produced by earlier spec tooling or written by hand). SPEC.md locks requirements before implementation decisions — if present, this discussion focuses on HOW to implement, not WHAT to build.
246
243
 
247
244
  ```bash
248
245
  ls ${phase_dir}/*-SPEC.md 2>/dev/null | grep -v AI-SPEC | head -1 || true
@@ -261,7 +258,7 @@ ls ${phase_dir}/*-SPEC.md 2>/dev/null | grep -v AI-SPEC | head -1 || true
261
258
 
262
259
  **If no SPEC.md is found:** Continue to `check_existing` with `spec_loaded = false` (default behavior unchanged).
263
260
 
264
- **Note:** SPEC.md files named `AI-SPEC.md` (from `/gsd-ai-integration-phase`) are excluded — those serve a different purpose.
261
+ **Note:** SPEC.md files named `AI-SPEC.md` (legacy AI design contracts) are excluded — those serve a different purpose.
265
262
  </step>
266
263
 
267
264
  <step name="check_existing">
@@ -396,40 +393,9 @@ Structure the extracted information:
396
393
  When escalating, read only the specific `path` returned by `context-history` for the relevant phase. Do not fall back to bulk-reading every prior CONTEXT.md file.
397
394
  If `counts.omitted_phases > 0` and the current gray area still feels underdetermined after reviewing the brief, rerun `context-history` with a higher `--limit` before reading many full source files.
398
395
 
399
- **Step 4: Load spike/sketch findings (if they exist)**
400
- ```bash
401
- # Check for spike/sketch findings skills (project-local)
402
- SPIKE_FINDINGS=$(ls ./.claude/skills/spike-findings-*/SKILL.md 2>/dev/null | head -1)
403
- SKETCH_FINDINGS=$(ls ./.claude/skills/sketch-findings-*/SKILL.md 2>/dev/null | head -1)
404
-
405
- # Also check for raw spikes/sketches not yet wrapped up
406
- RAW_SPIKES=$(ls .planning/spikes/MANIFEST.md 2>/dev/null)
407
- RAW_SKETCHES=$(ls .planning/sketches/MANIFEST.md 2>/dev/null)
408
- ```
409
-
410
- If spike/sketch findings skills exist, read their SKILL.md and reference files. Extract:
411
- - **Validated patterns** — what was proven to work (use these, don't re-explore)
412
- - **Landmines** — what was proven NOT to work (avoid these)
413
- - **Constraints** — hard limits discovered (rate limits, API gaps, library limitations)
414
- - **Design decisions** — winning visual directions, CSS patterns, layout choices
415
-
416
- Add to `<prior_decisions>`:
417
- ```
418
- ## From Spike Experiments
419
- - [Validated pattern or constraint from spike findings]
420
-
421
- ## From Design Sketches
422
- - [Design decision or visual direction from sketch findings]
423
- ```
424
-
425
- If raw spikes/sketches exist but no findings skill, note in output:
426
- ```
427
- ⚠ Unpackaged spikes/sketches detected — run `/gsd-spike-wrap-up` or `/gsd-sketch-wrap-up` to make findings available to planning agents.
428
- ```
429
-
430
396
  **Usage in subsequent steps:**
431
- - `analyze_phase`: Skip gray areas already decided in prior phases or validated by spikes/sketches
432
- - `present_gray_areas`: Annotate options with prior decisions ("You chose X in Phase 5") and spike/sketch findings ("Spike 002 validated this approach")
397
+ - `analyze_phase`: Skip gray areas already decided in prior phases
398
+ - `present_gray_areas`: Annotate options with prior decisions ("You chose X in Phase 5")
433
399
  - `discuss_areas`: Pre-fill answers or flag conflicts ("This contradicts Phase 3 — same here or different?")
434
400
 
435
401
  **If `context-history` fails or returns no usable data:** Fall back to the legacy approach for reliability:
@@ -557,58 +523,18 @@ Analyze the phase to identify gray areas worth discussing. **Use both `prior_dec
557
523
 
558
524
  **Advisor Mode Detection:**
559
525
 
560
- Check if advisor mode should activate:
561
-
562
- 1. Check for USER-PROFILE.md:
563
- ```bash
564
- PROFILE_PATH="$HOME/.claude/get-shit-done/USER-PROFILE.md"
565
- ```
566
- ADVISOR_MODE = file exists at PROFILE_PATH → true, otherwise → false
526
+ Advisor mode is ON by default. It is disabled only when the `--no-advisor` flag is present in $ARGUMENTS.
567
527
 
568
- 2. If ADVISOR_MODE is true, resolve vendor_philosophy calibration tier:
569
- - Priority 1: Read config.json > preferences.vendor_philosophy (project-level override)
570
- - Priority 2: Read USER-PROFILE.md Vendor Choices/Philosophy rating (global)
571
- - Priority 3: Default to "standard" if neither has a value or value is UNSCORED
528
+ 1. Set ADVISOR_MODE = true unless `--no-advisor` was passed.
572
529
 
573
- Map to calibration tier:
574
- - conservative OR thorough-evaluator → full_maturity
575
- - opinionated → minimal_decisive
576
- - pragmatic-fast OR any other value OR empty → standard
530
+ 2. Calibration tier is fixed at `standard`.
577
531
 
578
532
  3. Resolve model for advisor agents:
579
533
  ```bash
580
534
  ADVISOR_MODEL=$(gsd-remix-sdk query resolve-model gsd-advisor-researcher --raw)
581
535
  ```
582
536
 
583
- If ADVISOR_MODE is false, skip all advisor-specific steps — workflow proceeds with existing conversational flow unchanged.
584
-
585
- **User Profile Language Detection:**
586
-
587
- Check USER-PROFILE.md for communication preferences that indicate a non-technical product owner:
588
-
589
- ```bash
590
- PROFILE_CONTENT=$(cat "$HOME/.claude/get-shit-done/USER-PROFILE.md" 2>/dev/null || true)
591
- ```
592
-
593
- Set NON_TECHNICAL_OWNER = true if ANY of the following are present in USER-PROFILE.md:
594
- - `learning_style: guided`
595
- - The word `jargon` appears in a `frustration_triggers` section
596
- - `explanation_depth: practical-detailed` (without a technical modifier)
597
- - `explanation_depth: high-level`
598
-
599
- NON_TECHNICAL_OWNER = false if USER-PROFILE.md does not exist or none of the above signals are present.
600
-
601
- When NON_TECHNICAL_OWNER is true, reframe gray area labels and descriptions in product-outcome language before presenting them to the user. Preserve the same underlying decision — only change the framing:
602
- - Technical implementation term → outcome the user will experience
603
- - "Token architecture" → "Color system: which approach prevents the dark theme from flashing white on open"
604
- - "CSS variable strategy" → "Theme colors: how your brand colors stay consistent in both light and dark mode"
605
- - "Component API surface area" → "How the building blocks connect: how tightly coupled should these parts be"
606
- - "Caching strategy: SWR vs React Query" → "Loading speed: should screens show saved data right away or wait for fresh data"
607
- - All decisions stay the same. Only the question language adapts.
608
-
609
- This reframing applies to:
610
- 1. Gray area labels and descriptions in `present_gray_areas`
611
- 2. Advisor research rationale rewrites in `advisor_research` synthesis
537
+ If ADVISOR_MODE is false (`--no-advisor`), skip all advisor-specific steps — workflow proceeds with the plain conversational flow unchanged.
612
538
 
613
539
  **Output your analysis internally, then present to user.**
614
540
 
@@ -717,7 +643,7 @@ After user selects gray areas in present_gray_areas, spawn parallel research age
717
643
  <gray_area>{area_name}: {area_description from gray area identification}</gray_area>
718
644
  <phase_context>{phase_goal and description from ROADMAP.md}</phase_context>
719
645
  <project_context>{project name and brief description from PROJECT.md}</project_context>
720
- <calibration_tier>{resolved calibration tier: full_maturity | standard | minimal_decisive}</calibration_tier>
646
+ <calibration_tier>standard</calibration_tier>
721
647
 
722
648
  Research this gray area and return a structured comparison table with rationale.
723
649
  ${AGENT_SKILLS_ADVISOR}",
@@ -732,15 +658,10 @@ After user selects gray areas in present_gray_areas, spawn parallel research age
732
658
  For each agent's return:
733
659
  a. Parse the markdown comparison table and rationale paragraph
734
660
  b. Verify all 5 columns present (Option | Pros | Cons | Complexity | Recommendation) — fill any missing columns rather than showing broken table
735
- c. Verify option count matches calibration tier:
736
- - full_maturity: 3-5 options acceptable
737
- - standard: 2-4 options acceptable
738
- - minimal_decisive: 1-2 options acceptable
661
+ c. Verify option count matches the standard calibration (2-4 options acceptable).
739
662
  If agent returned too many, trim least viable. If too few, accept as-is.
740
663
  d. Rewrite rationale paragraph to weave in project context and ongoing discussion context that the agent did not have access to
741
664
  e. If agent returned only 1 option, convert from table format to direct recommendation: "Standard approach for {area}: {option}. {rationale}"
742
- f. **If NON_TECHNICAL_OWNER is true:** After completing steps a–e, apply a plain language rewrite to the rationale paragraph. Replace implementation-level terms with outcome descriptions the user can reason about without technical context. The table option names may also be rewritten in plain language if they are implementation terms — the Recommendation column value and the table structure remain intact. Do not remove detail; translate it. Example: "SWR uses stale-while-revalidate to serve cached responses immediately" → "This approach shows you something right away, then quietly updates in the background — users see data instantly."
743
-
744
665
  4. Store synthesized tables for use in discuss_areas.
745
666
 
746
667
  **If ADVISOR_MODE is false:** Skip this step entirely — proceed directly from present_gray_areas to discuss_areas.
@@ -766,20 +687,6 @@ Table-first discussion flow — present research-backed comparison tables, then
766
687
  - If user picks from table options → record as locked decision for that area
767
688
  - If user picks "Other" → receive their input, reflect it back for confirmation, record
768
689
 
769
- **Thinking partner (conditional):**
770
- If `features.thinking_partner` is enabled in config, check the user's answer for tradeoff signals
771
- (see `references/thinking-partner.md` for signal list). If tradeoff detected:
772
-
773
- ```
774
- I notice competing priorities here — {option_A} optimizes for {goal_A} while {option_B} optimizes for {goal_B}.
775
-
776
- Want me to think through the tradeoffs before we lock this in?
777
- [Yes, analyze] / [No, decision made]
778
- ```
779
-
780
- If yes: provide 3-5 bullet analysis (what each optimizes/sacrifices, alignment with PROJECT.md goals, recommendation). Then return to normal flow.
781
- If no or thinking_partner disabled: continue to next area.
782
-
783
690
  4. **After recording pick, Claude decides whether follow-up questions are needed:**
784
691
  - If the pick has ambiguity that would affect downstream planning → ask 1-2 targeted follow-up questions using AskUserQuestion
785
692
  - If the pick is clear and self-contained → move to next area
@@ -1184,7 +1091,6 @@ Created: .planning/phases/${PADDED_PHASE}-${SLUG}/${PADDED_PHASE}-CONTEXT.md
1184
1091
  **Also available:**
1185
1092
  - `/gsd-discuss-phase ${PHASE} --chain ${GSD_WS}` — re-run with auto plan+execute after
1186
1093
  - `/gsd-plan-phase ${PHASE} --skip-research ${GSD_WS}` — plan without research
1187
- - `/gsd-ui-phase ${PHASE} ${GSD_WS}` — generate UI design contract before planning (if phase has frontend work)
1188
1094
  - Review/edit CONTEXT.md before continuing
1189
1095
 
1190
1096
  ---
@@ -42,10 +42,6 @@ Evaluate `$ARGUMENTS` against these routing rules. Apply the **first matching**
42
42
  | Starting a new project, "set up", "initialize" | `/gsd-new-project` | Needs full project initialization |
43
43
  | Mapping or analyzing an existing codebase | `/gsd-map-codebase` | Codebase discovery |
44
44
  | A bug, error, crash, failure, or something broken | `/gsd-debug` | Needs systematic investigation |
45
- | Spiking, "test if", "will this work", "experiment", "prove this out", validate feasibility | `/gsd-spike` | Throwaway experiment to validate feasibility |
46
- | Sketching, "mockup", "what would this look like", "prototype the UI", "design this", explore visual direction | `/gsd-sketch` | Throwaway HTML mockups to explore design |
47
- | Wrapping up spikes, "package the spikes", "consolidate spike findings" | `/gsd-spike-wrap-up` | Package spike findings into reusable skill |
48
- | Wrapping up sketches, "package the designs", "consolidate sketch findings" | `/gsd-sketch-wrap-up` | Package sketch findings into reusable skill |
49
45
  | Exploring, researching, comparing, or "how does X work" | `/gsd-research-phase` | Domain research before planning |
50
46
  | Discussing vision, "how should X look", brainstorming | `/gsd-discuss-phase` | Needs context gathering |
51
47
  | A complex task: refactoring, migration, multi-file architecture, system redesign | `/gsd-add-phase` | Needs a full phase with plan/build cycle |
@@ -60,7 +56,7 @@ Evaluate `$ARGUMENTS` against these routing rules. Apply the **first matching**
60
56
  | Completing a milestone, shipping, releasing | `/gsd-complete-milestone` | Milestone lifecycle |
61
57
  | A specific, actionable, small task (add feature, fix typo, update config) | `/gsd-quick` | Self-contained, single executor |
62
58
 
63
- **Requires `.planning/` directory:** All routes except `/gsd-new-project`, `/gsd-map-codebase`, `/gsd-spike`, `/gsd-sketch`, `/gsd-help`, and `/gsd-join-discord`. If the project doesn't exist and the route requires it, suggest `/gsd-new-project` first.
59
+ **Requires `.planning/` directory:** All routes except `/gsd-new-project`, `/gsd-map-codebase`, and `/gsd-help`. If the project doesn't exist and the route requires it, suggest `/gsd-new-project` first.
64
60
 
65
61
  **Ambiguity handling:** If the text could reasonably match multiple routes, ask the user via AskUserQuestion with the top 2-3 options. For example:
66
62