@opengsd/gsd-core 1.12.0 → 1.14.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 (455) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.opencode/plugins/gsd-core.js +12 -0
  4. package/agents/gsd-advisor-researcher.compact.md +85 -0
  5. package/agents/gsd-ai-researcher.compact.md +96 -0
  6. package/agents/gsd-assumptions-analyzer.compact.md +81 -0
  7. package/agents/gsd-code-fixer.compact.md +458 -0
  8. package/agents/gsd-code-fixer.md +5 -5
  9. package/agents/gsd-code-reviewer.compact.md +269 -0
  10. package/agents/gsd-code-reviewer.md +15 -3
  11. package/agents/gsd-codebase-mapper.compact.md +760 -0
  12. package/agents/gsd-debug-session-manager.compact.md +345 -0
  13. package/agents/gsd-doc-classifier.compact.md +192 -0
  14. package/agents/gsd-doc-synthesizer.compact.md +200 -0
  15. package/agents/gsd-doc-verifier.compact.md +143 -0
  16. package/agents/gsd-doc-writer.compact.md +440 -0
  17. package/agents/gsd-dom-verifier.compact.md +138 -0
  18. package/agents/gsd-domain-researcher.compact.md +141 -0
  19. package/agents/gsd-eval-auditor.compact.md +160 -0
  20. package/agents/gsd-eval-planner.compact.md +137 -0
  21. package/agents/gsd-executor.md +63 -35
  22. package/agents/gsd-framework-selector.compact.md +82 -0
  23. package/agents/gsd-integration-checker.compact.md +245 -0
  24. package/agents/gsd-intel-updater.compact.md +226 -0
  25. package/agents/gsd-mempalace-curator.compact.md +45 -0
  26. package/agents/gsd-nyquist-auditor.compact.md +179 -0
  27. package/agents/gsd-pattern-mapper.compact.md +275 -0
  28. package/agents/gsd-plan-checker.md +76 -57
  29. package/agents/gsd-planner.md +14 -0
  30. package/agents/gsd-project-researcher.compact.md +587 -0
  31. package/agents/gsd-research-synthesizer.compact.md +212 -0
  32. package/agents/gsd-roadmapper.compact.md +454 -0
  33. package/agents/gsd-roadmapper.md +13 -0
  34. package/agents/gsd-security-auditor.compact.md +162 -0
  35. package/agents/gsd-ui-auditor.compact.md +404 -0
  36. package/agents/gsd-ui-checker.compact.md +277 -0
  37. package/agents/gsd-ui-checker.md +19 -3
  38. package/agents/gsd-ui-researcher.compact.md +282 -0
  39. package/agents/gsd-ui-researcher.md +29 -0
  40. package/agents/gsd-user-profiler.compact.md +108 -0
  41. package/agents/gsd-verifier.md +23 -1
  42. package/bin/install.js +444 -134
  43. package/commands/gsd/cleanup.md +1 -0
  44. package/commands/gsd/code-review.md +2 -1
  45. package/commands/gsd/complete-milestone.md +1 -0
  46. package/commands/gsd/config.md +1 -0
  47. package/commands/gsd/debug.md +1 -0
  48. package/commands/gsd/execute-phase.md +1 -1
  49. package/commands/gsd/graphify.md +1 -0
  50. package/commands/gsd/health.md +1 -0
  51. package/commands/gsd/mempalace-capture.md +1 -0
  52. package/commands/gsd/mempalace-recall.md +1 -0
  53. package/commands/gsd/new-milestone.md +1 -0
  54. package/commands/gsd/new-project.md +1 -0
  55. package/commands/gsd/next.md +1 -0
  56. package/commands/gsd/ns-workflow.md +2 -1
  57. package/commands/gsd/pause-work.md +1 -0
  58. package/commands/gsd/phase.md +2 -1
  59. package/commands/gsd/pr-branch.md +1 -0
  60. package/commands/gsd/quick-batch.md +105 -0
  61. package/commands/gsd/resume-work.md +1 -0
  62. package/commands/gsd/review-backlog.md +1 -0
  63. package/commands/gsd/settings.md +2 -1
  64. package/commands/gsd/stats.md +1 -0
  65. package/commands/gsd/surface.md +18 -8
  66. package/commands/gsd/thread.md +1 -0
  67. package/commands/gsd/workspace.md +1 -0
  68. package/commands/gsd/workstreams.md +1 -0
  69. package/gsd-core/bin/check-latest-version.cjs +8 -3
  70. package/gsd-core/bin/gsd-tools.cjs +532 -174
  71. package/gsd-core/bin/lib/adr-parser.cjs +1 -1
  72. package/gsd-core/bin/lib/artifacts.cjs +2 -1
  73. package/gsd-core/bin/lib/audit.cjs +39 -22
  74. package/gsd-core/bin/lib/broken-windows.cjs +168 -49
  75. package/gsd-core/bin/lib/capability-activation.cjs +27 -0
  76. package/gsd-core/bin/lib/capability-lifecycle.cjs +10 -6
  77. package/gsd-core/bin/lib/capability-loader.cjs +135 -1
  78. package/gsd-core/bin/lib/capability-registry.cjs +528 -116
  79. package/gsd-core/bin/lib/capability-source.cjs +19 -2
  80. package/gsd-core/bin/lib/capability-state.cjs +7 -1
  81. package/gsd-core/bin/lib/capability-validator.cjs +134 -5
  82. package/gsd-core/bin/lib/capability-writer.cjs +14 -4
  83. package/gsd-core/bin/lib/check-command-router.cjs +198 -38
  84. package/gsd-core/bin/lib/claude-orchestration.cjs +10 -25
  85. package/gsd-core/bin/lib/clusters.cjs +1 -0
  86. package/gsd-core/bin/lib/code-review-depth.cjs +2 -2
  87. package/gsd-core/bin/lib/command-aliases.cjs +16 -0
  88. package/gsd-core/bin/lib/commands.cjs +981 -79
  89. package/gsd-core/bin/lib/config-loader.cjs +4 -0
  90. package/gsd-core/bin/lib/config.cjs +153 -38
  91. package/gsd-core/bin/lib/core-utils.cjs +34 -7
  92. package/gsd-core/bin/lib/coverage.cjs +1 -1
  93. package/gsd-core/bin/lib/decisions.cjs +343 -28
  94. package/gsd-core/bin/lib/edge-probe.cjs +14 -1
  95. package/gsd-core/bin/lib/external-descriptor-trust.cjs +29 -14
  96. package/gsd-core/bin/lib/file-overlap-partitioner.cjs +74 -0
  97. package/gsd-core/bin/lib/frontmatter.cjs +137 -23
  98. package/gsd-core/bin/lib/gap-checker.cjs +22 -13
  99. package/gsd-core/bin/lib/git-base-branch.cjs +10 -2
  100. package/gsd-core/bin/lib/gsd2-import.cjs +1 -2
  101. package/gsd-core/bin/lib/health-diagnostic-rules/phase-structure.cjs +8 -2
  102. package/gsd-core/bin/lib/health-diagnostic-rules/roadmap-disk-consistency.cjs +54 -11
  103. package/gsd-core/bin/lib/health-diagnostic-rules/state-consistency.cjs +87 -23
  104. package/gsd-core/bin/lib/health-diagnostic-rules/worktree-health.cjs +1 -1
  105. package/gsd-core/bin/lib/host-integration.cjs +57 -5
  106. package/gsd-core/bin/lib/init-command-router.cjs +14 -0
  107. package/gsd-core/bin/lib/init.cjs +539 -60
  108. package/gsd-core/bin/lib/install-engine.cjs +199 -14
  109. package/gsd-core/bin/lib/install-model-override-resolver.cjs +45 -0
  110. package/gsd-core/bin/lib/install-profiles.cjs +36 -14
  111. package/gsd-core/bin/lib/installer-migration-report.cjs +1 -0
  112. package/gsd-core/bin/lib/installer-migrations.cjs +33 -4
  113. package/gsd-core/bin/lib/io.cjs +35 -0
  114. package/gsd-core/bin/lib/loop-resolver.cjs +64 -39
  115. package/gsd-core/bin/lib/markdown-table.cjs +123 -0
  116. package/gsd-core/bin/lib/mcp-catalog.cjs +2 -2
  117. package/gsd-core/bin/lib/milestone.cjs +41 -10
  118. package/gsd-core/bin/lib/model-resolver.cjs +101 -10
  119. package/gsd-core/bin/lib/phase-command-router.cjs +20 -7
  120. package/gsd-core/bin/lib/phase-id.cjs +412 -31
  121. package/gsd-core/bin/lib/phase-lifecycle.cjs +61 -0
  122. package/gsd-core/bin/lib/phase.cjs +941 -98
  123. package/gsd-core/bin/lib/plan-document.cjs +10 -0
  124. package/gsd-core/bin/lib/planning-inspect.cjs +34 -18
  125. package/gsd-core/bin/lib/planning-snapshot.cjs +206 -30
  126. package/gsd-core/bin/lib/planning-workspace.cjs +153 -29
  127. package/gsd-core/bin/lib/pristine-baseline.cjs +182 -0
  128. package/gsd-core/bin/lib/prohibition-enforcement.cjs +91 -4
  129. package/gsd-core/bin/lib/quick-batch-command-router.cjs +285 -0
  130. package/gsd-core/bin/lib/quick-batch-dispatch.cjs +250 -0
  131. package/gsd-core/bin/lib/quick-batch.cjs +840 -0
  132. package/gsd-core/bin/lib/refactor-trigger-command-router.cjs +61 -2
  133. package/gsd-core/bin/lib/research-store.cjs +11 -12
  134. package/gsd-core/bin/lib/review-lane-descriptor.cjs +53 -5
  135. package/gsd-core/bin/lib/review-lane-invocation.cjs +96 -1
  136. package/gsd-core/bin/lib/review-lane-runner.cjs +136 -10
  137. package/gsd-core/bin/lib/reviewer-step-dispatch.cjs +337 -0
  138. package/gsd-core/bin/lib/roadmap-parser.cjs +555 -41
  139. package/gsd-core/bin/lib/roadmap.cjs +292 -69
  140. package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +260 -43
  141. package/gsd-core/bin/lib/runtime-artifact-install-plan.cjs +28 -20
  142. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +294 -108
  143. package/gsd-core/bin/lib/runtime-hooks-surface.cjs +408 -47
  144. package/gsd-core/bin/lib/security.cjs +126 -7
  145. package/gsd-core/bin/lib/shell-command-projection.cjs +4 -0
  146. package/gsd-core/bin/lib/smart-entry.cjs +7 -9
  147. package/gsd-core/bin/lib/state-document.cjs +159 -32
  148. package/gsd-core/bin/lib/state-md-schema.cjs +44 -27
  149. package/gsd-core/bin/lib/state-transition.cjs +465 -62
  150. package/gsd-core/bin/lib/state.cjs +906 -151
  151. package/gsd-core/bin/lib/surface.cjs +83 -10
  152. package/gsd-core/bin/lib/task-command-router.cjs +12 -6
  153. package/gsd-core/bin/lib/tdd-red-evidence.cjs +133 -0
  154. package/gsd-core/bin/lib/uat.cjs +1420 -516
  155. package/gsd-core/bin/lib/update-context.cjs +36 -26
  156. package/gsd-core/bin/lib/validate.cjs +230 -12
  157. package/gsd-core/bin/lib/vendor/js-yaml.cjs +11 -3
  158. package/gsd-core/bin/lib/verification-command-router.cjs +2 -1
  159. package/gsd-core/bin/lib/verification.cjs +316 -23
  160. package/gsd-core/bin/lib/verify-command-grounding.cjs +1 -1
  161. package/gsd-core/bin/lib/verify-command-router.cjs +1 -0
  162. package/gsd-core/bin/lib/verify.cjs +531 -36
  163. package/gsd-core/bin/lib/workstream-inventory.cjs +21 -2
  164. package/gsd-core/bin/lib/worktree-safety.cjs +21 -7
  165. package/gsd-core/bin/shared/config-defaults.manifest.json +1 -0
  166. package/gsd-core/bin/shared/config-schema.manifest.json +13 -0
  167. package/gsd-core/bin/verify-reapply-patches.cjs +507 -81
  168. package/gsd-core/references/agent-contracts.md +3 -3
  169. package/gsd-core/references/compact-content-gate.md +66 -0
  170. package/gsd-core/references/edge-probe.md +17 -13
  171. package/gsd-core/references/execute-mvp-tdd.md +18 -16
  172. package/gsd-core/references/execute-phase-response-language.md +6 -0
  173. package/gsd-core/references/executor-examples.md +42 -0
  174. package/gsd-core/references/few-shot-examples/plan-checker.md +15 -15
  175. package/gsd-core/references/loop-hook-dispatch.md +18 -0
  176. package/gsd-core/references/model-profiles.md +12 -3
  177. package/gsd-core/references/mvp-concepts.md +2 -2
  178. package/gsd-core/references/plan-checker-examples.md +41 -0
  179. package/gsd-core/references/planner-antipatterns.md +25 -0
  180. package/gsd-core/references/planner-chunked.md +5 -1
  181. package/gsd-core/references/planner-coupling.md +42 -0
  182. package/gsd-core/references/planner-quick-batch.md +71 -0
  183. package/gsd-core/references/planner-reviews.md +47 -0
  184. package/gsd-core/references/planner-revision.md +75 -2
  185. package/gsd-core/references/planning-config.md +5 -1
  186. package/gsd-core/references/response-language-directive.md +9 -0
  187. package/gsd-core/references/revision-loop.md +118 -11
  188. package/gsd-core/references/tdd.md +17 -9
  189. package/gsd-core/references/thinking-models-planning.md +18 -2
  190. package/gsd-core/references/verification-patterns.md +17 -4
  191. package/gsd-core/references/verifier-evidence-gate.md +160 -0
  192. package/gsd-core/references/worktree-path-safety.md +112 -2
  193. package/gsd-core/templates/README.md +7 -1
  194. package/gsd-core/templates/phase-prompt.md +4 -0
  195. package/gsd-core/templates/state.md +6 -3
  196. package/gsd-core/templates/summary.compact.md +212 -0
  197. package/gsd-core/templates/user-setup.compact.md +199 -0
  198. package/gsd-core/templates/user-setup.md +0 -9
  199. package/gsd-core/templates/verification-report.md +5 -0
  200. package/gsd-core/workflows/add-backlog.md +2 -0
  201. package/gsd-core/workflows/add-phase.md +2 -0
  202. package/gsd-core/workflows/add-tests.md +1 -1
  203. package/gsd-core/workflows/add-todo.md +4 -3
  204. package/gsd-core/workflows/ai-integration-phase.md +1 -1
  205. package/gsd-core/workflows/analyze-dependencies.md +2 -0
  206. package/gsd-core/workflows/audit-fix.md +2 -0
  207. package/gsd-core/workflows/audit-milestone.md +2 -0
  208. package/gsd-core/workflows/audit-uat.md +2 -0
  209. package/gsd-core/workflows/autonomous.md +15 -10
  210. package/gsd-core/workflows/check-todos.md +5 -3
  211. package/gsd-core/workflows/cleanup.md +4 -2
  212. package/gsd-core/workflows/code-review/steps/structural-pre-pass.md +22 -13
  213. package/gsd-core/workflows/code-review-fix.md +5 -3
  214. package/gsd-core/workflows/code-review.md +211 -43
  215. package/gsd-core/workflows/complete-milestone/detail/elaboration.md +274 -0
  216. package/gsd-core/workflows/complete-milestone.md +40 -254
  217. package/gsd-core/workflows/debug.md +1 -1
  218. package/gsd-core/workflows/diagnose-issues.md +5 -1
  219. package/gsd-core/workflows/discuss-phase/modes/advisor.md +2 -0
  220. package/gsd-core/workflows/discuss-phase/modes/all.md +2 -0
  221. package/gsd-core/workflows/discuss-phase/modes/analyze.md +2 -0
  222. package/gsd-core/workflows/discuss-phase/modes/auto.md +2 -0
  223. package/gsd-core/workflows/discuss-phase/modes/batch.md +2 -0
  224. package/gsd-core/workflows/discuss-phase/modes/chain.md +2 -0
  225. package/gsd-core/workflows/discuss-phase/modes/default.md +2 -0
  226. package/gsd-core/workflows/discuss-phase/modes/power.md +2 -0
  227. package/gsd-core/workflows/discuss-phase/modes/text.md +2 -0
  228. package/gsd-core/workflows/discuss-phase/templates/context.md +2 -0
  229. package/gsd-core/workflows/discuss-phase/templates/discussion-log.md +2 -0
  230. package/gsd-core/workflows/discuss-phase-assumptions.md +1 -1
  231. package/gsd-core/workflows/discuss-phase-power.md +2 -0
  232. package/gsd-core/workflows/discuss-phase.md +1 -1
  233. package/gsd-core/workflows/do.md +43 -13
  234. package/gsd-core/workflows/docs-update/detail/elaboration.md +179 -0
  235. package/gsd-core/workflows/docs-update.md +15 -156
  236. package/gsd-core/workflows/edit-phase.md +2 -0
  237. package/gsd-core/workflows/eval-review.md +1 -1
  238. package/gsd-core/workflows/execute-phase/detail/elaboration.md +124 -0
  239. package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +20 -3
  240. package/gsd-core/workflows/execute-phase/steps/completion-reconciliation.md +56 -0
  241. package/gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md +24 -3
  242. package/gsd-core/workflows/execute-phase/steps/executor-progress-policy.md +43 -0
  243. package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +8 -2
  244. package/gsd-core/workflows/execute-phase/steps/regression-gate-run.md +2 -0
  245. package/gsd-core/workflows/execute-phase/steps/sequential-root-pin.md +35 -0
  246. package/gsd-core/workflows/execute-phase/steps/tdd-applicability-resolution.md +25 -0
  247. package/gsd-core/workflows/execute-phase/steps/worktree-recovery-policy.md +2 -0
  248. package/gsd-core/workflows/execute-phase.md +78 -159
  249. package/gsd-core/workflows/execute-plan.md +28 -15
  250. package/gsd-core/workflows/explore.md +2 -0
  251. package/gsd-core/workflows/extract-learnings.md +2 -0
  252. package/gsd-core/workflows/fast.md +6 -0
  253. package/gsd-core/workflows/forensics.md +2 -0
  254. package/gsd-core/workflows/graduation.md +1 -1
  255. package/gsd-core/workflows/health.md +1 -1
  256. package/gsd-core/workflows/help/modes/brief.md +2 -0
  257. package/gsd-core/workflows/help/modes/default.md +2 -0
  258. package/gsd-core/workflows/help/modes/full.compact.md +398 -0
  259. package/gsd-core/workflows/help/modes/full.md +12 -0
  260. package/gsd-core/workflows/help/modes/topic.md +2 -0
  261. package/gsd-core/workflows/help.md +3 -1
  262. package/gsd-core/workflows/import.md +3 -3
  263. package/gsd-core/workflows/inbox.md +1 -1
  264. package/gsd-core/workflows/ingest-docs.md +1 -1
  265. package/gsd-core/workflows/insert-phase.md +2 -0
  266. package/gsd-core/workflows/list-phase-assumptions.md +2 -0
  267. package/gsd-core/workflows/list-seeds.md +2 -0
  268. package/gsd-core/workflows/list-workspaces.md +2 -0
  269. package/gsd-core/workflows/manager.md +3 -3
  270. package/gsd-core/workflows/map-codebase.md +52 -3
  271. package/gsd-core/workflows/milestone-summary.md +2 -0
  272. package/gsd-core/workflows/mvp-phase.md +1 -1
  273. package/gsd-core/workflows/new-milestone.md +55 -13
  274. package/gsd-core/workflows/new-project/detail/elaboration.md +216 -0
  275. package/gsd-core/workflows/new-project.md +37 -205
  276. package/gsd-core/workflows/new-workspace.md +1 -1
  277. package/gsd-core/workflows/next.md +2 -0
  278. package/gsd-core/workflows/node-repair.md +2 -0
  279. package/gsd-core/workflows/note.md +2 -0
  280. package/gsd-core/workflows/onboard.md +1 -1
  281. package/gsd-core/workflows/pause-work.md +19 -4
  282. package/gsd-core/workflows/plan-phase/detail/elaboration.md +209 -0
  283. package/gsd-core/workflows/plan-phase/steps/chunked-planning-mode.md +100 -18
  284. package/gsd-core/workflows/plan-phase/steps/prd-express-path.md +2 -0
  285. package/gsd-core/workflows/plan-phase/steps/stall-detection-helpers.md +9 -0
  286. package/gsd-core/workflows/plan-phase.md +144 -185
  287. package/gsd-core/workflows/plan-review-convergence.md +102 -10
  288. package/gsd-core/workflows/plant-seed.md +1 -1
  289. package/gsd-core/workflows/pr-branch.md +30 -10
  290. package/gsd-core/workflows/profile-user.md +1 -1
  291. package/gsd-core/workflows/progress/steps/forensic-audit.md +1 -1
  292. package/gsd-core/workflows/progress.md +25 -3
  293. package/gsd-core/workflows/quick/steps/plan-checker-loop.md +37 -2
  294. package/gsd-core/workflows/quick/steps/research-phase.md +3 -3
  295. package/gsd-core/workflows/quick-batch/steps/batch-init.md +55 -0
  296. package/gsd-core/workflows/quick-batch/steps/completion.md +65 -0
  297. package/gsd-core/workflows/quick-batch/steps/merge-wave.md +100 -0
  298. package/gsd-core/workflows/quick-batch/steps/plan-checker-loop.md +147 -0
  299. package/gsd-core/workflows/quick-batch/steps/planner-wave.md +158 -0
  300. package/gsd-core/workflows/quick-batch/steps/research-phase.md +95 -0
  301. package/gsd-core/workflows/quick-batch/steps/resume-mode.md +49 -0
  302. package/gsd-core/workflows/quick-batch/steps/verification-wave.md +73 -0
  303. package/gsd-core/workflows/quick-batch/steps/worktree-dispatch.md +169 -0
  304. package/gsd-core/workflows/quick-batch.md +203 -0
  305. package/gsd-core/workflows/quick.md +21 -4
  306. package/gsd-core/workflows/reapply-patches.md +79 -3
  307. package/gsd-core/workflows/remove-phase.md +2 -0
  308. package/gsd-core/workflows/remove-workspace.md +1 -1
  309. package/gsd-core/workflows/resume-project.md +6 -2
  310. package/gsd-core/workflows/review.md +215 -10
  311. package/gsd-core/workflows/scan.md +2 -0
  312. package/gsd-core/workflows/section-manifest.json +12 -0
  313. package/gsd-core/workflows/secure-phase.md +1 -1
  314. package/gsd-core/workflows/session-report.md +2 -0
  315. package/gsd-core/workflows/settings-advanced.md +2 -0
  316. package/gsd-core/workflows/settings-integrations.md +9 -8
  317. package/gsd-core/workflows/settings.md +19 -6
  318. package/gsd-core/workflows/ship.md +10 -10
  319. package/gsd-core/workflows/sketch-wrap-up.md +2 -0
  320. package/gsd-core/workflows/sketch.md +1 -1
  321. package/gsd-core/workflows/smart-entry.md +1 -1
  322. package/gsd-core/workflows/spec-phase.md +24 -19
  323. package/gsd-core/workflows/spike-wrap-up.md +2 -0
  324. package/gsd-core/workflows/spike.md +1 -1
  325. package/gsd-core/workflows/stats.md +2 -0
  326. package/gsd-core/workflows/sync-skills.md +12 -4
  327. package/gsd-core/workflows/thread.md +2 -0
  328. package/gsd-core/workflows/transition.md +2 -0
  329. package/gsd-core/workflows/ui-phase.md +26 -5
  330. package/gsd-core/workflows/ui-review.md +1 -1
  331. package/gsd-core/workflows/ultraplan-phase.md +2 -0
  332. package/gsd-core/workflows/undo.md +1 -1
  333. package/gsd-core/workflows/update.md +48 -43
  334. package/gsd-core/workflows/validate-phase.md +1 -1
  335. package/gsd-core/workflows/verify-work/detail/elaboration.md +230 -0
  336. package/gsd-core/workflows/verify-work.md +68 -182
  337. package/hooks/dist/gsd-agent-isolation-guard.js +42 -16
  338. package/hooks/dist/gsd-check-update-worker.js +19 -2
  339. package/hooks/dist/gsd-context-monitor.js +371 -27
  340. package/hooks/dist/gsd-cursor-subagent-start.js +34 -14
  341. package/hooks/dist/gsd-node-runner.sh +1 -0
  342. package/hooks/dist/gsd-prompt-guard.js +30 -5
  343. package/hooks/dist/gsd-read-guard.js +2 -0
  344. package/hooks/dist/gsd-read-injection-scanner.js +5 -5
  345. package/hooks/dist/gsd-secret-read-guard.js +1105 -0
  346. package/hooks/dist/gsd-statusline.js +18 -10
  347. package/hooks/dist/gsd-validate-commit.sh +474 -7
  348. package/hooks/dist/gsd-workflow-guard.js +2 -1
  349. package/hooks/dist/gsd-worktree-path-guard.js +25 -14
  350. package/hooks/dist/gsd-write-guard.js +46 -1
  351. package/hooks/dist/lib/dispatch-identity.js +187 -0
  352. package/hooks/dist/lib/filename-classification.js +64 -0
  353. package/hooks/dist/lib/git-cmd.js +210 -1
  354. package/hooks/dist/lib/injection-patterns.js +36 -6
  355. package/hooks/dist/lib/isolation-deny-reason.js +53 -1
  356. package/hooks/dist/lib/isolation-sentinel.js +58 -19
  357. package/hooks/dist/managed-hooks-registry.cjs +1 -0
  358. package/hooks/gsd-agent-isolation-guard.js +42 -16
  359. package/hooks/gsd-check-update-worker.js +19 -2
  360. package/hooks/gsd-context-monitor.js +371 -27
  361. package/hooks/gsd-cursor-subagent-start.js +34 -14
  362. package/hooks/gsd-node-runner.sh +1 -0
  363. package/hooks/gsd-prompt-guard.js +30 -5
  364. package/hooks/gsd-read-guard.js +2 -0
  365. package/hooks/gsd-read-injection-scanner.js +5 -5
  366. package/hooks/gsd-secret-read-guard.js +1105 -0
  367. package/hooks/gsd-statusline.js +18 -10
  368. package/hooks/gsd-validate-commit.sh +474 -7
  369. package/hooks/gsd-workflow-guard.js +2 -1
  370. package/hooks/gsd-worktree-path-guard.js +25 -14
  371. package/hooks/gsd-write-guard.js +46 -1
  372. package/hooks/hooks.json +6 -0
  373. package/hooks/lib/dispatch-identity.js +187 -0
  374. package/hooks/lib/filename-classification.js +64 -0
  375. package/hooks/lib/git-cmd.js +210 -1
  376. package/hooks/lib/injection-patterns.js +36 -6
  377. package/hooks/lib/isolation-deny-reason.js +53 -1
  378. package/hooks/lib/isolation-sentinel.js +58 -19
  379. package/hooks/managed-hooks-registry.cjs +1 -0
  380. package/package.json +13 -9
  381. package/scripts/benchmark-compact-content-variants.cjs +298 -0
  382. package/scripts/benchmark-compact-content.cjs +368 -0
  383. package/scripts/build-hooks.js +11 -4
  384. package/scripts/check-contract-drift.cjs +4 -1
  385. package/scripts/check-env.cjs +36 -8
  386. package/scripts/check-glossary-refs.cjs +25 -21
  387. package/scripts/ci-next-health.cjs +271 -0
  388. package/scripts/ci-prepare-test-scope.cjs +7 -7
  389. package/scripts/ci-test-scope.cjs +133 -20
  390. package/scripts/ci-timeout-report.cjs +1 -1
  391. package/scripts/diff-touches-shipped-paths.cjs +1 -1
  392. package/scripts/docs-guard-registry.cjs +17 -2
  393. package/scripts/gen-adr-index.cjs +8 -2
  394. package/scripts/gen-inventory-manifest.cjs +12 -0
  395. package/scripts/gen-loop-host-contract.cjs +67 -15
  396. package/scripts/gen-platform-conformance-tier.cjs +557 -0
  397. package/scripts/lib/drift-scan.cjs +1 -1
  398. package/scripts/lib/macos-conformance-tier.generated.cjs +210 -0
  399. package/scripts/lib/npm-version-check-diagnosis.cjs +59 -0
  400. package/scripts/lib/platform-conformance-tier.generated.cjs +276 -0
  401. package/scripts/lib/shellcheck-fetch.cjs +247 -0
  402. package/scripts/lib/suite-detection.cjs +32 -0
  403. package/scripts/lint-allow-test-rule-refs.allowlist.json +0 -6
  404. package/scripts/lint-allow-test-rule-refs.effective-ceiling.json +1 -1
  405. package/scripts/lint-allow-test-rule-refs.unverified-ceiling.json +1 -1
  406. package/scripts/lint-allowed-tools-parity.cjs +221 -0
  407. package/scripts/lint-docs-guard-registration.exempt-baseline.cjs +24 -2
  408. package/scripts/lint-phase-enumeration-drift.cjs +24 -6
  409. package/scripts/lint-phase-id-drift.cjs +465 -15
  410. package/scripts/lint-portable-grep.cjs +176 -0
  411. package/scripts/lint-response-language-coverage.cjs +530 -0
  412. package/scripts/lint-source-test-name-collision.cjs +1 -1
  413. package/scripts/lint-test-file-count.allowlist.json +4 -1
  414. package/scripts/lint-vendored-deps.cjs +128 -17
  415. package/scripts/lint-workflow-shellcheck-baseline.json +1112 -0
  416. package/scripts/lint-workflow-shellcheck.cjs +614 -0
  417. package/scripts/npm-audit-baseline.cjs +376 -0
  418. package/scripts/prompt-injection-scan.sh +22 -0
  419. package/scripts/require-issue-link-policy.cjs +16 -1
  420. package/scripts/workflow-size.cjs +139 -0
  421. package/skills/gsd-cleanup/SKILL.md +1 -0
  422. package/skills/gsd-code-review/SKILL.md +2 -1
  423. package/skills/gsd-complete-milestone/SKILL.md +1 -0
  424. package/skills/gsd-config/SKILL.md +1 -0
  425. package/skills/gsd-debug/SKILL.md +1 -0
  426. package/skills/gsd-execute-phase/SKILL.md +1 -1
  427. package/skills/gsd-graphify/SKILL.md +1 -0
  428. package/skills/gsd-health/SKILL.md +1 -0
  429. package/skills/gsd-mempalace-capture/SKILL.md +1 -0
  430. package/skills/gsd-mempalace-recall/SKILL.md +1 -0
  431. package/skills/gsd-new-milestone/SKILL.md +1 -0
  432. package/skills/gsd-new-project/SKILL.md +1 -0
  433. package/skills/gsd-next/SKILL.md +1 -0
  434. package/skills/gsd-ns-workflow/SKILL.md +1 -0
  435. package/skills/gsd-pause-work/SKILL.md +1 -0
  436. package/skills/gsd-phase/SKILL.md +2 -1
  437. package/skills/gsd-pr-branch/SKILL.md +1 -0
  438. package/skills/gsd-quick-batch/SKILL.md +105 -0
  439. package/skills/gsd-resume-work/SKILL.md +1 -0
  440. package/skills/gsd-review-backlog/SKILL.md +1 -0
  441. package/skills/gsd-settings/SKILL.md +2 -1
  442. package/skills/gsd-stats/SKILL.md +1 -0
  443. package/skills/gsd-surface/SKILL.md +18 -8
  444. package/skills/gsd-thread/SKILL.md +1 -0
  445. package/skills/gsd-workspace/SKILL.md +1 -0
  446. package/skills/gsd-workstreams/SKILL.md +1 -0
  447. package/vscode/package.json +1 -1
  448. package/gsd-core/templates/claude-md.md +0 -145
  449. package/gsd-core/templates/codebase/concerns.md +0 -310
  450. package/gsd-core/templates/codebase/conventions.md +0 -307
  451. package/gsd-core/templates/codebase/integrations.md +0 -280
  452. package/gsd-core/templates/codebase/structure.md +0 -285
  453. package/gsd-core/templates/codebase/testing.md +0 -480
  454. package/gsd-core/templates/debug-subagent-prompt.md +0 -91
  455. package/gsd-core/templates/discovery.md +0 -146
