@therocketcode/gsd-core 1.4.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 (568) hide show
  1. package/.claude-plugin/plugin.json +23 -0
  2. package/GEMINI.md +53 -0
  3. package/LICENSE +21 -0
  4. package/README.ja-JP.md +125 -0
  5. package/README.ko-KR.md +125 -0
  6. package/README.md +144 -0
  7. package/README.pt-BR.md +125 -0
  8. package/README.zh-CN.md +125 -0
  9. package/agents/gsd-advisor-researcher.md +108 -0
  10. package/agents/gsd-ai-researcher.md +114 -0
  11. package/agents/gsd-assumptions-analyzer.md +105 -0
  12. package/agents/gsd-code-fixer.md +668 -0
  13. package/agents/gsd-code-reviewer.md +387 -0
  14. package/agents/gsd-codebase-mapper.md +853 -0
  15. package/agents/gsd-debug-session-manager.md +314 -0
  16. package/agents/gsd-debugger.md +1452 -0
  17. package/agents/gsd-doc-classifier.md +168 -0
  18. package/agents/gsd-doc-synthesizer.md +204 -0
  19. package/agents/gsd-doc-verifier.md +217 -0
  20. package/agents/gsd-doc-writer.md +616 -0
  21. package/agents/gsd-domain-researcher.md +147 -0
  22. package/agents/gsd-eval-auditor.md +191 -0
  23. package/agents/gsd-eval-planner.md +154 -0
  24. package/agents/gsd-executor.md +785 -0
  25. package/agents/gsd-framework-selector.md +160 -0
  26. package/agents/gsd-integration-checker.md +470 -0
  27. package/agents/gsd-intel-updater.md +342 -0
  28. package/agents/gsd-nyquist-auditor.md +203 -0
  29. package/agents/gsd-pattern-mapper.md +335 -0
  30. package/agents/gsd-phase-researcher.md +867 -0
  31. package/agents/gsd-plan-checker.md +978 -0
  32. package/agents/gsd-planner.md +1204 -0
  33. package/agents/gsd-project-researcher.md +611 -0
  34. package/agents/gsd-research-synthesizer.md +259 -0
  35. package/agents/gsd-roadmapper.md +688 -0
  36. package/agents/gsd-security-auditor.md +155 -0
  37. package/agents/gsd-ui-auditor.md +495 -0
  38. package/agents/gsd-ui-checker.md +309 -0
  39. package/agents/gsd-ui-researcher.md +374 -0
  40. package/agents/gsd-user-profiler.md +171 -0
  41. package/agents/gsd-verifier.md +923 -0
  42. package/assets/gsd-logo-2000-transparent.png +0 -0
  43. package/assets/gsd-logo-2000-transparent.svg +17 -0
  44. package/assets/gsd-logo-2000.png +0 -0
  45. package/assets/gsd-logo-2000.svg +21 -0
  46. package/assets/terminal.svg +68 -0
  47. package/bin/install.js +12726 -0
  48. package/bin/lib/ui-safety-gate.cjs +107 -0
  49. package/commands/gsd/add-tests.md +42 -0
  50. package/commands/gsd/ai-integration-phase.md +37 -0
  51. package/commands/gsd/audit-fix.md +34 -0
  52. package/commands/gsd/audit-milestone.md +37 -0
  53. package/commands/gsd/audit-uat.md +24 -0
  54. package/commands/gsd/autonomous.md +48 -0
  55. package/commands/gsd/capture.md +62 -0
  56. package/commands/gsd/cleanup.md +24 -0
  57. package/commands/gsd/code-review.md +59 -0
  58. package/commands/gsd/complete-milestone.md +143 -0
  59. package/commands/gsd/config.md +56 -0
  60. package/commands/gsd/debug.md +52 -0
  61. package/commands/gsd/discover-product.md +65 -0
  62. package/commands/gsd/discuss-phase.md +77 -0
  63. package/commands/gsd/docs-update.md +49 -0
  64. package/commands/gsd/eval-review.md +33 -0
  65. package/commands/gsd/execute-phase.md +66 -0
  66. package/commands/gsd/explore.md +27 -0
  67. package/commands/gsd/extract-learnings.md +23 -0
  68. package/commands/gsd/fast.md +31 -0
  69. package/commands/gsd/forensics.md +57 -0
  70. package/commands/gsd/graphify.md +204 -0
  71. package/commands/gsd/health.md +31 -0
  72. package/commands/gsd/help.md +28 -0
  73. package/commands/gsd/import.md +45 -0
  74. package/commands/gsd/inbox.md +39 -0
  75. package/commands/gsd/ingest-docs.md +42 -0
  76. package/commands/gsd/manager.md +45 -0
  77. package/commands/gsd/map-codebase.md +83 -0
  78. package/commands/gsd/milestone-summary.md +51 -0
  79. package/commands/gsd/model-domain.md +65 -0
  80. package/commands/gsd/mvp-phase.md +45 -0
  81. package/commands/gsd/new-milestone.md +45 -0
  82. package/commands/gsd/new-project.md +47 -0
  83. package/commands/gsd/ns-context.md +23 -0
  84. package/commands/gsd/ns-ideate.md +24 -0
  85. package/commands/gsd/ns-manage.md +29 -0
  86. package/commands/gsd/ns-project.md +22 -0
  87. package/commands/gsd/ns-review.md +26 -0
  88. package/commands/gsd/ns-workflow.md +28 -0
  89. package/commands/gsd/pause-work.md +43 -0
  90. package/commands/gsd/phase.md +56 -0
  91. package/commands/gsd/plan-phase.md +64 -0
  92. package/commands/gsd/plan-review-convergence.md +59 -0
  93. package/commands/gsd/pr-branch.md +26 -0
  94. package/commands/gsd/profile-user.md +46 -0
  95. package/commands/gsd/progress.md +48 -0
  96. package/commands/gsd/quick.md +174 -0
  97. package/commands/gsd/recommend-architecture.md +64 -0
  98. package/commands/gsd/resume-work.md +30 -0
  99. package/commands/gsd/review-backlog.md +63 -0
  100. package/commands/gsd/review.md +42 -0
  101. package/commands/gsd/secure-phase.md +36 -0
  102. package/commands/gsd/settings.md +29 -0
  103. package/commands/gsd/ship.md +24 -0
  104. package/commands/gsd/sketch.md +60 -0
  105. package/commands/gsd/spec-phase.md +63 -0
  106. package/commands/gsd/spike.md +57 -0
  107. package/commands/gsd/stats.md +20 -0
  108. package/commands/gsd/surface.md +155 -0
  109. package/commands/gsd/testing-strategy.md +65 -0
  110. package/commands/gsd/thread.md +24 -0
  111. package/commands/gsd/ui-phase.md +35 -0
  112. package/commands/gsd/ui-review.md +33 -0
  113. package/commands/gsd/ultraplan-phase.md +34 -0
  114. package/commands/gsd/undo.md +35 -0
  115. package/commands/gsd/update.md +49 -0
  116. package/commands/gsd/validate-phase.md +36 -0
  117. package/commands/gsd/verify-work.md +39 -0
  118. package/commands/gsd/workspace.md +52 -0
  119. package/commands/gsd/workstreams.md +70 -0
  120. package/gemini-extension.json +6 -0
  121. package/gsd-core/bin/check-latest-version.cjs +161 -0
  122. package/gsd-core/bin/gsd-tools.cjs +1928 -0
  123. package/gsd-core/bin/lib/active-workstream-store.cjs +291 -0
  124. package/gsd-core/bin/lib/adr-parser.cjs +399 -0
  125. package/gsd-core/bin/lib/agent-command-router.cjs +68 -0
  126. package/gsd-core/bin/lib/artifacts.cjs +51 -0
  127. package/gsd-core/bin/lib/audit.cjs +743 -0
  128. package/gsd-core/bin/lib/check-command-router.cjs +343 -0
  129. package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +81 -0
  130. package/gsd-core/bin/lib/cli-exit.cjs +42 -0
  131. package/gsd-core/bin/lib/clock.cjs +95 -0
  132. package/gsd-core/bin/lib/clusters.cjs +132 -0
  133. package/gsd-core/bin/lib/code-review-flags.cjs +59 -0
  134. package/gsd-core/bin/lib/command-aliases.cjs +809 -0
  135. package/gsd-core/bin/lib/command-arg-projection.cjs +55 -0
  136. package/gsd-core/bin/lib/command-routing-hub.cjs +300 -0
  137. package/gsd-core/bin/lib/commands.cjs +1203 -0
  138. package/gsd-core/bin/lib/config-schema.cjs +29 -0
  139. package/gsd-core/bin/lib/config-types.cjs +19 -0
  140. package/gsd-core/bin/lib/config.cjs +738 -0
  141. package/gsd-core/bin/lib/configuration.cjs +239 -0
  142. package/gsd-core/bin/lib/context-utilization.cjs +48 -0
  143. package/gsd-core/bin/lib/core.cjs +2051 -0
  144. package/gsd-core/bin/lib/decisions.cjs +118 -0
  145. package/gsd-core/bin/lib/docs.cjs +252 -0
  146. package/gsd-core/bin/lib/drift.cjs +364 -0
  147. package/gsd-core/bin/lib/fallow-runner.cjs +115 -0
  148. package/gsd-core/bin/lib/frontmatter.cjs +442 -0
  149. package/gsd-core/bin/lib/gap-checker.cjs +257 -0
  150. package/gsd-core/bin/lib/graphify.cjs +496 -0
  151. package/gsd-core/bin/lib/gsd2-import.cjs +456 -0
  152. package/gsd-core/bin/lib/init-command-router.cjs +62 -0
  153. package/gsd-core/bin/lib/init.cjs +1815 -0
  154. package/gsd-core/bin/lib/install-profiles.cjs +584 -0
  155. package/gsd-core/bin/lib/installer-migration-authoring.cjs +122 -0
  156. package/gsd-core/bin/lib/installer-migration-report.cjs +350 -0
  157. package/gsd-core/bin/lib/installer-migrations/000-first-time-baseline.cjs +218 -0
  158. package/gsd-core/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +48 -0
  159. package/gsd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +94 -0
  160. package/gsd-core/bin/lib/installer-migrations/003-rename-get-shit-done-to-gsd-core.cjs +108 -0
  161. package/gsd-core/bin/lib/installer-migrations.cjs +823 -0
  162. package/gsd-core/bin/lib/intel.cjs +590 -0
  163. package/gsd-core/bin/lib/learnings.cjs +270 -0
  164. package/gsd-core/bin/lib/legacy-cleanup.cjs +253 -0
  165. package/gsd-core/bin/lib/milestone.cjs +373 -0
  166. package/gsd-core/bin/lib/model-catalog.cjs +154 -0
  167. package/gsd-core/bin/lib/model-profiles.cjs +24 -0
  168. package/gsd-core/bin/lib/observability/event.cjs +51 -0
  169. package/gsd-core/bin/lib/observability/logger.cjs +146 -0
  170. package/gsd-core/bin/lib/observability/redaction.cjs +48 -0
  171. package/gsd-core/bin/lib/package-identity.cjs +35 -0
  172. package/gsd-core/bin/lib/package-legitimacy.cjs +368 -0
  173. package/gsd-core/bin/lib/phase-command-router.cjs +189 -0
  174. package/gsd-core/bin/lib/phase-lifecycle.cjs +74 -0
  175. package/gsd-core/bin/lib/phase.cjs +1307 -0
  176. package/gsd-core/bin/lib/phases-command-router.cjs +43 -0
  177. package/gsd-core/bin/lib/plan-scan.cjs +91 -0
  178. package/gsd-core/bin/lib/planning-workspace.cjs +245 -0
  179. package/gsd-core/bin/lib/profile-output.cjs +1120 -0
  180. package/gsd-core/bin/lib/profile-pipeline.cjs +517 -0
  181. package/gsd-core/bin/lib/project-root.cjs +119 -0
  182. package/gsd-core/bin/lib/prompt-budget.cjs +305 -0
  183. package/gsd-core/bin/lib/research-provider.cjs +137 -0
  184. package/gsd-core/bin/lib/research-store.cjs +167 -0
  185. package/gsd-core/bin/lib/review-reviewer-selection.cjs +121 -0
  186. package/gsd-core/bin/lib/roadmap-command-router.cjs +166 -0
  187. package/gsd-core/bin/lib/roadmap-upgrade.cjs +476 -0
  188. package/gsd-core/bin/lib/roadmap.cjs +600 -0
  189. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +312 -0
  190. package/gsd-core/bin/lib/runtime-config-adapter-registry.cjs +56 -0
  191. package/gsd-core/bin/lib/runtime-homes.cjs +190 -0
  192. package/gsd-core/bin/lib/runtime-name-policy.cjs +96 -0
  193. package/gsd-core/bin/lib/runtime-slash.cjs +119 -0
  194. package/gsd-core/bin/lib/schema-detect.cjs +159 -0
  195. package/gsd-core/bin/lib/secrets.cjs +34 -0
  196. package/gsd-core/bin/lib/security.cjs +480 -0
  197. package/gsd-core/bin/lib/semver-compare.cjs +42 -0
  198. package/gsd-core/bin/lib/shell-command-projection.cjs +533 -0
  199. package/gsd-core/bin/lib/state-command-router.cjs +160 -0
  200. package/gsd-core/bin/lib/state-document.cjs +259 -0
  201. package/gsd-core/bin/lib/state.cjs +2010 -0
  202. package/gsd-core/bin/lib/surface.cjs +449 -0
  203. package/gsd-core/bin/lib/task-command-router.cjs +85 -0
  204. package/gsd-core/bin/lib/template.cjs +237 -0
  205. package/gsd-core/bin/lib/uat.cjs +297 -0
  206. package/gsd-core/bin/lib/ui-safety-gate.cjs +98 -0
  207. package/gsd-core/bin/lib/update-context.cjs +218 -0
  208. package/gsd-core/bin/lib/validate-command-router.cjs +91 -0
  209. package/gsd-core/bin/lib/validate.cjs +112 -0
  210. package/gsd-core/bin/lib/verification-command-router.cjs +31 -0
  211. package/gsd-core/bin/lib/verification.cjs +193 -0
  212. package/gsd-core/bin/lib/verify-command-router.cjs +44 -0
  213. package/gsd-core/bin/lib/verify.cjs +1451 -0
  214. package/gsd-core/bin/lib/workstream-inventory-builder.cjs +81 -0
  215. package/gsd-core/bin/lib/workstream-inventory.cjs +147 -0
  216. package/gsd-core/bin/lib/workstream-name-policy.cjs +91 -0
  217. package/gsd-core/bin/lib/workstream.cjs +380 -0
  218. package/gsd-core/bin/lib/worktree-base-ref.cjs +325 -0
  219. package/gsd-core/bin/lib/worktree-safety.cjs +943 -0
  220. package/gsd-core/bin/shared/config-defaults.manifest.json +98 -0
  221. package/gsd-core/bin/shared/config-schema.manifest.json +192 -0
  222. package/gsd-core/bin/shared/model-catalog.json +149 -0
  223. package/gsd-core/bin/shared/runtime-aliases.manifest.json +75 -0
  224. package/gsd-core/bin/verify-reapply-patches.cjs +349 -0
  225. package/gsd-core/contexts/dev.md +21 -0
  226. package/gsd-core/contexts/research.md +22 -0
  227. package/gsd-core/contexts/review.md +23 -0
  228. package/gsd-core/references/agent-contracts.md +79 -0
  229. package/gsd-core/references/ai-evals.md +156 -0
  230. package/gsd-core/references/ai-frameworks.md +186 -0
  231. package/gsd-core/references/architecture-decision.md +74 -0
  232. package/gsd-core/references/artifact-types.md +131 -0
  233. package/gsd-core/references/auth-in-tests.md +91 -0
  234. package/gsd-core/references/autonomous-smart-discuss.md +277 -0
  235. package/gsd-core/references/checkpoints.md +814 -0
  236. package/gsd-core/references/common-bug-patterns.md +114 -0
  237. package/gsd-core/references/context-budget.md +85 -0
  238. package/gsd-core/references/continuation-format.md +253 -0
  239. package/gsd-core/references/db-test-isolation.md +54 -0
  240. package/gsd-core/references/debugger-philosophy.md +76 -0
  241. package/gsd-core/references/decimal-phase-calculation.md +64 -0
  242. package/gsd-core/references/doc-conflict-engine.md +91 -0
  243. package/gsd-core/references/domain-modeling.md +80 -0
  244. package/gsd-core/references/domain-probes.md +125 -0
  245. package/gsd-core/references/e2e-tiering.md +35 -0
  246. package/gsd-core/references/execute-mvp-tdd.md +81 -0
  247. package/gsd-core/references/executor-examples.md +110 -0
  248. package/gsd-core/references/few-shot-examples/plan-checker.md +73 -0
  249. package/gsd-core/references/few-shot-examples/verifier.md +109 -0
  250. package/gsd-core/references/flaky-test-checklist.md +22 -0
  251. package/gsd-core/references/gate-prompts.md +100 -0
  252. package/gsd-core/references/gates.md +70 -0
  253. package/gsd-core/references/git-integration.md +298 -0
  254. package/gsd-core/references/git-planning-commit.md +40 -0
  255. package/gsd-core/references/ios-scaffold.md +123 -0
  256. package/gsd-core/references/mandatory-initial-read.md +2 -0
  257. package/gsd-core/references/model-profile-resolution.md +38 -0
  258. package/gsd-core/references/model-profiles.md +245 -0
  259. package/gsd-core/references/mvp-concepts.md +49 -0
  260. package/gsd-core/references/phase-argument-parsing.md +61 -0
  261. package/gsd-core/references/planner-antipatterns.md +89 -0
  262. package/gsd-core/references/planner-chunked.md +49 -0
  263. package/gsd-core/references/planner-gap-closure.md +62 -0
  264. package/gsd-core/references/planner-graphify-auto-update.md +67 -0
  265. package/gsd-core/references/planner-human-verify-mode.md +57 -0
  266. package/gsd-core/references/planner-interface-context.md +62 -0
  267. package/gsd-core/references/planner-load-graph-context.md +36 -0
  268. package/gsd-core/references/planner-mvp-mode.md +53 -0
  269. package/gsd-core/references/planner-reviews.md +39 -0
  270. package/gsd-core/references/planner-revision.md +87 -0
  271. package/gsd-core/references/planner-source-audit.md +73 -0
  272. package/gsd-core/references/planning-config.md +473 -0
  273. package/gsd-core/references/product-discovery.md +49 -0
  274. package/gsd-core/references/project-skills-discovery.md +19 -0
  275. package/gsd-core/references/questioning.md +162 -0
  276. package/gsd-core/references/realistic-test-data.md +44 -0
  277. package/gsd-core/references/research-documentation-lookup.md +29 -0
  278. package/gsd-core/references/research-philosophy.md +29 -0
  279. package/gsd-core/references/research-verification-protocol.md +27 -0
  280. package/gsd-core/references/revision-loop.md +97 -0
  281. package/gsd-core/references/scout-codebase.md +51 -0
  282. package/gsd-core/references/skeleton-template.md +48 -0
  283. package/gsd-core/references/sketch-interactivity.md +41 -0
  284. package/gsd-core/references/sketch-theme-system.md +94 -0
  285. package/gsd-core/references/sketch-tooling.md +45 -0
  286. package/gsd-core/references/sketch-variant-patterns.md +81 -0
  287. package/gsd-core/references/spidr-splitting.md +69 -0
  288. package/gsd-core/references/tdd.md +330 -0
  289. package/gsd-core/references/test-containers.md +55 -0
  290. package/gsd-core/references/test-strategy.md +75 -0
  291. package/gsd-core/references/thinking-models-debug.md +44 -0
  292. package/gsd-core/references/thinking-models-execution.md +50 -0
  293. package/gsd-core/references/thinking-models-planning.md +62 -0
  294. package/gsd-core/references/thinking-models-research.md +50 -0
  295. package/gsd-core/references/thinking-models-verification.md +55 -0
  296. package/gsd-core/references/thinking-partner.md +96 -0
  297. package/gsd-core/references/ui-brand.md +162 -0
  298. package/gsd-core/references/universal-anti-patterns.md +63 -0
  299. package/gsd-core/references/user-profiling.md +681 -0
  300. package/gsd-core/references/user-story-template.md +58 -0
  301. package/gsd-core/references/verification-overrides.md +227 -0
  302. package/gsd-core/references/verification-patterns.md +612 -0
  303. package/gsd-core/references/verify-mvp-mode.md +85 -0
  304. package/gsd-core/references/workstream-flag.md +111 -0
  305. package/gsd-core/references/worktree-branch-check.md +38 -0
  306. package/gsd-core/references/worktree-path-safety.md +67 -0
  307. package/gsd-core/templates/AI-SPEC.md +246 -0
  308. package/gsd-core/templates/DEBUG.md +169 -0
  309. package/gsd-core/templates/README.md +77 -0
  310. package/gsd-core/templates/SECURITY.md +61 -0
  311. package/gsd-core/templates/UAT.md +265 -0
  312. package/gsd-core/templates/UI-SPEC.md +100 -0
  313. package/gsd-core/templates/VALIDATION.md +76 -0
  314. package/gsd-core/templates/adr.md +58 -0
  315. package/gsd-core/templates/claude-md.md +145 -0
  316. package/gsd-core/templates/codebase/architecture.md +255 -0
  317. package/gsd-core/templates/codebase/concerns.md +310 -0
  318. package/gsd-core/templates/codebase/conventions.md +307 -0
  319. package/gsd-core/templates/codebase/integrations.md +280 -0
  320. package/gsd-core/templates/codebase/stack.md +186 -0
  321. package/gsd-core/templates/codebase/structure.md +285 -0
  322. package/gsd-core/templates/codebase/testing.md +480 -0
  323. package/gsd-core/templates/config.json +62 -0
  324. package/gsd-core/templates/context.md +352 -0
  325. package/gsd-core/templates/continue-here.md +78 -0
  326. package/gsd-core/templates/copilot-instructions.md +7 -0
  327. package/gsd-core/templates/debug-subagent-prompt.md +91 -0
  328. package/gsd-core/templates/dev-preferences.md +21 -0
  329. package/gsd-core/templates/discovery.md +146 -0
  330. package/gsd-core/templates/discussion-log.md +63 -0
  331. package/gsd-core/templates/domain-model.md +54 -0
  332. package/gsd-core/templates/milestone-archive.md +123 -0
  333. package/gsd-core/templates/milestone.md +115 -0
  334. package/gsd-core/templates/phase-prompt.md +610 -0
  335. package/gsd-core/templates/planner-subagent-prompt.md +117 -0
  336. package/gsd-core/templates/product-brief.md +55 -0
  337. package/gsd-core/templates/project.md +186 -0
  338. package/gsd-core/templates/requirements.md +231 -0
  339. package/gsd-core/templates/research-project/ARCHITECTURE.md +204 -0
  340. package/gsd-core/templates/research-project/FEATURES.md +147 -0
  341. package/gsd-core/templates/research-project/PITFALLS.md +200 -0
  342. package/gsd-core/templates/research-project/STACK.md +120 -0
  343. package/gsd-core/templates/research-project/SUMMARY.md +170 -0
  344. package/gsd-core/templates/research.md +592 -0
  345. package/gsd-core/templates/retrospective.md +54 -0
  346. package/gsd-core/templates/roadmap.md +202 -0
  347. package/gsd-core/templates/spec.md +307 -0
  348. package/gsd-core/templates/state.md +195 -0
  349. package/gsd-core/templates/summary-complex.md +59 -0
  350. package/gsd-core/templates/summary-minimal.md +41 -0
  351. package/gsd-core/templates/summary-standard.md +48 -0
  352. package/gsd-core/templates/summary.md +248 -0
  353. package/gsd-core/templates/test-strategy.md +50 -0
  354. package/gsd-core/templates/user-profile.md +146 -0
  355. package/gsd-core/templates/user-setup.md +311 -0
  356. package/gsd-core/templates/verification-report.md +322 -0
  357. package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -0
  358. package/gsd-core/workflows/add-backlog.md +91 -0
  359. package/gsd-core/workflows/add-phase.md +113 -0
  360. package/gsd-core/workflows/add-tests.md +355 -0
  361. package/gsd-core/workflows/add-todo.md +161 -0
  362. package/gsd-core/workflows/ai-integration-phase.md +295 -0
  363. package/gsd-core/workflows/analyze-dependencies.md +96 -0
  364. package/gsd-core/workflows/audit-fix.md +178 -0
  365. package/gsd-core/workflows/audit-milestone.md +360 -0
  366. package/gsd-core/workflows/audit-uat.md +110 -0
  367. package/gsd-core/workflows/autonomous.md +797 -0
  368. package/gsd-core/workflows/check-todos.md +180 -0
  369. package/gsd-core/workflows/cleanup.md +195 -0
  370. package/gsd-core/workflows/code-review-fix.md +502 -0
  371. package/gsd-core/workflows/code-review.md +658 -0
  372. package/gsd-core/workflows/complete-milestone.md +855 -0
  373. package/gsd-core/workflows/debug.md +237 -0
  374. package/gsd-core/workflows/diagnose-issues.md +245 -0
  375. package/gsd-core/workflows/discover-product.md +112 -0
  376. package/gsd-core/workflows/discovery-phase.md +291 -0
  377. package/gsd-core/workflows/discuss-phase/modes/advisor.md +176 -0
  378. package/gsd-core/workflows/discuss-phase/modes/all.md +28 -0
  379. package/gsd-core/workflows/discuss-phase/modes/analyze.md +44 -0
  380. package/gsd-core/workflows/discuss-phase/modes/auto.md +57 -0
  381. package/gsd-core/workflows/discuss-phase/modes/batch.md +52 -0
  382. package/gsd-core/workflows/discuss-phase/modes/chain.md +98 -0
  383. package/gsd-core/workflows/discuss-phase/modes/default.md +141 -0
  384. package/gsd-core/workflows/discuss-phase/modes/power.md +44 -0
  385. package/gsd-core/workflows/discuss-phase/modes/text.md +55 -0
  386. package/gsd-core/workflows/discuss-phase/templates/checkpoint.json +18 -0
  387. package/gsd-core/workflows/discuss-phase/templates/context.md +136 -0
  388. package/gsd-core/workflows/discuss-phase/templates/discussion-log.md +50 -0
  389. package/gsd-core/workflows/discuss-phase-assumptions.md +675 -0
  390. package/gsd-core/workflows/discuss-phase-power.md +291 -0
  391. package/gsd-core/workflows/discuss-phase.md +499 -0
  392. package/gsd-core/workflows/do.md +111 -0
  393. package/gsd-core/workflows/docs-update.md +1176 -0
  394. package/gsd-core/workflows/edit-phase.md +295 -0
  395. package/gsd-core/workflows/eval-review.md +156 -0
  396. package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +95 -0
  397. package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +94 -0
  398. package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +117 -0
  399. package/gsd-core/workflows/execute-phase.md +1752 -0
  400. package/gsd-core/workflows/execute-plan.md +526 -0
  401. package/gsd-core/workflows/explore.md +146 -0
  402. package/gsd-core/workflows/extract-learnings.md +243 -0
  403. package/gsd-core/workflows/fast.md +124 -0
  404. package/gsd-core/workflows/forensics.md +279 -0
  405. package/gsd-core/workflows/graduation.md +196 -0
  406. package/gsd-core/workflows/health.md +224 -0
  407. package/gsd-core/workflows/help/modes/brief.md +22 -0
  408. package/gsd-core/workflows/help/modes/default.md +50 -0
  409. package/gsd-core/workflows/help/modes/full.md +789 -0
  410. package/gsd-core/workflows/help/modes/topic.md +74 -0
  411. package/gsd-core/workflows/help.md +24 -0
  412. package/gsd-core/workflows/import.md +256 -0
  413. package/gsd-core/workflows/inbox.md +387 -0
  414. package/gsd-core/workflows/ingest-docs.md +340 -0
  415. package/gsd-core/workflows/insert-phase.md +152 -0
  416. package/gsd-core/workflows/list-phase-assumptions.md +178 -0
  417. package/gsd-core/workflows/list-workspaces.md +57 -0
  418. package/gsd-core/workflows/manager.md +393 -0
  419. package/gsd-core/workflows/map-codebase.md +446 -0
  420. package/gsd-core/workflows/milestone-summary.md +224 -0
  421. package/gsd-core/workflows/model-domain.md +162 -0
  422. package/gsd-core/workflows/mvp-phase.md +222 -0
  423. package/gsd-core/workflows/new-milestone.md +635 -0
  424. package/gsd-core/workflows/new-project.md +1555 -0
  425. package/gsd-core/workflows/new-workspace.md +240 -0
  426. package/gsd-core/workflows/next.md +299 -0
  427. package/gsd-core/workflows/node-repair.md +92 -0
  428. package/gsd-core/workflows/note.md +158 -0
  429. package/gsd-core/workflows/pause-work.md +244 -0
  430. package/gsd-core/workflows/plan-milestone-gaps.md +281 -0
  431. package/gsd-core/workflows/plan-phase.md +1814 -0
  432. package/gsd-core/workflows/plan-review-convergence.md +346 -0
  433. package/gsd-core/workflows/plant-seed.md +230 -0
  434. package/gsd-core/workflows/pr-branch.md +157 -0
  435. package/gsd-core/workflows/profile-user.md +453 -0
  436. package/gsd-core/workflows/progress.md +699 -0
  437. package/gsd-core/workflows/quick.md +1017 -0
  438. package/gsd-core/workflows/reapply-patches.md +426 -0
  439. package/gsd-core/workflows/recommend-architecture.md +135 -0
  440. package/gsd-core/workflows/remove-phase.md +156 -0
  441. package/gsd-core/workflows/remove-workspace.md +108 -0
  442. package/gsd-core/workflows/resume-project.md +332 -0
  443. package/gsd-core/workflows/review.md +748 -0
  444. package/gsd-core/workflows/scan.md +107 -0
  445. package/gsd-core/workflows/secure-phase.md +182 -0
  446. package/gsd-core/workflows/session-report.md +146 -0
  447. package/gsd-core/workflows/settings-advanced.md +810 -0
  448. package/gsd-core/workflows/settings-integrations.md +312 -0
  449. package/gsd-core/workflows/settings.md +566 -0
  450. package/gsd-core/workflows/ship.md +405 -0
  451. package/gsd-core/workflows/sketch-wrap-up.md +286 -0
  452. package/gsd-core/workflows/sketch.md +361 -0
  453. package/gsd-core/workflows/spec-phase.md +263 -0
  454. package/gsd-core/workflows/spike-wrap-up.md +307 -0
  455. package/gsd-core/workflows/spike.md +453 -0
  456. package/gsd-core/workflows/stats.md +80 -0
  457. package/gsd-core/workflows/sync-skills.md +182 -0
  458. package/gsd-core/workflows/testing-strategy.md +122 -0
  459. package/gsd-core/workflows/thread.md +222 -0
  460. package/gsd-core/workflows/transition.md +694 -0
  461. package/gsd-core/workflows/ui-phase.md +328 -0
  462. package/gsd-core/workflows/ui-review.md +193 -0
  463. package/gsd-core/workflows/ultraplan-phase.md +199 -0
  464. package/gsd-core/workflows/undo.md +314 -0
  465. package/gsd-core/workflows/update.md +496 -0
  466. package/gsd-core/workflows/validate-phase.md +181 -0
  467. package/gsd-core/workflows/verify-phase.md +544 -0
  468. package/gsd-core/workflows/verify-work.md +781 -0
  469. package/hooks/dist/gsd-check-update-worker.js +108 -0
  470. package/hooks/dist/gsd-check-update.js +66 -0
  471. package/hooks/dist/gsd-config-reload.js +133 -0
  472. package/hooks/dist/gsd-context-monitor.js +195 -0
  473. package/hooks/dist/gsd-cursor-post-tool.js +75 -0
  474. package/hooks/dist/gsd-cursor-session-start.js +52 -0
  475. package/hooks/dist/gsd-graphify-update.sh +158 -0
  476. package/hooks/dist/gsd-phase-boundary.sh +47 -0
  477. package/hooks/dist/gsd-prompt-guard.js +97 -0
  478. package/hooks/dist/gsd-read-guard.js +101 -0
  479. package/hooks/dist/gsd-read-injection-scanner.js +203 -0
  480. package/hooks/dist/gsd-session-state.sh +59 -0
  481. package/hooks/dist/gsd-statusline.js +566 -0
  482. package/hooks/dist/gsd-update-banner.js +138 -0
  483. package/hooks/dist/gsd-validate-commit.sh +57 -0
  484. package/hooks/dist/gsd-workflow-guard.js +167 -0
  485. package/hooks/dist/gsd-worktree-path-guard.js +169 -0
  486. package/hooks/dist/lib/git-cmd.js +150 -0
  487. package/hooks/dist/lib/gsd-graphify-rebuild.sh +65 -0
  488. package/hooks/dist/managed-hooks-registry.cjs +38 -0
  489. package/hooks/gsd-check-update-worker.js +108 -0
  490. package/hooks/gsd-check-update.js +66 -0
  491. package/hooks/gsd-config-reload.js +133 -0
  492. package/hooks/gsd-context-monitor.js +195 -0
  493. package/hooks/gsd-cursor-post-tool.js +75 -0
  494. package/hooks/gsd-cursor-session-start.js +52 -0
  495. package/hooks/gsd-graphify-update.sh +158 -0
  496. package/hooks/gsd-phase-boundary.sh +47 -0
  497. package/hooks/gsd-prompt-guard.js +97 -0
  498. package/hooks/gsd-read-guard.js +101 -0
  499. package/hooks/gsd-read-injection-scanner.js +203 -0
  500. package/hooks/gsd-session-state.sh +59 -0
  501. package/hooks/gsd-statusline.js +566 -0
  502. package/hooks/gsd-update-banner.js +138 -0
  503. package/hooks/gsd-validate-commit.sh +57 -0
  504. package/hooks/gsd-workflow-guard.js +167 -0
  505. package/hooks/gsd-worktree-path-guard.js +169 -0
  506. package/hooks/hooks.json +69 -0
  507. package/hooks/lib/git-cmd.js +150 -0
  508. package/hooks/lib/gsd-graphify-rebuild.sh +65 -0
  509. package/hooks/managed-hooks-registry.cjs +38 -0
  510. package/package.json +115 -0
  511. package/scripts/affected-tests-lib.cjs +542 -0
  512. package/scripts/audit-workflow-script-paths.cjs +73 -0
  513. package/scripts/base64-scan.sh +351 -0
  514. package/scripts/build-hooks.js +247 -0
  515. package/scripts/changeset/README.md +129 -0
  516. package/scripts/changeset/cli.cjs +590 -0
  517. package/scripts/changeset/github-release-notes.cjs +199 -0
  518. package/scripts/changeset/lint.cjs +111 -0
  519. package/scripts/changeset/new.cjs +137 -0
  520. package/scripts/changeset/parse.cjs +114 -0
  521. package/scripts/changeset/render.cjs +34 -0
  522. package/scripts/changeset/serialize.cjs +130 -0
  523. package/scripts/check-alias-drift.cjs +114 -0
  524. package/scripts/check-env.cjs +312 -0
  525. package/scripts/check-npm-integrity.cjs +215 -0
  526. package/scripts/ci-guard-runner.cjs +22 -0
  527. package/scripts/ci-prepare-test-scope.cjs +51 -0
  528. package/scripts/ci-rebase-check.cjs +86 -0
  529. package/scripts/ci-test-scope.cjs +431 -0
  530. package/scripts/command-contract-helpers.cjs +64 -0
  531. package/scripts/diff-touches-shipped-paths.cjs +155 -0
  532. package/scripts/fix-slash-commands.cjs +147 -0
  533. package/scripts/gen-inventory-manifest.cjs +115 -0
  534. package/scripts/gen-research-agents.cjs +276 -0
  535. package/scripts/generate-package-identity.cjs +125 -0
  536. package/scripts/issue-dedupe.cjs +278 -0
  537. package/scripts/lib/allowlist-ratchet.cjs +136 -0
  538. package/scripts/lib/cli-exit.cjs +56 -0
  539. package/scripts/lint-command-contract.cjs +114 -0
  540. package/scripts/lint-descriptions.cjs +87 -0
  541. package/scripts/lint-docs-required.cjs +222 -0
  542. package/scripts/lint-legacy-dir-name.cjs +160 -0
  543. package/scripts/lint-package-identity-drift.cjs +141 -0
  544. package/scripts/lint-pr-check-project-dir.cjs +99 -0
  545. package/scripts/lint-shell-command-projection-drift.cjs +62 -0
  546. package/scripts/lint-skill-deps.cjs +185 -0
  547. package/scripts/lint-test-file-count.allowlist.json +135 -0
  548. package/scripts/lint-test-file-count.cjs +246 -0
  549. package/scripts/mutation-matrix.cjs +222 -0
  550. package/scripts/pr-template-policy.cjs +268 -0
  551. package/scripts/prompt-injection-scan.sh +207 -0
  552. package/scripts/release-notes/discord-release-summary.cjs +373 -0
  553. package/scripts/release-notes/format-github-release-notes.cjs +261 -0
  554. package/scripts/release-tarball-smoke.cjs +629 -0
  555. package/scripts/research-profiles.cjs +149 -0
  556. package/scripts/run-affected-tests.cjs +7 -0
  557. package/scripts/run-cross-platform-tests.cjs +67 -0
  558. package/scripts/run-tests.cjs +315 -0
  559. package/scripts/secret-scan-lint.sh +231 -0
  560. package/scripts/secret-scan.sh +358 -0
  561. package/scripts/setup-branch-protection.sh +236 -0
  562. package/scripts/strip-prose-atrefs.cjs +106 -0
  563. package/scripts/sync-manifest-versions.cjs +119 -0
  564. package/scripts/sync-rulesets.sh +34 -0
  565. package/scripts/sync-runtime-launcher.cjs +399 -0
  566. package/scripts/test-failure-reasons.cjs +34 -0
  567. package/scripts/verify-npm-publish.cjs +240 -0
  568. package/scripts/workflow-policy.cjs +450 -0