@@ -5,6 +5,7 @@ argument-hint: "[--repair] [--context]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Bash
8
+ - Grep
8
9
  - Write
9
10
  - AskUserQuestion
10
11
  ---
@@ -5,6 +5,7 @@ argument-hint: "[CONTEXT.md|PLAN.md|SUMMARY.md]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Bash
8
+ - Grep
8
9
  ---
9
10
 
10
11
 
@@ -6,6 +6,7 @@ allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
+ - Grep
9
10
  ---
10
11
 
11
12
 
@@ -6,6 +6,7 @@ allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
+ - Grep
9
10
  - Agent
10
11
  - AskUserQuestion
11
12
  ---
@@ -5,6 +5,7 @@ argument-hint: "[--auto]"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Bash
8
+ - Grep
8
9
  - Write
9
10
  - Agent
10
11
  - AskUserQuestion
@@ -5,6 +5,7 @@ allowed-tools:
5
5
  - Read
6
6
  - Bash
7
7
  - Glob
8
+ - Grep
8
9
  - SlashCommand
9
10
  - AskUserQuestion
10
11
  ---
@@ -32,5 +32,6 @@ workflow-advance command.
32
32
  | Execute a trivial task inline | gsd-fast |
33
33
  | Plan a phase as a vertical MVP slice | gsd-mvp-phase |
34
34
  | Execute a quick task with GSD guarantees | gsd-quick |
35
+ | Batch several quick-shaped tasks together | gsd-quick-batch |
35
36
 
36
37
  Invoke the matched skill directly using the Skill tool.
@@ -6,6 +6,7 @@ allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
+ - Grep
9
10
  ---
10
11
 
11
12
 
@@ -1,12 +1,13 @@
1
1
  ---
2
2
  name: gsd-phase
3
- description: "CRUD for phases in ROADMAP.md — add, insert, remove, or edit phases"
3
+ description: "Multi-phase management — add, insert, remove, or edit phases in ROADMAP.md (roadmap phase CRUD)"
4
4
  argument-hint: "[--insert | --remove | --edit] <phase-name-or-number>"
5
5
  allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
9
  - Glob
10
+ - Grep
10
11
  ---
11
12
 
12
13
 
@@ -4,6 +4,7 @@ description: "Create a clean PR branch by filtering out .planning/ commits — r
4
4
  argument-hint: "[target branch, default: main]"
5
5
  allowed-tools:
6
6
  - Bash
7
+ - Grep
7
8
  - Read
8
9
  - AskUserQuestion
9
10
  ---
@@ -0,0 +1,105 @@
1
+ ---
2
+ name: gsd-quick-batch
3
+ description: "Batch several /gsd:quick-shaped tasks together — planned, dispatched, and merged as one run"
4
+ argument-hint: "[--file <path>] [--jobs auto|N] [--validate] [--research] [--resume <batch-id>] [task list]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Glob
10
+ - Grep
11
+ - Bash
12
+ - Agent
13
+ ---
14
+
15
+ <objective>
16
+ Batch several `/gsd-quick`-shaped tasks together: one coordinator parses the
17
+ task list, dispatches per-item planner/researcher/checker/executor/verifier
18
+ leaves, and owns every shared write (`BATCH.json`, STATE.md, worktree
19
+ create/merge/cleanup) so leaves never race each other (ADR-1239 "Quick-batch
20
+ binding").
21
+
22
+ **Task list:** either an inline bulleted/numbered list (≥2 items — the same
23
+ grammar `/gsd-quick`'s planner-facing description uses, one item per line) or
24
+ `--file <path>` pointing at a file containing one.
25
+
26
+ **`--jobs auto|N` flag:** `auto` (default) uses the negotiated dispatch
27
+ capacity as-is. `N` caps effective concurrency at `min(task count, N,
28
+ capacity)`. A non-numeric or non-positive `N` is rejected before any
29
+ dispatch.
30
+
31
+ **`--validate` flag:** enables the per-item plan-checker loop (max 2
32
+ iterations) and post-merge verification.
33
+
34
+ **`--research` flag:** dispatches a focused researcher per item before
35
+ planning.
36
+
37
+ **`--resume <batch-id>` flag:** skips task-list parsing and batch creation
38
+ entirely — loads the existing batch and dispatches only its still-eligible
39
+ items.
40
+
41
+ **Not supported in v1:** `--discuss` and `--full` are rejected with a usage
42
+ error before any dispatch. Use `/gsd-quick --discuss`/`--full` per item
43
+ instead, or file the tasks individually.
44
+ </objective>
45
+
46
+ <execution_context>
47
+ @~/.claude/gsd-core/workflows/quick-batch.md
48
+ </execution_context>
49
+
50
+ <context>
51
+ $ARGUMENTS
52
+
53
+ Context files are resolved inside the workflow (`init quick-batch`,
54
+ `quick-batch create`/`quick-batch resume`) and delegated via
55
+ `<required_reading>` blocks.
56
+ </context>
57
+
58
+ <process>
59
+
60
+ **Parse $ARGUMENTS FIRST, before any dispatch.** Route argument validation
61
+ through the CLI's own `quick-batch parse-args` verb — it wraps
62
+ `parseQuickBatchArgs` (`src/quick-batch-dispatch.cts`), the single source of
63
+ truth for this grammar, so the command layer and the workflow layer can never
64
+ silently diverge on what counts as a valid invocation. `$ARGUMENTS` is raw,
65
+ attacker-influenced task text — pass it as ONE quoted argument via `--text`
66
+ so the shell never word-splits or glob-expands it before the parser sees it:
67
+
68
+ ```bash
69
+ QUICK_BATCH_PARSE=$(gsd_run quick-batch parse-args --raw --text "$ARGUMENTS")
70
+ QUICK_BATCH_PARSE_RC=$?
71
+ ```
72
+
73
+ (`gsd_run` is defined by the workflow's own preamble — this parse happens
74
+ INSIDE the workflow's Step 1, not before it; the shim is not yet in scope at
75
+ this point in the command file. See `gsd-core/workflows/quick-batch.md` Step
76
+ 1 for the literal invocation.)
77
+
78
+ **If the parse fails** (`$QUICK_BATCH_PARSE_RC != 0`, e.g. `--discuss`/
79
+ `--full` present, or a malformed `--jobs` value): print the CLI's error
80
+ message verbatim and STOP. Do not create `BATCH.json`, do not dispatch
81
+ anything.
82
+
83
+ **If `--resume <batch-id>` is present:** proceed straight to the workflow's
84
+ resume path — it loads the batch via `quick-batch resume` and dispatches only
85
+ eligible items. Task-list parsing is skipped entirely.
86
+
87
+ **Otherwise:** proceed to the workflow's normal path — parse the task list
88
+ (inline or `--file`), create the batch (`quick-batch create`), resolve
89
+ capacity/isolation, and dispatch wave-by-wave.
90
+
91
+ </process>
92
+
93
+ <success_criteria>
94
+ - [ ] `--discuss`/`--full` rejected with a usage error before any dispatch
95
+ - [ ] A malformed `--jobs` value rejected before any dispatch
96
+ - [ ] `--resume <batch-id>` skips task-list parsing and dispatches only eligible items
97
+ - [ ] Otherwise: task list parsed (inline or `--file`), batch created, items dispatched per the workflow's process
98
+ </success_criteria>
99
+
100
+ <security_notes>
101
+ - `$ARGUMENTS` (the raw task list) is passed to `quick-batch parse-args` as ONE quoted argument via `--text` — never unquoted/word-split by the shell — so a task line containing shell metacharacters or glob-shaped text (`*.txt`, `$(...)`, etc.) is never expanded or re-tokenized before the CLI's own parser sees it
102
+ - Every task description (and the full-batch task catalog built from them) reaching a leaf's `Agent()` prompt is wrapped in `DATA_START`/`DATA_END` markers with a `<security_context>` block declaring it untrusted data — never interpreted as instructions, role assignments, system prompts, or directives — matching `/gsd-quick`'s own convention (see `gsd-core/references/untrusted-input-boundary.md`)
103
+ - Quick ids, batch ids, and slugs used in file paths are generated server-side (the same collision-safe grammar `/gsd-quick` uses) — never derived from unsanitized task text
104
+ - Status fields read via `gsd-tools query verification.status`/`frontmatter.get` — never eval'd or shell-expanded
105
+ </security_notes>
@@ -4,6 +4,7 @@ description: "Resume work from previous session with full context restoration"
4
4
  allowed-tools:
5
5
  - Read
6
6
  - Bash
7
+ - Grep
7
8
  - Write
8
9
  - AskUserQuestion
9
10
  - SlashCommand
@@ -5,6 +5,7 @@ allowed-tools:
5
5
  - Read
6
6
  - Write
7
7
  - Bash
8
+ - Grep
8
9
  - AskUserQuestion
9
10
  ---
10
11
 
@@ -5,6 +5,7 @@ allowed-tools:
5
5
  - Read
6
6
  - Write
7
7
  - Bash
8
+ - Grep
8
9
  - AskUserQuestion
9
10
  ---
10
11
 
@@ -15,7 +16,7 @@ Interactive configuration of GSD workflow agents and model profile via multi-que
15
16
  Routes to the settings workflow which handles:
16
17
  - Config existence ensuring
17
18
  - Current settings reading and parsing
18
- - Interactive 5-question prompt (model, research, plan_check, verifier, branching)
19
+ - Interactive multi-question prompt covering model profile and workflow toggles (research, plan_check, verifier, drift guard, TDD, code review, worktrees, compact content, and more — see `gsd-core/workflows/settings.md` for the current set)
19
20
  - Config merging and writing
20
21
  - Confirmation display with quick command references
21
22
  </objective>
@@ -4,6 +4,7 @@ description: "Display project statistics — phases, plans, requirements, git me
4
4
  allowed-tools:
5
5
  - Read
6
6
  - Bash
7
+ - Grep
7
8
  ---
8
9
 
9
10
  <objective>
@@ -64,16 +64,25 @@ Install profile: standard (from .gsd-profile)
64
64
 
65
65
  ---
66
66
 
67
+ ## Mutation protocol
68
+
69
+ Derive the next `surfaceState` in memory and pass it to `applySurface` as
70
+ `opts.surfaceState`. Do not call `writeSurface` first: `applySurface` stages all
71
+ artifact kinds before mutation and publishes the candidate state only after
72
+ materialization succeeds. Pass `null` to reset to the install-time profile.
73
+
74
+ ---
75
+
67
76
  ## profile \<name\>
68
77
 
69
78
  1. Read current surface: `readSurface(runtimeConfigDir)` → if null, seed from `readActiveProfile(runtimeConfigDir)`.
70
79
  2. Set `surfaceState.baseProfile = name`.
71
- 3. `writeSurface(runtimeConfigDir, surfaceState)`.
80
+ 3. Keep the new state in memory; do not write it directly.
72
81
  4. Resolve and re-apply:
73
82
  ```js
74
83
  const registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');
75
84
  const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope);
76
- applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry);
85
+ applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry, { surfaceState });
77
86
  ```
78
87
  5. Confirm: "Surface updated to profile `<name>`. N skills enabled."
79
88
 
@@ -87,11 +96,11 @@ Valid cluster names: `core_loop`, `audit_review`, `milestone`, `research_ideate`
87
96
  1. Validate cluster name against `Object.keys(CLUSTERS)`.
88
97
  2. Read or initialize surface state.
89
98
  3. Add cluster to `surfaceState.disabledClusters` (deduplicate).
90
- 4. `writeSurface` → resolve layout → `applySurface`:
99
+ 4. Resolve layout and apply the in-memory candidate:
91
100
  ```js
92
101
  const registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');
93
102
  const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope);
94
- applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry);
103
+ applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry, { surfaceState });
95
104
  ```
96
105
  5. Confirm: "Disabled cluster `<cluster>`. N skills removed from surface."
97
106
 
@@ -101,11 +110,11 @@ Valid cluster names: `core_loop`, `audit_review`, `milestone`, `research_ideate`
101
110
 
102
111
  1. Read surface state; if null, nothing to enable — print "No surface delta active."
103
112
  2. Remove cluster from `surfaceState.disabledClusters`.
104
- 3. `writeSurface` → resolve layout → `applySurface`:
113
+ 3. Resolve layout and apply the in-memory candidate:
105
114
  ```js
106
115
  const registry = require(runtimeConfigDir + '/gsd-core/bin/lib/capability-registry.cjs');
107
116
  const layout = resolveRuntimeArtifactLayout(runtime, runtimeConfigDir, scope);
108
- applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry);
117
+ applySurface(runtimeConfigDir, layout, manifest, CLUSTERS, registry, { surfaceState });
109
118
  ```
110
119
  4. Confirm: "Enabled cluster `<cluster>`. N skills added back to surface."
111
120
 
@@ -114,8 +123,9 @@ Valid cluster names: `core_loop`, `audit_review`, `milestone`, `research_ideate`
114
123
  ## reset
115
124
 
116
125
  1. Check if `.gsd-surface.json` exists.
117
- 2. Delete it.
118
- 3. Re-apply using only `readActiveProfile(runtimeConfigDir)` (install-time profile).
126
+ 2. Do not delete it directly.
127
+ 3. Re-apply with `{ surfaceState: null }`; the state file is removed only after
128
+ the install-time profile materializes successfully.
119
129
  4. Confirm: "Surface reset to install-time profile `<name>`."
120
130
 
121
131
  ---
@@ -6,6 +6,7 @@ allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
+ - Grep
9
10
  ---
10
11
 
11
12
 
@@ -6,6 +6,7 @@ allowed-tools:
6
6
  - Read
7
7
  - Write
8
8
  - Bash
9
+ - Grep
9
10
  - AskUserQuestion
10
11
  ---
11
12
 
@@ -4,6 +4,7 @@ description: "Manage parallel workstreams — list, create, switch, status, prog
4
4
  allowed-tools:
5
5
  - Read
6
6
  - Bash
7
+ - Grep
7
8
  ---
8
9
 
9
10
 
@@ -2,7 +2,7 @@
2
2
  "name": "gsd-core-vscode",
3
3
  "displayName": "GSD Core",
4
4
  "description": "GSD orchestration engine embedded in VS Code (ADR-1239 IDE profile).",
5
- "version": "1.12.0",
5
+ "version": "1.14.0",
6
6
  "publisher": "opengsd",
7
7
  "engines": {
8
8
  "vscode": "^1.105.0"
@@ -1,145 +0,0 @@
1
- # CLAUDE.md Template
2
-
3
- Template for project-root `CLAUDE.md` — auto-generated by `gsd-tools generate-claude-md`.
4
-
5
- Contains 7 marker-bounded sections. Each section is independently updatable.
6
- The `generate-claude-md` subcommand manages 6 sections (project, stack, conventions, architecture, skills, workflow enforcement).
7
- The profile section is managed exclusively by `generate-claude-profile`.
8
-
9
- ---
10
-
11
- ## Section Templates
12
-
13
- ### Project Section
14
- ```
15
- <!-- GSD:project-start source:PROJECT.md -->
16
- ## Project
17
-
18
- {{project_content}}
19
- <!-- GSD:project-end -->
20
- ```
21
-
22
- **Fallback text:**
23
- ```
24
- Project not yet initialized. Run /gsd:new-project to set up.
25
- ```
26
-
27
- ### Stack Section
28
- ```
29
- <!-- GSD:stack-start source:STACK.md -->
30
- ## Technology Stack
31
-
32
- {{stack_content}}
33
- <!-- GSD:stack-end -->
34
- ```
35
-
36
- **Fallback text:**
37
- ```
38
- Technology stack not yet documented. Will populate after codebase mapping or first phase.
39
- ```
40
-
41
- ### Conventions Section
42
- ```
43
- <!-- GSD:conventions-start source:CONVENTIONS.md -->
44
- ## Conventions
45
-
46
- {{conventions_content}}
47
- <!-- GSD:conventions-end -->
48
- ```
49
-
50
- **Fallback text:**
51
- ```
52
- Conventions not yet established. Will populate as patterns emerge during development.
53
- ```
54
-
55
- ### Architecture Section
56
- ```
57
- <!-- GSD:architecture-start source:ARCHITECTURE.md -->
58
- ## Architecture
59
-
60
- {{architecture_content}}
61
- <!-- GSD:architecture-end -->
62
- ```
63
-
64
- **Fallback text:**
65
- ```
66
- Architecture not yet mapped. Follow existing patterns found in the codebase.
67
- ```
68
-
69
- ### Skills Section
70
- ```
71
- <!-- GSD:skills-start source:skills/ -->
72
- ## Project Skills
73
-
74
- | Skill | Description | Path |
75
- | -------------- | --------------------- | ------------------------- |
76
- | {{skill_name}} | {{skill_description}} | `{{skill_path}}/SKILL.md` |
77
- <!-- GSD:skills-end -->
78
- ```
79
-
80
- **Fallback text:**
81
- ```
82
- No project skills found. Add skills to any of: `.claude/skills/`, `.agents/skills/`, `.cursor/skills/`, or `.github/skills/` with a `SKILL.md` index file.
83
- ```
84
-
85
- **Discovery behavior:**
86
- - Scans `.claude/skills/`, `.agents/skills/`, `.cursor/skills/`, `.github/skills/` for subdirectories containing `SKILL.md`
87
- - Extracts `name` and `description` from YAML frontmatter (supports multi-line descriptions)
88
- - Skips GSD's own installed skills (directories starting with `gsd-`)
89
- - Deduplicates by skill name across directories
90
-
91
- ### Workflow Enforcement Section
92
- ```
93
- <!-- GSD:workflow-start source:GSD defaults -->
94
- ## GSD Workflow Enforcement
95
-
96
- Before using Edit, Write, or other file-changing tools, start work through a GSD command so planning artifacts and execution context stay in sync.
97
-
98
- Use these entry points:
99
- - `/gsd:quick` for small fixes, doc updates, and ad-hoc tasks
100
- - `/gsd:debug` for investigation and bug fixing
101
- - `/gsd:execute-phase` for planned phase work
102
-
103
- Do not make direct repo edits outside a GSD workflow unless the user explicitly asks to bypass it.
104
- <!-- GSD:workflow-end -->
105
- ```
106
-
107
- ### Profile Section (Placeholder Only)
108
- ```
109
- <!-- GSD:profile-start -->
110
- ## Developer Profile
111
-
112
- > Profile not yet configured. Run `/gsd:profile-user` to generate your developer profile.
113
- > This section is managed by `generate-claude-profile` — do not edit manually.
114
- <!-- GSD:profile-end -->
115
- ```
116
-
117
- **Note:** This section is NOT managed by `generate-claude-md`. It is managed exclusively
118
- by `generate-claude-profile`. The placeholder above is only used when creating a new
119
- CLAUDE.md file and no profile section exists yet.
120
-
121
- ---
122
-
123
- ## Section Ordering
124
-
125
- 1. **Project** — Identity and purpose (what this project is)
126
- 2. **Stack** — Technology choices (what tools are used)
127
- 3. **Conventions** — Code patterns and rules (how code is written)
128
- 4. **Architecture** — System structure (how components fit together)
129
- 5. **Skills** — Discovered project skills with name and description (what domain knowledge is available)
130
- 6. **Workflow Enforcement** — Default GSD entry points for file-changing work
131
- 7. **Profile** — Developer behavioral preferences (how to interact)
132
-
133
- ## Marker Format
134
-
135
- - Start: `<!-- GSD:{name}-start source:{file} -->`
136
- - End: `<!-- GSD:{name}-end -->`
137
- - Source attribute enables targeted updates when source files change
138
- - Partial match on start marker (without closing `-->`) for detection
139
-
140
- ## Fallback Behavior
141
-
142
- When a source file is missing, fallback text provides Claude-actionable guidance:
143
- - Guides Claude's behavior in the absence of data
144
- - Not placeholder ads or "missing" notices
145
- - Each fallback tells Claude what to do, not just what's absent