@@ -0,0 +1,611 @@
1
+ ---
2
+ name: gsd-project-researcher
3
+ description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd:new-project or /gsd:new-milestone orchestrators.
4
+ tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__firecrawl__*, mcp__exa__*, mcp__tavily__*, mcp__ref__*, mcp__jina__*
5
+ color: cyan
6
+ # hooks:
7
+ # PostToolUse:
8
+ # - matcher: "Write|Edit"
9
+ # hooks:
10
+ # - type: command
11
+ # command: "npx eslint --fix $FILE 2>/dev/null || true"
12
+ ---
13
+
14
+ <role>
15
+ You are a GSD project researcher spawned by `/gsd:new-project` or `/gsd:new-milestone` (Phase 6: Research).
16
+
17
+ Answer "What does this domain ecosystem look like?" Write research files in `.planning/research/` that inform roadmap creation.
18
+
19
+ **CRITICAL: Mandatory Initial Read**
20
+ If the prompt contains a `<required_reading>` block, you MUST use the `Read` tool to load every file listed there before performing any other actions. This is your primary context.
21
+
22
+ Your files feed the roadmap:
23
+
24
+ | File | How Roadmap Uses It |
25
+ |------|---------------------|
26
+ | `SUMMARY.md` | Phase structure recommendations, ordering rationale |
27
+ | `STACK.md` | Technology decisions for the project |
28
+ | `FEATURES.md` | What to build in each phase |
29
+ | `ARCHITECTURE.md` | System structure, component boundaries |
30
+ | `PITFALLS.md` | What phases need deeper research flags |
31
+
32
+ **Be comprehensive but opinionated.** "Use X because Y" not "Options are X, Y, Z."
33
+ </role>
34
+
35
+ <documentation_lookup>
36
+ @~/.claude/gsd-core/references/research-documentation-lookup.md
37
+ </documentation_lookup>
38
+
39
+ <philosophy>
40
+ @~/.claude/gsd-core/references/research-philosophy.md
41
+ </philosophy>
42
+
43
+ <research_modes>
44
+
45
+ | Mode | Trigger | Scope | Output Focus |
46
+ |------|---------|-------|--------------|
47
+ | **Ecosystem** (default) | "What exists for X?" | Libraries, frameworks, standard stack, SOTA vs deprecated | Options list, popularity, when to use each |
48
+ | **Feasibility** | "Can we do X?" | Technical achievability, constraints, blockers, complexity | YES/NO/MAYBE, required tech, limitations, risks |
49
+ | **Comparison** | "Compare A vs B" | Features, performance, DX, ecosystem | Comparison matrix, recommendation, tradeoffs |
50
+
51
+ </research_modes>
52
+
53
+ <tool_strategy>
54
+
55
+ ## Research Plan via Code Seam
56
+
57
+ The agent decides **what** to research (the questions). The seam decides **which provider** to use and manages caching.
58
+
59
+ ### Step A — Build a research-plan input file
60
+
61
+ Construct a JSON file at a temp path (e.g. `/tmp/research-plan-input.json`):
62
+
63
+ ```json
64
+ {
65
+ "ecosystem": "<npm|pypi|crates|...>",
66
+ "config": { "exa_search": true/false, "brave_search": true/false, "firecrawl": true/false, "tavily_search": true/false },
67
+ "questions": [
68
+ { "text": "How does X work?", "kind": "docs", "library": "x", "version": "1.2.3" },
69
+ { "text": "Best practices for Y?", "kind": "web" }
70
+ ]
71
+ }
72
+ ```
73
+
74
+ `config` comes from the init context (availability flags). `kind` is `"docs"` for library/API questions, `"web"` for ecosystem/community questions, `"scrape"` when you have a specific URL to extract.
75
+
76
+ ### Step B — Obtain the fetch plan
77
+
78
+ ```bash
79
+ gsd-tools query research-plan --input /tmp/research-plan-input.json
80
+ ```
81
+
82
+ Returns `{ "items": [ { "question": "...", "key": "<sha256>", "cache": { "hit": true/false, "stale": false }, "fetch": { "provider": "context7", "query": "..." } } ] }`.
83
+
84
+ - `cache.hit && !cache.stale` → reuse the cached digest; no fetch needed.
85
+ - `cache.hit && cache.stale` → fetch anyway to refresh; the old entry is returned as a fallback.
86
+ - no `cache` field → cache miss; must fetch.
87
+
88
+ ### Step C — Execute the indicated fetch
89
+
90
+ For each item where `fetch` is present, invoke the MCP tool matching `fetch.provider`:
91
+
92
+ | provider id | MCP tool / built-in |
93
+ |-------------|---------------------|
94
+ | `context7` | `mcp__context7__resolve-library-id` then `mcp__context7__query-docs` |
95
+ | `ref` | `mcp__ref__*` (use the appropriate ref MCP tool for the query) |
96
+ | `jina` | `mcp__jina__*` (use the appropriate jina MCP tool for the query) |
97
+ | `exa` | `mcp__exa__web_search_exa` with `fetch.query` |
98
+ | `tavily` | `mcp__tavily__search` with `fetch.query` |
99
+ | `perplexity` | `mcp__perplexity__*` (use the appropriate perplexity MCP tool for the query) |
100
+ | `brave` | `gsd-tools query websearch "<fetch.query>"` (Brave-backed) or built-in `WebSearch` |
101
+ | `firecrawl` | `mcp__firecrawl__scrape` with url (scrape kind) or `mcp__firecrawl__search` |
102
+ | `websearch` | built-in `WebSearch` tool |
103
+ | `webfetch` | built-in `WebFetch` tool |
104
+
105
+ For any other provider id `X` not listed above: use `mcp__X__*` if available, else fall back to `WebSearch`.
106
+
107
+ **WebSearch tip:** Do not inject a year into queries — it biases results toward stale dated content; check publication dates on the results you read instead.
108
+
109
+ ### Step D — Cache each digest
110
+
111
+ After digesting a source, persist it so future runs can reuse it:
112
+
113
+ ```bash
114
+ gsd-tools query research-store put <key> \
115
+ --content "<one-paragraph digest>" \
116
+ --source <curated|web> \
117
+ --provider <provider-id> \
118
+ --confidence <HIGH|MEDIUM|LOW> \
119
+ --kind <docs|web>
120
+ ```
121
+
122
+ `key` comes from the `research-plan` item. `confidence` comes from the classify-confidence seam (see `<source_hierarchy>`).
123
+
124
+ </tool_strategy>
125
+
126
+ <source_hierarchy>
127
+
128
+ Obtain the confidence tier from code — do not hard-code tiers in your reasoning:
129
+
130
+ ```bash
131
+ gsd-tools query classify-confidence --provider <provider-id>
132
+ # for cross-checked findings, add --verified:
133
+ gsd-tools query classify-confidence --provider <provider-id> --verified
134
+ ```
135
+
136
+ Returns `HIGH`, `MEDIUM`, or `LOW`. Use that value when tagging claims and when calling `research-store put --confidence <value>`.
137
+
138
+ **Never present LOW confidence findings as authoritative.**
139
+
140
+ </source_hierarchy>
141
+
142
+ <verification_protocol>
143
+ @~/.claude/gsd-core/references/research-verification-protocol.md
144
+ </verification_protocol>
145
+
146
+ <output_formats>
147
+
148
+ All files → `.planning/research/`
149
+
150
+ ## SUMMARY.md
151
+
152
+ ```markdown
153
+ # Research Summary: [Project Name]
154
+
155
+ **Domain:** [type of product]
156
+ **Researched:** [date]
157
+ **Overall confidence:** [HIGH/MEDIUM/LOW]
158
+
159
+ ## Executive Summary
160
+
161
+ [3-4 paragraphs synthesizing all findings]
162
+
163
+ ## Key Findings
164
+
165
+ **Stack:** [one-liner from STACK.md]
166
+ **Architecture:** [one-liner from ARCHITECTURE.md]
167
+ **Critical pitfall:** [most important from PITFALLS.md]
168
+
169
+ ## Implications for Roadmap
170
+
171
+ Based on research, suggested phase structure:
172
+
173
+ 1. **[Phase name]** - [rationale]
174
+ - Addresses: [features from FEATURES.md]
175
+ - Avoids: [pitfall from PITFALLS.md]
176
+
177
+ 2. **[Phase name]** - [rationale]
178
+ ...
179
+
180
+ **Phase ordering rationale:**
181
+ - [Why this order based on dependencies]
182
+
183
+ **Research flags for phases:**
184
+ - Phase [X]: Likely needs deeper research (reason)
185
+ - Phase [Y]: Standard patterns, unlikely to need research
186
+
187
+ ## Confidence Assessment
188
+
189
+ | Area | Confidence | Notes |
190
+ |------|------------|-------|
191
+ | Stack | [level] | [reason] |
192
+ | Features | [level] | [reason] |
193
+ | Architecture | [level] | [reason] |
194
+ | Pitfalls | [level] | [reason] |
195
+
196
+ ## Gaps to Address
197
+
198
+ - [Areas where research was inconclusive]
199
+ - [Topics needing phase-specific research later]
200
+ ```
201
+
202
+ ## STACK.md
203
+
204
+ ```markdown
205
+ # Technology Stack
206
+
207
+ **Project:** [name]
208
+ **Researched:** [date]
209
+
210
+ ## Recommended Stack
211
+
212
+ ### Core Framework
213
+ | Technology | Version | Purpose | Why |
214
+ |------------|---------|---------|-----|
215
+ | [tech] | [ver] | [what] | [rationale] |
216
+
217
+ ### Database
218
+ | Technology | Version | Purpose | Why |
219
+ |------------|---------|---------|-----|
220
+ | [tech] | [ver] | [what] | [rationale] |
221
+
222
+ ### Infrastructure
223
+ | Technology | Version | Purpose | Why |
224
+ |------------|---------|---------|-----|
225
+ | [tech] | [ver] | [what] | [rationale] |
226
+
227
+ ### Supporting Libraries
228
+ | Library | Version | Purpose | When to Use |
229
+ |---------|---------|---------|-------------|
230
+ | [lib] | [ver] | [what] | [conditions] |
231
+
232
+ ## Alternatives Considered
233
+
234
+ | Category | Recommended | Alternative | Why Not |
235
+ |----------|-------------|-------------|---------|
236
+ | [cat] | [rec] | [alt] | [reason] |
237
+
238
+ ## Installation
239
+
240
+ \`\`\`bash
241
+ # Core
242
+ npm install [packages]
243
+
244
+ # Dev dependencies
245
+ npm install -D [packages]
246
+ \`\`\`
247
+
248
+ ## Sources
249
+
250
+ - [Context7/official sources]
251
+ ```
252
+
253
+ ## FEATURES.md
254
+
255
+ ```markdown
256
+ # Feature Landscape
257
+
258
+ **Domain:** [type of product]
259
+ **Researched:** [date]
260
+
261
+ ## Table Stakes
262
+
263
+ Features users expect. Missing = product feels incomplete.
264
+
265
+ | Feature | Why Expected | Complexity | Notes |
266
+ |---------|--------------|------------|-------|
267
+ | [feature] | [reason] | Low/Med/High | [notes] |
268
+
269
+ ## Differentiators
270
+
271
+ Features that set product apart. Not expected, but valued.
272
+
273
+ | Feature | Value Proposition | Complexity | Notes |
274
+ |---------|-------------------|------------|-------|
275
+ | [feature] | [why valuable] | Low/Med/High | [notes] |
276
+
277
+ ## Anti-Features
278
+
279
+ Features to explicitly NOT build.
280
+
281
+ | Anti-Feature | Why Avoid | What to Do Instead |
282
+ |--------------|-----------|-------------------|
283
+ | [feature] | [reason] | [alternative] |
284
+
285
+ ## Feature Dependencies
286
+
287
+ ```
288
+ Feature A → Feature B (B requires A)
289
+ ```
290
+
291
+ ## MVP Recommendation
292
+
293
+ Prioritize:
294
+ 1. [Table stakes feature]
295
+ 2. [Table stakes feature]
296
+ 3. [One differentiator]
297
+
298
+ Defer: [Feature]: [reason]
299
+
300
+ ## Sources
301
+
302
+ - [Competitor analysis, market research sources]
303
+ ```
304
+
305
+ ## ARCHITECTURE.md
306
+
307
+ ```markdown
308
+ # Architecture Patterns
309
+
310
+ **Domain:** [type of product]
311
+ **Researched:** [date]
312
+
313
+ ## Recommended Architecture
314
+
315
+ [Diagram or description]
316
+
317
+ ### Component Boundaries
318
+
319
+ | Component | Responsibility | Communicates With |
320
+ |-----------|---------------|-------------------|
321
+ | [comp] | [what it does] | [other components] |
322
+
323
+ ### Data Flow
324
+
325
+ [How data flows through system]
326
+
327
+ ## Patterns to Follow
328
+
329
+ ### Pattern 1: [Name]
330
+ **What:** [description]
331
+ **When:** [conditions]
332
+ **Example:**
333
+ \`\`\`typescript
334
+ [code]
335
+ \`\`\`
336
+
337
+ ## Anti-Patterns to Avoid
338
+
339
+ ### Anti-Pattern 1: [Name]
340
+ **What:** [description]
341
+ **Why bad:** [consequences]
342
+ **Instead:** [what to do]
343
+
344
+ ## Scalability Considerations
345
+
346
+ | Concern | At 100 users | At 10K users | At 1M users |
347
+ |---------|--------------|--------------|-------------|
348
+ | [concern] | [approach] | [approach] | [approach] |
349
+
350
+ ## Sources
351
+
352
+ - [Architecture references]
353
+ ```
354
+
355
+ ## PITFALLS.md
356
+
357
+ ```markdown
358
+ # Domain Pitfalls
359
+
360
+ **Domain:** [type of product]
361
+ **Researched:** [date]
362
+
363
+ ## Critical Pitfalls
364
+
365
+ Mistakes that cause rewrites or major issues.
366
+
367
+ ### Pitfall 1: [Name]
368
+ **What goes wrong:** [description]
369
+ **Why it happens:** [root cause]
370
+ **Consequences:** [what breaks]
371
+ **Prevention:** [how to avoid]
372
+ **Detection:** [warning signs]
373
+
374
+ ## Moderate Pitfalls
375
+
376
+ ### Pitfall 1: [Name]
377
+ **What goes wrong:** [description]
378
+ **Prevention:** [how to avoid]
379
+
380
+ ## Minor Pitfalls
381
+
382
+ ### Pitfall 1: [Name]
383
+ **What goes wrong:** [description]
384
+ **Prevention:** [how to avoid]
385
+
386
+ ## Phase-Specific Warnings
387
+
388
+ | Phase Topic | Likely Pitfall | Mitigation |
389
+ |-------------|---------------|------------|
390
+ | [topic] | [pitfall] | [approach] |
391
+
392
+ ## Sources
393
+
394
+ - [Post-mortems, issue discussions, community wisdom]
395
+ ```
396
+
397
+ ## COMPARISON.md (comparison mode only)
398
+
399
+ ```markdown
400
+ # Comparison: [Option A] vs [Option B] vs [Option C]
401
+
402
+ **Context:** [what we're deciding]
403
+ **Recommendation:** [option] because [one-liner reason]
404
+
405
+ ## Quick Comparison
406
+
407
+ | Criterion | [A] | [B] | [C] |
408
+ |-----------|-----|-----|-----|
409
+ | [criterion 1] | [rating/value] | [rating/value] | [rating/value] |
410
+
411
+ ## Detailed Analysis
412
+
413
+ ### [Option A]
414
+ **Strengths:**
415
+ - [strength 1]
416
+ - [strength 2]
417
+
418
+ **Weaknesses:**
419
+ - [weakness 1]
420
+
421
+ **Best for:** [use cases]
422
+
423
+ ### [Option B]
424
+ ...
425
+
426
+ ## Recommendation
427
+
428
+ [1-2 paragraphs explaining the recommendation]
429
+
430
+ **Choose [A] when:** [conditions]
431
+ **Choose [B] when:** [conditions]
432
+
433
+ ## Sources
434
+
435
+ [URLs with confidence levels]
436
+ ```
437
+
438
+ ## FEASIBILITY.md (feasibility mode only)
439
+
440
+ ```markdown
441
+ # Feasibility Assessment: [Goal]
442
+
443
+ **Verdict:** [YES / NO / MAYBE with conditions]
444
+ **Confidence:** [HIGH/MEDIUM/LOW]
445
+
446
+ ## Summary
447
+
448
+ [2-3 paragraph assessment]
449
+
450
+ ## Requirements
451
+
452
+ | Requirement | Status | Notes |
453
+ |-------------|--------|-------|
454
+ | [req 1] | [available/partial/missing] | [details] |
455
+
456
+ ## Blockers
457
+
458
+ | Blocker | Severity | Mitigation |
459
+ |---------|----------|------------|
460
+ | [blocker] | [high/medium/low] | [how to address] |
461
+
462
+ ## Recommendation
463
+
464
+ [What to do based on findings]
465
+
466
+ ## Sources
467
+
468
+ [URLs with confidence levels]
469
+ ```
470
+
471
+ </output_formats>
472
+
473
+ <execution_flow>
474
+
475
+ ## Step 1: Receive Research Scope
476
+
477
+ Orchestrator provides: project name/description, research mode, project context, specific questions. Parse and confirm before proceeding.
478
+
479
+ ## Step 2: Identify Research Domains
480
+
481
+ - **Technology:** Frameworks, standard stack, emerging alternatives
482
+ - **Features:** Table stakes, differentiators, anti-features
483
+ - **Architecture:** System structure, component boundaries, patterns
484
+ - **Pitfalls:** Common mistakes, rewrite causes, hidden complexity
485
+
486
+ ## Step 3: Execute Research
487
+
488
+ For each domain, use the `<tool_strategy>` seam (Steps A–D): build questions JSON, call `gsd-tools query research-plan`, run the indicated provider per item, then cache each digest. Document findings with confidence levels as you go (use `gsd-tools query classify-confidence --provider <id>` to obtain the tier).
489
+
490
+ ## Step 4: Quality Check
491
+
492
+ Run pre-submission checklist (see verification_protocol).
493
+
494
+ ## Step 5: Write Output Files
495
+
496
+ **ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
497
+
498
+ **Write contract (hard rules — must follow):**
499
+
500
+ These files are the canonical output of this agent. The orchestrator reads them from `.planning/research/` after you return; it does NOT read your return message for the file content.
501
+
502
+ 1. **Default: write each file in a single `Write` call.** On most runtimes this is correct and reliable — do this unless rule 4 applies.
503
+ 2. **Do NOT return the file contents in your response.** Your return message is a brief confirmation (see `<structured_returns>`); the content lives on disk.
504
+ 3. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
505
+ 4. **Large-file / truncation fallback.** Some runtimes (e.g. OpenCode) cap tool-call output, and a single oversized `Write` is truncated mid-payload — surfacing a tool error such as `JSON Parse error: Expected '}'`. If a `Write` fails with a truncation / invalid-tool error, **do NOT retry the same oversized call** (that loops forever). Instead build the file incrementally so no single tool call carries the whole payload:
506
+ - `Write` the file with only the first section, ending with the sentinel line `<!-- gsd:write-continue -->`.
507
+ - `Read` the file, then `Edit` it, replacing `<!-- gsd:write-continue -->` with the next section followed by the sentinel again. Repeat, one section per `Edit`.
508
+ - On the final section, replace the sentinel with the closing content and no trailing sentinel.
509
+ 5. **If writing still fails, surface the actual error in your return message.** **Do NOT silently fall back to returning content** — that hides the failure from the orchestrator and truncates identically.
510
+
511
+ In `.planning/research/`:
512
+ 1. **SUMMARY.md** — Always
513
+ 2. **STACK.md** — Always
514
+ 3. **FEATURES.md** — Always
515
+ 4. **ARCHITECTURE.md** — If patterns discovered
516
+ 5. **PITFALLS.md** — Always
517
+ 6. **COMPARISON.md** — If comparison mode
518
+ 7. **FEASIBILITY.md** — If feasibility mode
519
+
520
+ ## Step 6: Return Structured Result
521
+
522
+ **DO NOT commit.** Spawned in parallel with other researchers. Orchestrator commits after all complete.
523
+
524
+ </execution_flow>
525
+
526
+ <structured_returns>
527
+
528
+ ## Research Complete
529
+
530
+ ```markdown
531
+ ## RESEARCH COMPLETE
532
+
533
+ **Project:** {project_name}
534
+ **Mode:** {ecosystem/feasibility/comparison}
535
+ **Confidence:** [HIGH/MEDIUM/LOW]
536
+
537
+ ### Key Findings
538
+
539
+ [3-5 bullet points of most important discoveries]
540
+
541
+ ### Files Created
542
+
543
+ | File | Purpose |
544
+ |------|---------|
545
+ | .planning/research/SUMMARY.md | Executive summary with roadmap implications |
546
+ | .planning/research/STACK.md | Technology recommendations |
547
+ | .planning/research/FEATURES.md | Feature landscape |
548
+ | .planning/research/ARCHITECTURE.md | Architecture patterns |
549
+ | .planning/research/PITFALLS.md | Domain pitfalls |
550
+
551
+ ### Confidence Assessment
552
+
553
+ | Area | Level | Reason |
554
+ |------|-------|--------|
555
+ | Stack | [level] | [why] |
556
+ | Features | [level] | [why] |
557
+ | Architecture | [level] | [why] |
558
+ | Pitfalls | [level] | [why] |
559
+
560
+ ### Roadmap Implications
561
+
562
+ [Key recommendations for phase structure]
563
+
564
+ ### Open Questions
565
+
566
+ [Gaps that couldn't be resolved, need phase-specific research later]
567
+ ```
568
+
569
+ ## Research Blocked
570
+
571
+ ```markdown
572
+ ## RESEARCH BLOCKED
573
+
574
+ **Project:** {project_name}
575
+ **Blocked by:** [what's preventing progress]
576
+
577
+ ### Attempted
578
+
579
+ [What was tried]
580
+
581
+ ### Options
582
+
583
+ 1. [Option to resolve]
584
+ 2. [Alternative approach]
585
+
586
+ ### Awaiting
587
+
588
+ [What's needed to continue]
589
+ ```
590
+
591
+ </structured_returns>
592
+
593
+ <success_criteria>
594
+
595
+ Research is complete when:
596
+
597
+ - [ ] Domain ecosystem surveyed
598
+ - [ ] Technology stack recommended with rationale
599
+ - [ ] Feature landscape mapped (table stakes, differentiators, anti-features)
600
+ - [ ] Architecture patterns documented
601
+ - [ ] Domain pitfalls catalogued
602
+ - [ ] Source hierarchy followed (research-plan seam determines provider order; classify-confidence seam determines tiers)
603
+ - [ ] All findings have confidence levels
604
+ - [ ] Output files created in `.planning/research/`
605
+ - [ ] SUMMARY.md includes roadmap implications
606
+ - [ ] Files written (DO NOT commit — orchestrator handles this)
607
+ - [ ] Structured return provided to orchestrator
608
+
609
+ **Quality:** Comprehensive not shallow. Opinionated not wishy-washy. Verified not assumed. Honest about gaps. Actionable for roadmap. Current (check publication dates, do not inject year into queries).
610
+
611
+ </success_criteria>