@opengsd/gsd-path 1.0.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 (398) hide show
  1. package/AGENTS.md +397 -0
  2. package/DOCS.md +341 -0
  3. package/FULL.md +475 -0
  4. package/GUIDE.md +23 -0
  5. package/HOOKS.md +273 -0
  6. package/LICENSE +21 -0
  7. package/MIGRATE.md +100 -0
  8. package/QUICK.md +146 -0
  9. package/README.md +280 -0
  10. package/RUNTIME.md +229 -0
  11. package/UPDATE.md +196 -0
  12. package/WORKFLOW.md +683 -0
  13. package/package.json +80 -0
  14. package/platforms/claude/dispatch.md +63 -0
  15. package/platforms/copilot/dispatch.md +61 -0
  16. package/platforms/cursor/agent.md +17 -0
  17. package/platforms/cursor/dispatch.md +63 -0
  18. package/platforms/grok/dispatch.md +61 -0
  19. package/platforms/kimi/dispatch.md +64 -0
  20. package/platforms/kiro/dispatch.md +58 -0
  21. package/platforms/opencode/dispatch.md +62 -0
  22. package/platforms/qwen/dispatch.md +60 -0
  23. package/platforms/shared-agents/dispatch.md +131 -0
  24. package/plugin.json +14 -0
  25. package/scripts/_common.py +180 -0
  26. package/scripts/archive_milestone.py +2265 -0
  27. package/scripts/bootstrap_repository.py +710 -0
  28. package/scripts/build_state.py +854 -0
  29. package/scripts/check_docs_audit.py +463 -0
  30. package/scripts/check_handoffs.py +1855 -0
  31. package/scripts/check_task_briefs.py +376 -0
  32. package/scripts/check_update.py +93 -0
  33. package/scripts/core_hook_gate.py +34 -0
  34. package/scripts/core_hook_settings.py +119 -0
  35. package/scripts/detect_project.py +1517 -0
  36. package/scripts/discussion_records.py +619 -0
  37. package/scripts/discussion_validate.py +1321 -0
  38. package/scripts/dispatch_driver.py +1812 -0
  39. package/scripts/git_guard.py +759 -0
  40. package/scripts/guard_hook.py +2124 -0
  41. package/scripts/install.mjs +3239 -0
  42. package/scripts/install.py +3008 -0
  43. package/scripts/integration.py +1433 -0
  44. package/scripts/isolation.py +3538 -0
  45. package/scripts/lean_verification.py +256 -0
  46. package/scripts/loop_run.py +837 -0
  47. package/scripts/migrate_core.py +169 -0
  48. package/scripts/pipeline_diagnose.py +715 -0
  49. package/scripts/pipeline_git.py +940 -0
  50. package/scripts/pipeline_state.py +2291 -0
  51. package/scripts/pipeline_undo.py +1039 -0
  52. package/scripts/promote_lookahead.py +415 -0
  53. package/scripts/review_findings.py +714 -0
  54. package/scripts/review_panel.py +553 -0
  55. package/scripts/skill-resources.json +340 -0
  56. package/scripts/state_checkpoint.py +1039 -0
  57. package/scripts/state_promote.py +743 -0
  58. package/scripts/status_runtime.py +122 -0
  59. package/scripts/sync_skill_resources.py +259 -0
  60. package/scripts/token_budget.py +146 -0
  61. package/scripts/wizard.mjs +179 -0
  62. package/scripts/workflow_run.py +117 -0
  63. package/skills/gsd-path/BUILD.md +700 -0
  64. package/skills/gsd-path/DECIDE.md +115 -0
  65. package/skills/gsd-path/DEFINE.md +297 -0
  66. package/skills/gsd-path/DOCS-AUDIT.md +190 -0
  67. package/skills/gsd-path/INSPECT.md +167 -0
  68. package/skills/gsd-path/PLAN.md +411 -0
  69. package/skills/gsd-path/RESEARCH.md +159 -0
  70. package/skills/gsd-path/ROADMAP.md +215 -0
  71. package/skills/gsd-path/SHIP.md +412 -0
  72. package/skills/gsd-path/SKILL.md +471 -0
  73. package/skills/gsd-path/agents/openai.yaml +6 -0
  74. package/skills/gsd-path/references/codebase-mapper.md +52 -0
  75. package/skills/gsd-path/references/coder.md +90 -0
  76. package/skills/gsd-path/references/decider.md +36 -0
  77. package/skills/gsd-path/references/dispatch.md +131 -0
  78. package/skills/gsd-path/references/docs-auditor.md +60 -0
  79. package/skills/gsd-path/references/planner.md +104 -0
  80. package/skills/gsd-path/references/researcher.md +42 -0
  81. package/skills/gsd-path/references/reviewer.md +188 -0
  82. package/skills/gsd-path/references/roadmapper.md +48 -0
  83. package/skills/gsd-path/scripts/_common.py +180 -0
  84. package/skills/gsd-path/scripts/archive_milestone.py +2265 -0
  85. package/skills/gsd-path/scripts/bootstrap_repository.py +710 -0
  86. package/skills/gsd-path/scripts/build_state.py +854 -0
  87. package/skills/gsd-path/scripts/check_docs_audit.py +463 -0
  88. package/skills/gsd-path/scripts/check_handoffs.py +1855 -0
  89. package/skills/gsd-path/scripts/check_task_briefs.py +376 -0
  90. package/skills/gsd-path/scripts/check_update.py +93 -0
  91. package/skills/gsd-path/scripts/detect_project.py +1517 -0
  92. package/skills/gsd-path/scripts/discussion_records.py +619 -0
  93. package/skills/gsd-path/scripts/discussion_validate.py +1321 -0
  94. package/skills/gsd-path/scripts/dispatch_driver.py +1812 -0
  95. package/skills/gsd-path/scripts/integration.py +1433 -0
  96. package/skills/gsd-path/scripts/isolation.py +3538 -0
  97. package/skills/gsd-path/scripts/lean_verification.py +256 -0
  98. package/skills/gsd-path/scripts/loop_run.py +837 -0
  99. package/skills/gsd-path/scripts/pipeline_git.py +940 -0
  100. package/skills/gsd-path/scripts/pipeline_state.py +2291 -0
  101. package/skills/gsd-path/scripts/promote_lookahead.py +415 -0
  102. package/skills/gsd-path/scripts/review_findings.py +714 -0
  103. package/skills/gsd-path/scripts/review_panel.py +553 -0
  104. package/skills/gsd-path/scripts/state_checkpoint.py +1039 -0
  105. package/skills/gsd-path/scripts/state_promote.py +743 -0
  106. package/skills/gsd-path/scripts/token_budget.py +146 -0
  107. package/skills/gsd-path/scripts/workflow_run.py +117 -0
  108. package/skills/gsd-path/templates/answers.md +29 -0
  109. package/skills/gsd-path/templates/archive-manifest.md +37 -0
  110. package/skills/gsd-path/templates/charter.md +50 -0
  111. package/skills/gsd-path/templates/codebase.md +46 -0
  112. package/skills/gsd-path/templates/dialogue.md +21 -0
  113. package/skills/gsd-path/templates/docs-audit.md +69 -0
  114. package/skills/gsd-path/templates/evidence.md +24 -0
  115. package/skills/gsd-path/templates/final-review.md +27 -0
  116. package/skills/gsd-path/templates/gap-review.md +20 -0
  117. package/skills/gsd-path/templates/intent.md +98 -0
  118. package/skills/gsd-path/templates/loop.md +59 -0
  119. package/skills/gsd-path/templates/patch-findings.md +16 -0
  120. package/skills/gsd-path/templates/plan-panel.md +25 -0
  121. package/skills/gsd-path/templates/plan.md +89 -0
  122. package/skills/gsd-path/templates/repository.md +16 -0
  123. package/skills/gsd-path/templates/research-handoff.md +25 -0
  124. package/skills/gsd-path/templates/roadmap.md +38 -0
  125. package/skills/gsd-path/templates/skeptic.md +36 -0
  126. package/skills/gsd-path/templates/state.md +27 -0
  127. package/skills/gsd-path/templates/synthesis.md +36 -0
  128. package/skills/gsd-path/templates/task.md +74 -0
  129. package/skills/gsd-path/templates/wave-panel.md +25 -0
  130. package/skills/gsd-path/templates/wave-review.md +64 -0
  131. package/skills/gsd-path-build/SKILL.md +700 -0
  132. package/skills/gsd-path-build/agents/openai.yaml +6 -0
  133. package/skills/gsd-path-build/references/coder.md +90 -0
  134. package/skills/gsd-path-build/references/dispatch.md +131 -0
  135. package/skills/gsd-path-build/references/reviewer.md +188 -0
  136. package/skills/gsd-path-build/scripts/_common.py +180 -0
  137. package/skills/gsd-path-build/scripts/archive_milestone.py +2265 -0
  138. package/skills/gsd-path-build/scripts/build_state.py +854 -0
  139. package/skills/gsd-path-build/scripts/check_handoffs.py +1855 -0
  140. package/skills/gsd-path-build/scripts/check_task_briefs.py +376 -0
  141. package/skills/gsd-path-build/scripts/discussion_records.py +619 -0
  142. package/skills/gsd-path-build/scripts/discussion_validate.py +1321 -0
  143. package/skills/gsd-path-build/scripts/dispatch_driver.py +1812 -0
  144. package/skills/gsd-path-build/scripts/integration.py +1433 -0
  145. package/skills/gsd-path-build/scripts/isolation.py +3538 -0
  146. package/skills/gsd-path-build/scripts/loop_run.py +837 -0
  147. package/skills/gsd-path-build/scripts/pipeline_git.py +940 -0
  148. package/skills/gsd-path-build/scripts/pipeline_state.py +2291 -0
  149. package/skills/gsd-path-build/scripts/review_findings.py +714 -0
  150. package/skills/gsd-path-build/scripts/review_panel.py +553 -0
  151. package/skills/gsd-path-build/scripts/state_checkpoint.py +1039 -0
  152. package/skills/gsd-path-build/scripts/state_promote.py +743 -0
  153. package/skills/gsd-path-build/scripts/token_budget.py +146 -0
  154. package/skills/gsd-path-build/scripts/workflow_run.py +117 -0
  155. package/skills/gsd-path-build/templates/skeptic.md +36 -0
  156. package/skills/gsd-path-build/templates/task.md +74 -0
  157. package/skills/gsd-path-build/templates/wave-panel.md +25 -0
  158. package/skills/gsd-path-build/templates/wave-review.md +64 -0
  159. package/skills/gsd-path-decide/SKILL.md +115 -0
  160. package/skills/gsd-path-decide/agents/openai.yaml +6 -0
  161. package/skills/gsd-path-decide/references/decider.md +36 -0
  162. package/skills/gsd-path-decide/references/dispatch.md +131 -0
  163. package/skills/gsd-path-decide/scripts/_common.py +180 -0
  164. package/skills/gsd-path-decide/scripts/check_handoffs.py +1855 -0
  165. package/skills/gsd-path-decide/scripts/check_task_briefs.py +376 -0
  166. package/skills/gsd-path-decide/scripts/discussion_records.py +619 -0
  167. package/skills/gsd-path-decide/scripts/isolation.py +3538 -0
  168. package/skills/gsd-path-decide/scripts/pipeline_git.py +940 -0
  169. package/skills/gsd-path-decide/scripts/pipeline_state.py +2291 -0
  170. package/skills/gsd-path-decide/scripts/state_checkpoint.py +1039 -0
  171. package/skills/gsd-path-decide/scripts/state_promote.py +743 -0
  172. package/skills/gsd-path-decide/templates/synthesis.md +36 -0
  173. package/skills/gsd-path-define/SKILL.md +297 -0
  174. package/skills/gsd-path-define/agents/openai.yaml +6 -0
  175. package/skills/gsd-path-define/scripts/_common.py +180 -0
  176. package/skills/gsd-path-define/scripts/check_handoffs.py +1855 -0
  177. package/skills/gsd-path-define/scripts/check_task_briefs.py +376 -0
  178. package/skills/gsd-path-define/scripts/detect_project.py +1517 -0
  179. package/skills/gsd-path-define/scripts/discussion_records.py +619 -0
  180. package/skills/gsd-path-define/scripts/isolation.py +3538 -0
  181. package/skills/gsd-path-define/scripts/pipeline_git.py +940 -0
  182. package/skills/gsd-path-define/scripts/pipeline_state.py +2291 -0
  183. package/skills/gsd-path-define/scripts/state_checkpoint.py +1039 -0
  184. package/skills/gsd-path-define/scripts/state_promote.py +743 -0
  185. package/skills/gsd-path-define/templates/charter.md +50 -0
  186. package/skills/gsd-path-define/templates/intent.md +98 -0
  187. package/skills/gsd-path-define/templates/state.md +27 -0
  188. package/skills/gsd-path-discuss/SKILL.md +162 -0
  189. package/skills/gsd-path-discuss/agents/openai.yaml +6 -0
  190. package/skills/gsd-path-discuss/scripts/_common.py +180 -0
  191. package/skills/gsd-path-discuss/scripts/discussion_records.py +619 -0
  192. package/skills/gsd-path-discuss/templates/answers.md +29 -0
  193. package/skills/gsd-path-discuss/templates/dialogue.md +21 -0
  194. package/skills/gsd-path-docs-audit/SKILL.md +190 -0
  195. package/skills/gsd-path-docs-audit/agents/openai.yaml +6 -0
  196. package/skills/gsd-path-docs-audit/references/dispatch.md +131 -0
  197. package/skills/gsd-path-docs-audit/references/docs-auditor.md +60 -0
  198. package/skills/gsd-path-docs-audit/scripts/_common.py +180 -0
  199. package/skills/gsd-path-docs-audit/scripts/check_docs_audit.py +463 -0
  200. package/skills/gsd-path-docs-audit/scripts/check_handoffs.py +1855 -0
  201. package/skills/gsd-path-docs-audit/scripts/check_task_briefs.py +376 -0
  202. package/skills/gsd-path-docs-audit/scripts/discussion_records.py +619 -0
  203. package/skills/gsd-path-docs-audit/scripts/isolation.py +3538 -0
  204. package/skills/gsd-path-docs-audit/scripts/pipeline_git.py +940 -0
  205. package/skills/gsd-path-docs-audit/scripts/pipeline_state.py +2291 -0
  206. package/skills/gsd-path-docs-audit/scripts/state_checkpoint.py +1039 -0
  207. package/skills/gsd-path-docs-audit/scripts/state_promote.py +743 -0
  208. package/skills/gsd-path-docs-audit/templates/docs-audit.md +69 -0
  209. package/skills/gsd-path-forensics/SKILL.md +39 -0
  210. package/skills/gsd-path-forensics/agents/openai.yaml +6 -0
  211. package/skills/gsd-path-forensics/scripts/_common.py +180 -0
  212. package/skills/gsd-path-forensics/scripts/discussion_records.py +619 -0
  213. package/skills/gsd-path-forensics/scripts/pipeline_diagnose.py +715 -0
  214. package/skills/gsd-path-forensics/scripts/pipeline_undo.py +1039 -0
  215. package/skills/gsd-path-inspect/SKILL.md +167 -0
  216. package/skills/gsd-path-inspect/agents/openai.yaml +6 -0
  217. package/skills/gsd-path-inspect/references/codebase-mapper.md +52 -0
  218. package/skills/gsd-path-inspect/references/dispatch.md +131 -0
  219. package/skills/gsd-path-inspect/references/docs-auditor.md +60 -0
  220. package/skills/gsd-path-inspect/scripts/_common.py +180 -0
  221. package/skills/gsd-path-inspect/scripts/check_docs_audit.py +463 -0
  222. package/skills/gsd-path-inspect/scripts/check_handoffs.py +1855 -0
  223. package/skills/gsd-path-inspect/scripts/check_task_briefs.py +376 -0
  224. package/skills/gsd-path-inspect/scripts/detect_project.py +1517 -0
  225. package/skills/gsd-path-inspect/scripts/discussion_records.py +619 -0
  226. package/skills/gsd-path-inspect/scripts/isolation.py +3538 -0
  227. package/skills/gsd-path-inspect/scripts/pipeline_git.py +940 -0
  228. package/skills/gsd-path-inspect/scripts/pipeline_state.py +2291 -0
  229. package/skills/gsd-path-inspect/scripts/state_checkpoint.py +1039 -0
  230. package/skills/gsd-path-inspect/scripts/state_promote.py +743 -0
  231. package/skills/gsd-path-inspect/templates/codebase.md +46 -0
  232. package/skills/gsd-path-inspect/templates/docs-audit.md +69 -0
  233. package/skills/gsd-path-inspect/templates/state.md +27 -0
  234. package/skills/gsd-path-loop/SKILL.md +98 -0
  235. package/skills/gsd-path-loop/agents/openai.yaml +6 -0
  236. package/skills/gsd-path-loop/examples/ci-repair.LOOP.md +61 -0
  237. package/skills/gsd-path-loop/scripts/_common.py +180 -0
  238. package/skills/gsd-path-loop/scripts/discussion_records.py +619 -0
  239. package/skills/gsd-path-loop/scripts/loop_run.py +837 -0
  240. package/skills/gsd-path-loop/templates/loop.md +59 -0
  241. package/skills/gsd-path-migrate/SKILL.md +134 -0
  242. package/skills/gsd-path-migrate/agents/openai.yaml +6 -0
  243. package/skills/gsd-path-migrate/scripts/core_hook_gate.py +34 -0
  244. package/skills/gsd-path-migrate/scripts/core_hook_settings.py +119 -0
  245. package/skills/gsd-path-migrate/scripts/discussion_records.py +619 -0
  246. package/skills/gsd-path-migrate/scripts/migrate_core.py +169 -0
  247. package/skills/gsd-path-plan/SKILL.md +411 -0
  248. package/skills/gsd-path-plan/agents/openai.yaml +6 -0
  249. package/skills/gsd-path-plan/references/dispatch.md +131 -0
  250. package/skills/gsd-path-plan/references/planner.md +104 -0
  251. package/skills/gsd-path-plan/scripts/_common.py +180 -0
  252. package/skills/gsd-path-plan/scripts/check_handoffs.py +1855 -0
  253. package/skills/gsd-path-plan/scripts/check_task_briefs.py +376 -0
  254. package/skills/gsd-path-plan/scripts/discussion_records.py +619 -0
  255. package/skills/gsd-path-plan/scripts/isolation.py +3538 -0
  256. package/skills/gsd-path-plan/scripts/pipeline_git.py +940 -0
  257. package/skills/gsd-path-plan/scripts/pipeline_state.py +2291 -0
  258. package/skills/gsd-path-plan/scripts/review_panel.py +553 -0
  259. package/skills/gsd-path-plan/scripts/state_checkpoint.py +1039 -0
  260. package/skills/gsd-path-plan/scripts/state_promote.py +743 -0
  261. package/skills/gsd-path-plan/scripts/workflow_run.py +117 -0
  262. package/skills/gsd-path-plan/templates/patch-findings.md +16 -0
  263. package/skills/gsd-path-plan/templates/plan-panel.md +25 -0
  264. package/skills/gsd-path-plan/templates/plan.md +89 -0
  265. package/skills/gsd-path-plan/templates/task.md +74 -0
  266. package/skills/gsd-path-research/SKILL.md +159 -0
  267. package/skills/gsd-path-research/agents/openai.yaml +6 -0
  268. package/skills/gsd-path-research/references/dispatch.md +131 -0
  269. package/skills/gsd-path-research/references/researcher.md +42 -0
  270. package/skills/gsd-path-research/scripts/_common.py +180 -0
  271. package/skills/gsd-path-research/scripts/check_handoffs.py +1855 -0
  272. package/skills/gsd-path-research/scripts/check_task_briefs.py +376 -0
  273. package/skills/gsd-path-research/scripts/discussion_records.py +619 -0
  274. package/skills/gsd-path-research/scripts/isolation.py +3538 -0
  275. package/skills/gsd-path-research/scripts/pipeline_git.py +940 -0
  276. package/skills/gsd-path-research/scripts/pipeline_state.py +2291 -0
  277. package/skills/gsd-path-research/scripts/state_checkpoint.py +1039 -0
  278. package/skills/gsd-path-research/scripts/state_promote.py +743 -0
  279. package/skills/gsd-path-research/templates/evidence.md +24 -0
  280. package/skills/gsd-path-research/templates/research-handoff.md +25 -0
  281. package/skills/gsd-path-roadmap/SKILL.md +215 -0
  282. package/skills/gsd-path-roadmap/agents/openai.yaml +6 -0
  283. package/skills/gsd-path-roadmap/references/dispatch.md +131 -0
  284. package/skills/gsd-path-roadmap/references/roadmapper.md +48 -0
  285. package/skills/gsd-path-roadmap/scripts/_common.py +180 -0
  286. package/skills/gsd-path-roadmap/scripts/archive_milestone.py +2265 -0
  287. package/skills/gsd-path-roadmap/scripts/check_handoffs.py +1855 -0
  288. package/skills/gsd-path-roadmap/scripts/check_task_briefs.py +376 -0
  289. package/skills/gsd-path-roadmap/scripts/detect_project.py +1517 -0
  290. package/skills/gsd-path-roadmap/scripts/discussion_records.py +619 -0
  291. package/skills/gsd-path-roadmap/scripts/discussion_validate.py +1321 -0
  292. package/skills/gsd-path-roadmap/scripts/integration.py +1433 -0
  293. package/skills/gsd-path-roadmap/scripts/isolation.py +3538 -0
  294. package/skills/gsd-path-roadmap/scripts/pipeline_git.py +940 -0
  295. package/skills/gsd-path-roadmap/scripts/pipeline_state.py +2291 -0
  296. package/skills/gsd-path-roadmap/scripts/promote_lookahead.py +415 -0
  297. package/skills/gsd-path-roadmap/scripts/review_panel.py +553 -0
  298. package/skills/gsd-path-roadmap/scripts/state_checkpoint.py +1039 -0
  299. package/skills/gsd-path-roadmap/scripts/state_promote.py +743 -0
  300. package/skills/gsd-path-roadmap/templates/roadmap.md +38 -0
  301. package/skills/gsd-path-ship/SKILL.md +412 -0
  302. package/skills/gsd-path-ship/agents/openai.yaml +6 -0
  303. package/skills/gsd-path-ship/references/dispatch.md +131 -0
  304. package/skills/gsd-path-ship/references/reviewer.md +188 -0
  305. package/skills/gsd-path-ship/scripts/_common.py +180 -0
  306. package/skills/gsd-path-ship/scripts/archive_milestone.py +2265 -0
  307. package/skills/gsd-path-ship/scripts/build_state.py +854 -0
  308. package/skills/gsd-path-ship/scripts/check_handoffs.py +1855 -0
  309. package/skills/gsd-path-ship/scripts/check_task_briefs.py +376 -0
  310. package/skills/gsd-path-ship/scripts/discussion_records.py +619 -0
  311. package/skills/gsd-path-ship/scripts/discussion_validate.py +1321 -0
  312. package/skills/gsd-path-ship/scripts/integration.py +1433 -0
  313. package/skills/gsd-path-ship/scripts/isolation.py +3538 -0
  314. package/skills/gsd-path-ship/scripts/lean_verification.py +256 -0
  315. package/skills/gsd-path-ship/scripts/pipeline_git.py +940 -0
  316. package/skills/gsd-path-ship/scripts/pipeline_state.py +2291 -0
  317. package/skills/gsd-path-ship/scripts/review_panel.py +553 -0
  318. package/skills/gsd-path-ship/scripts/state_checkpoint.py +1039 -0
  319. package/skills/gsd-path-ship/scripts/state_promote.py +743 -0
  320. package/skills/gsd-path-ship/scripts/workflow_run.py +117 -0
  321. package/skills/gsd-path-ship/templates/archive-manifest.md +37 -0
  322. package/skills/gsd-path-ship/templates/final-review.md +27 -0
  323. package/skills/gsd-path-ship/templates/gap-review.md +20 -0
  324. package/skills/gsd-path-ship/templates/patch-findings.md +16 -0
  325. package/skills/gsd-path-ship/templates/wave-review.md +64 -0
  326. package/skills/gsd-path-undo/SKILL.md +45 -0
  327. package/skills/gsd-path-undo/agents/openai.yaml +6 -0
  328. package/skills/gsd-path-undo/scripts/_common.py +180 -0
  329. package/skills/gsd-path-undo/scripts/discussion_records.py +619 -0
  330. package/skills/gsd-path-undo/scripts/pipeline_undo.py +1039 -0
  331. package/skills/path/BUILD.md +700 -0
  332. package/skills/path/DECIDE.md +115 -0
  333. package/skills/path/DEFINE.md +297 -0
  334. package/skills/path/DOCS-AUDIT.md +190 -0
  335. package/skills/path/INSPECT.md +167 -0
  336. package/skills/path/PLAN.md +411 -0
  337. package/skills/path/RESEARCH.md +159 -0
  338. package/skills/path/ROADMAP.md +215 -0
  339. package/skills/path/SHIP.md +412 -0
  340. package/skills/path/SKILL.md +471 -0
  341. package/skills/path/agents/openai.yaml +6 -0
  342. package/skills/path/references/codebase-mapper.md +52 -0
  343. package/skills/path/references/coder.md +90 -0
  344. package/skills/path/references/decider.md +36 -0
  345. package/skills/path/references/dispatch.md +131 -0
  346. package/skills/path/references/docs-auditor.md +60 -0
  347. package/skills/path/references/planner.md +104 -0
  348. package/skills/path/references/researcher.md +42 -0
  349. package/skills/path/references/reviewer.md +188 -0
  350. package/skills/path/references/roadmapper.md +48 -0
  351. package/skills/path/scripts/_common.py +180 -0
  352. package/skills/path/scripts/archive_milestone.py +2265 -0
  353. package/skills/path/scripts/bootstrap_repository.py +710 -0
  354. package/skills/path/scripts/build_state.py +854 -0
  355. package/skills/path/scripts/check_docs_audit.py +463 -0
  356. package/skills/path/scripts/check_handoffs.py +1855 -0
  357. package/skills/path/scripts/check_task_briefs.py +376 -0
  358. package/skills/path/scripts/check_update.py +93 -0
  359. package/skills/path/scripts/detect_project.py +1517 -0
  360. package/skills/path/scripts/discussion_records.py +619 -0
  361. package/skills/path/scripts/discussion_validate.py +1321 -0
  362. package/skills/path/scripts/dispatch_driver.py +1812 -0
  363. package/skills/path/scripts/integration.py +1433 -0
  364. package/skills/path/scripts/isolation.py +3538 -0
  365. package/skills/path/scripts/lean_verification.py +256 -0
  366. package/skills/path/scripts/loop_run.py +837 -0
  367. package/skills/path/scripts/pipeline_git.py +940 -0
  368. package/skills/path/scripts/pipeline_state.py +2291 -0
  369. package/skills/path/scripts/promote_lookahead.py +415 -0
  370. package/skills/path/scripts/review_findings.py +714 -0
  371. package/skills/path/scripts/review_panel.py +553 -0
  372. package/skills/path/scripts/state_checkpoint.py +1039 -0
  373. package/skills/path/scripts/state_promote.py +743 -0
  374. package/skills/path/scripts/token_budget.py +146 -0
  375. package/skills/path/scripts/workflow_run.py +117 -0
  376. package/skills/path/templates/answers.md +29 -0
  377. package/skills/path/templates/archive-manifest.md +37 -0
  378. package/skills/path/templates/charter.md +50 -0
  379. package/skills/path/templates/codebase.md +46 -0
  380. package/skills/path/templates/dialogue.md +21 -0
  381. package/skills/path/templates/docs-audit.md +69 -0
  382. package/skills/path/templates/evidence.md +24 -0
  383. package/skills/path/templates/final-review.md +27 -0
  384. package/skills/path/templates/gap-review.md +20 -0
  385. package/skills/path/templates/intent.md +98 -0
  386. package/skills/path/templates/loop.md +59 -0
  387. package/skills/path/templates/patch-findings.md +16 -0
  388. package/skills/path/templates/plan-panel.md +25 -0
  389. package/skills/path/templates/plan.md +89 -0
  390. package/skills/path/templates/repository.md +16 -0
  391. package/skills/path/templates/research-handoff.md +25 -0
  392. package/skills/path/templates/roadmap.md +38 -0
  393. package/skills/path/templates/skeptic.md +36 -0
  394. package/skills/path/templates/state.md +27 -0
  395. package/skills/path/templates/synthesis.md +36 -0
  396. package/skills/path/templates/task.md +74 -0
  397. package/skills/path/templates/wave-panel.md +25 -0
  398. package/skills/path/templates/wave-review.md +64 -0
package/package.json ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "name": "@opengsd/gsd-path",
3
+ "version": "1.0.0",
4
+ "description": "Disk-backed AI agent pipeline. Docs: DOCS.md (start here), QUICK.md, FULL.md, UPDATE.md",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "bin": {
8
+ "gsd-path": "scripts/install.mjs"
9
+ },
10
+ "files": [
11
+ "plugin.json",
12
+ "scripts/install.mjs",
13
+ "scripts/install.py",
14
+ "scripts/migrate_core.py",
15
+ "scripts/core_hook_gate.py",
16
+ "scripts/core_hook_settings.py",
17
+ "scripts/sync_skill_resources.py",
18
+ "scripts/wizard.mjs",
19
+ "scripts/skill-resources.json",
20
+ "scripts/_common.py",
21
+ "scripts/state_checkpoint.py",
22
+ "scripts/state_promote.py",
23
+ "scripts/discussion_validate.py",
24
+ "scripts/integration.py",
25
+ "scripts/archive_milestone.py",
26
+ "scripts/bootstrap_repository.py",
27
+ "scripts/detect_project.py",
28
+ "scripts/promote_lookahead.py",
29
+ "scripts/discussion_records.py",
30
+ "scripts/check_handoffs.py",
31
+ "scripts/check_docs_audit.py",
32
+ "scripts/check_task_briefs.py",
33
+ "scripts/review_panel.py",
34
+ "scripts/review_findings.py",
35
+ "scripts/check_update.py",
36
+ "scripts/guard_hook.py",
37
+ "scripts/git_guard.py",
38
+ "scripts/isolation.py",
39
+ "scripts/pipeline_git.py",
40
+ "scripts/pipeline_state.py",
41
+ "scripts/status_runtime.py",
42
+ "scripts/build_state.py",
43
+ "scripts/loop_run.py",
44
+ "scripts/workflow_run.py",
45
+ "scripts/dispatch_driver.py",
46
+ "scripts/lean_verification.py",
47
+ "scripts/token_budget.py",
48
+ "scripts/pipeline_undo.py",
49
+ "scripts/pipeline_diagnose.py",
50
+ "README.md",
51
+ "MIGRATE.md",
52
+ "RUNTIME.md",
53
+ "DOCS.md",
54
+ "HOOKS.md",
55
+ "QUICK.md",
56
+ "FULL.md",
57
+ "UPDATE.md",
58
+ "GUIDE.md",
59
+ "skills/",
60
+ "platforms/",
61
+ "AGENTS.md",
62
+ "WORKFLOW.md"
63
+ ],
64
+ "engines": {
65
+ "node": ">=18.17"
66
+ },
67
+ "scripts": {
68
+ "install:ci": "npm ci",
69
+ "check:prereqs": "bash scripts/check-test-prereqs.sh",
70
+ "test": "node --test tests/*.test.mjs",
71
+ "test:smoke": "npm test",
72
+ "test:integration": "npm run test:python",
73
+ "test:python": "python3 -m unittest discover -s tests",
74
+ "test:sync": "python3 scripts/sync_skill_resources.py --check",
75
+ "test:daemon": "PYTHONPATH=daemon python3 -m unittest discover -s tests -p 'test_daemon_*.py'",
76
+ "verify": "npm test && npm run test:python && python3 scripts/sync_skill_resources.py --check",
77
+ "verify:release": "npm run verify && python3 scripts/check_trust_evidence.py --repo .",
78
+ "prepublishOnly": "npm run verify:release"
79
+ }
80
+ }
@@ -0,0 +1,63 @@
1
+ # Claude Code agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Claude Code's `Agent` tool with `subagent_type: general-purpose`. Every
6
+ GSD Path child must be able to write its declared artifact, so do not use the
7
+ one-shot `Explore` or `Plan` agents. The linked role brief supplies the
8
+ read-only boundary for auditors and reviewers.
9
+ - Supply the deterministic logical task name as the Agent `description`:
10
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
11
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
12
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
13
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
14
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
15
+ optional finding skeptic uses
16
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
17
+ `review_plan_panel_<family>`,
18
+ `review_final`, or
19
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
20
+ replace non-alphanumeric runs with one underscore. Never add a random
21
+ suffix.
22
+ - Keep the returned agent ID when the host advertises a resume facility. For a
23
+ correction, retry, post-patch review, repeated audit, or later milestone,
24
+ resume that child when supported; otherwise start a fresh `general-purpose`
25
+ child. Always send the entire new self-contained brief. If a child with the
26
+ same logical task name is still running, wait for it rather than dispatching
27
+ a colliding target.
28
+ - Resolve the phase's linked role brief to an absolute path. Include that path
29
+ in the prompt and require the agent to read it before acting.
30
+ - Tier hints: when the host advertises model or reasoning-effort selection,
31
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
32
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
33
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Do not ask Claude Code to create
34
+ another worktree: GSD Path supplies the exact repository or
35
+ linked-worktree root in the brief, and the child must work only there.
36
+ Host isolation: none.
37
+ - Give every child a self-contained prompt with absolute input, template, and
38
+ output paths plus its bounded responsibility. A coder prompt also names its
39
+ isolated linked-worktree root; no child may infer the primary worktree.
40
+ - Launch independent Agent calls concurrently up to the available limit, using
41
+ background execution when exposed by the host. Batch any remainder and
42
+ collect every result before applying the phase gate.
43
+ - When the host exposes a blocking ask/reply channel, route a coder's
44
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
45
+ held alive for the reply, instead of block-and-redispatch. Append the
46
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
47
+ record stays complete; a timed-out or unavailable channel falls back to
48
+ the portable block path.
49
+ - A child that receives a disposable worktree stages its assigned artifact
50
+ under that root. The parent validates it and atomically transfers it to
51
+ the canonical project path before removing the exact disposable root. A
52
+ child never writes a disposable-review output directly into the primary
53
+ worktree.
54
+ - If the `Agent` tool or full-capability `general-purpose` agent is unavailable,
55
+ stop and report the missing capability. Do not silently collapse an
56
+ independence boundary into the main context.
57
+
58
+ ## Parent lifecycle
59
+
60
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
61
+ cancellation, transfer staged outputs from disposable roots, clean up every
62
+ child and temporary root before the phase gate, and never let a child delegate
63
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,61 @@
1
+ # GitHub Copilot CLI agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Copilot CLI's `task` tool with the built-in `general-purpose` agent.
6
+ Every GSD Path child must be able to write its declared artifact; the linked
7
+ role brief supplies the read-only boundary for auditors and reviewers.
8
+ - Supply the deterministic logical task name as the task description:
9
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
10
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
11
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
12
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
13
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
14
+ optional finding skeptic uses
15
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
16
+ `review_plan_panel_<family>`,
17
+ `review_final`, or
18
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
19
+ replace non-alphanumeric runs with one underscore. Never add a random
20
+ suffix.
21
+ - Keep the returned agent ID for each logical task name. For a correction,
22
+ retry, post-patch review, repeated audit, or later milestone, use
23
+ `write_agent` when that child remains available for follow-up and send the
24
+ entire new self-contained brief. Otherwise start a fresh `general-purpose`
25
+ task with that brief. If the child is still running a different brief, wait;
26
+ never create a colliding logical target.
27
+ - Resolve the phase's linked role brief to an absolute path. Include that path
28
+ in the prompt and require the child to read it before acting.
29
+ - Tier hints: when the host advertises model or reasoning-effort selection,
30
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
31
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
32
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Do not ask Copilot to create another
33
+ worktree: GSD Path supplies the exact repository or linked-worktree root,
34
+ and the child must work only there. Host isolation: none.
35
+ - Give every child a self-contained prompt with absolute input, template, and
36
+ output paths plus its bounded responsibility. A coder prompt also names its
37
+ isolated linked-worktree root; no child may infer the primary worktree.
38
+ - Launch one `task` call per independent brief in parallel up to the available
39
+ concurrency limit. Batch any remainder and collect every result before
40
+ applying the phase gate.
41
+ - When the host exposes a blocking ask/reply channel, route a coder's
42
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
43
+ held alive for the reply, instead of block-and-redispatch. Append the
44
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
45
+ record stays complete; a timed-out or unavailable channel falls back to
46
+ the portable block path.
47
+ - A child that receives a disposable worktree stages its assigned artifact
48
+ under that root. The parent validates it and atomically transfers it to
49
+ the canonical project path before removing the exact disposable root. A
50
+ child never writes a disposable-review output directly into the primary
51
+ worktree.
52
+ - If `task` or the full-capability `general-purpose` agent is unavailable, stop
53
+ and report the missing capability. Do not silently collapse an independence
54
+ boundary into the main context.
55
+
56
+ ## Parent lifecycle
57
+
58
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
59
+ cancellation, transfer staged outputs from disposable roots, clean up every
60
+ child and temporary root before the phase gate, and never let a child delegate
61
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: gsd-path
3
+ description: Full-capability child for bounded work delegated by an explicitly invoked GSD Path skill.
4
+ model: inherit
5
+ readonly: false
6
+ ---
7
+
8
+ Execute only the complete, self-contained GSD Path brief supplied by the
9
+ parent agent.
10
+
11
+ - Read the absolute role-brief path before acting and obey its boundary.
12
+ - Work only in the exact repository or linked-worktree root from the prompt.
13
+ - Read only the named inputs and write only the declared outputs or coder
14
+ scope. Never infer missing paths or expand the assignment.
15
+ - Do not create another worktree, override the model, or delegate the task.
16
+ - Report the output paths, status, verdict, and reproduced evidence requested
17
+ by the brief. Surface partial or failed results plainly.
@@ -0,0 +1,63 @@
1
+ # Cursor agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Cursor's `Task` tool with the installed custom `gsd-path` subagent. Its
6
+ model is `inherit` and it has full tool access; the linked role brief supplies
7
+ the read-only boundary for auditors and reviewers.
8
+ - Supply the deterministic logical task name as the task description:
9
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
10
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
11
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
12
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
13
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
14
+ optional finding skeptic uses
15
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
16
+ `review_plan_panel_<family>`,
17
+ `review_final`, or
18
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
19
+ replace non-alphanumeric runs with one underscore. Never add a random
20
+ suffix.
21
+ - Keep the returned agent ID for each logical task name. When Cursor exposes
22
+ resume, continue that agent for a correction, retry, post-patch review,
23
+ repeated audit, or later milestone and send the entire new self-contained
24
+ brief. Otherwise start a fresh full-capability child with that complete
25
+ brief. If the prior child is still running, wait; never collide targets.
26
+ - Resolve the phase's linked role brief to an absolute path. Include that path
27
+ in the prompt and require the child to read it before acting.
28
+ - Tier hints: when the host advertises model or reasoning-effort selection,
29
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
30
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
31
+ selection, do not override the model. The only exception is a review-panel
32
+ child: pass the exact slug returned by `scripts/review_panel.py resolve`
33
+ for that family. Never override the model on the canonical reviewer,
34
+ planner, or coder. Set the task working directory to the
35
+ exact repository or linked-worktree root supplied by GSD Path; do not ask
36
+ Cursor or the child to create another worktree. Host isolation: none.
37
+ - Give every child a self-contained prompt with absolute input, template, and
38
+ output paths plus its bounded responsibility. A coder prompt also names its
39
+ isolated linked-worktree root; no child may infer the primary worktree.
40
+ - Launch independent tasks concurrently up to the available limit, using
41
+ background execution when exposed. Batch any remainder and collect every
42
+ result before applying the phase gate.
43
+ - When the host exposes a blocking ask/reply channel, route a coder's
44
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
45
+ held alive for the reply, instead of block-and-redispatch. Append the
46
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
47
+ record stays complete; a timed-out or unavailable channel falls back to
48
+ the portable block path.
49
+ - A child that receives a disposable worktree stages its assigned artifact
50
+ under that root. The parent validates it and atomically transfers it to
51
+ the canonical project path before removing the exact disposable root. A
52
+ child never writes a disposable-review output directly into the primary
53
+ worktree.
54
+ - If `Task` or the custom `gsd-path` subagent is unavailable, stop and report
55
+ the missing capability. Do not silently collapse an independence boundary
56
+ into the main context.
57
+
58
+ ## Parent lifecycle
59
+
60
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
61
+ cancellation, transfer staged outputs from disposable roots, clean up every
62
+ child and temporary root before the phase gate, and never let a child delegate
63
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,61 @@
1
+ # Grok agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Grok's `spawn_subagent` tool with `subagent_type: general-purpose` and
6
+ `capability_mode: all`. Every GSD Path child must be able to write its
7
+ declared artifact; the linked role brief supplies the read-only boundary for
8
+ auditors and reviewers.
9
+ - Supply the deterministic logical task name as the subagent `description`:
10
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
11
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
12
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
13
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
14
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
15
+ optional finding skeptic uses
16
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
17
+ `review_plan_panel_<family>`,
18
+ `review_final`, or
19
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
20
+ replace non-alphanumeric runs with one underscore. Never add a random
21
+ suffix.
22
+ - Keep the returned subagent ID for each logical task name. For a correction,
23
+ retry, post-patch review, repeated audit, or later milestone in the same
24
+ conversation, call `spawn_subagent` with `resume_from` and the entire new
25
+ self-contained prompt. If it is still running a different brief, wait for
26
+ it; never create a colliding logical target.
27
+ - Resolve the phase's linked role brief to an absolute path. Include that path
28
+ in the prompt and require the subagent to read it before acting.
29
+ - Tier hints: when the host advertises model or reasoning-effort selection,
30
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
31
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
32
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Set `cwd` to the exact root supplied
33
+ by GSD Path and use `isolation: none`; the pipeline already owns any
34
+ required linked worktree. Host isolation: none.
35
+ - Give every subagent a self-contained prompt with absolute input, template,
36
+ and output paths plus its bounded responsibility. A coder prompt also names
37
+ its isolated linked-worktree root; no child may infer the primary worktree.
38
+ - Launch independent subagents with `background: true` up to the available
39
+ limit. Batch any remainder, wait with `wait_commands_or_subagents`, and
40
+ collect every result before applying the phase gate.
41
+ - When the host exposes a blocking ask/reply channel, route a coder's
42
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
43
+ held alive for the reply, instead of block-and-redispatch. Append the
44
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
45
+ record stays complete; a timed-out or unavailable channel falls back to
46
+ the portable block path.
47
+ - A child that receives a disposable worktree stages its assigned artifact
48
+ under that root. The parent validates it and atomically transfers it to
49
+ the canonical project path before removing the exact disposable root. A
50
+ child never writes a disposable-review output directly into the primary
51
+ worktree.
52
+ - If `spawn_subagent` or the `general-purpose` type is unavailable, stop and
53
+ report the missing capability. Do not silently collapse an independence
54
+ boundary into the main context.
55
+
56
+ ## Parent lifecycle
57
+
58
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
59
+ cancellation, transfer staged outputs from disposable roots, clean up every
60
+ child and temporary root before the phase gate, and never let a child delegate
61
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,64 @@
1
+ # Kimi agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Kimi's `Agent` tool with `subagent_type: coder` for every child. Every
6
+ GSD Path child must write its declared artifact, and `coder` is the only
7
+ type with file-editing tools; never use `explore` or `plan` children for
8
+ artifact-producing work. The linked role brief supplies the read-only
9
+ boundary for auditors and reviewers.
10
+ - Supply the deterministic logical task name as the Agent `description`:
11
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
12
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
13
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
14
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
15
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
16
+ optional finding skeptic uses
17
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
18
+ `review_plan_panel_<family>`,
19
+ `review_final`, or
20
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
21
+ replace non-alphanumeric runs with one underscore. Never add a random
22
+ suffix.
23
+ - Keep the returned agent ID for each logical task name. For a correction,
24
+ retry, post-patch review, repeated audit, or later milestone in the same
25
+ conversation, resume that agent through the `resume` parameter and send
26
+ the entire new self-contained brief. If it is still running a different
27
+ brief, wait for it; never create a colliding logical target.
28
+ - Resolve the phase's linked role brief to an absolute path. Include that
29
+ path in the prompt and require the child to read it before acting.
30
+ - Tier hints: when the host advertises model or reasoning-effort selection,
31
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
32
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
33
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Do not ask Kimi to create a worktree:
34
+ GSD Path supplies the exact repository or linked-worktree root in the
35
+ brief, and the child must work only there. Host isolation: none.
36
+ - Give every child a self-contained prompt with absolute input, template,
37
+ and output paths plus its bounded responsibility. A coder prompt also
38
+ names its isolated linked-worktree root; no child may infer the primary
39
+ worktree.
40
+ - Launch independent `Agent` calls concurrently in one block, up to the
41
+ available limit. Batch any remainder without combining briefs, and collect
42
+ every result before applying the phase gate. Do not leave children running
43
+ after collection.
44
+ - When the host exposes a blocking ask/reply channel, route a coder's
45
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
46
+ held alive for the reply, instead of block-and-redispatch. Append the
47
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
48
+ record stays complete; a timed-out or unavailable channel falls back to
49
+ the portable block path.
50
+ - A child that receives a disposable worktree stages its assigned artifact
51
+ under that root. The parent validates it and atomically transfers it to
52
+ the canonical project path before removing the exact disposable root. A
53
+ child never writes a disposable-review output directly into the primary
54
+ worktree.
55
+ - If the `Agent` tool or the `coder` child type is unavailable, stop and
56
+ report the missing capability. Do not silently collapse an independence
57
+ boundary into the main context.
58
+
59
+ ## Parent lifecycle
60
+
61
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
62
+ cancellation, transfer staged outputs from disposable roots, clean up every
63
+ child and temporary root before the phase gate, and never let a child delegate
64
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,58 @@
1
+ # Kiro agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Kiro's subagent facility with the default general-purpose subagent.
6
+ Every GSD Path child must be able to write its declared artifact; the linked
7
+ role brief supplies the read-only boundary for auditors and reviewers.
8
+ - Supply the deterministic logical task name as the task description:
9
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
10
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
11
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
12
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
13
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
14
+ optional finding skeptic uses
15
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
16
+ `review_plan_panel_<family>`,
17
+ `review_final`, or
18
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
19
+ replace non-alphanumeric runs with one underscore. Never add a random
20
+ suffix.
21
+ - Start a fresh general-purpose child for a correction, retry, post-patch
22
+ review, repeated audit, or later milestone and send the entire new
23
+ self-contained brief. Disk artifacts remain the source of truth.
24
+ - Resolve the phase's linked role brief to an absolute path. Include that path
25
+ in the prompt and require the subagent to read it before acting.
26
+ - Tier hints: when the host advertises model or reasoning-effort selection,
27
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
28
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
29
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Set the child working directory to the
30
+ exact repository or linked-worktree root supplied by GSD Path; do not ask
31
+ Kiro or the child to create another worktree. Host isolation: none.
32
+ - Give every child a self-contained prompt with absolute input, template, and
33
+ output paths plus its bounded responsibility. A coder prompt also names its
34
+ isolated linked-worktree root; no child may infer the primary worktree.
35
+ - Encode task dependencies explicitly. Launch independent ready tasks in
36
+ parallel up to the host's advertised concurrent-subagent capacity; batch
37
+ any remainder and collect every result before applying the phase gate.
38
+ - When the host exposes a blocking ask/reply channel, route a coder's
39
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
40
+ held alive for the reply, instead of block-and-redispatch. Append the
41
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
42
+ record stays complete; a timed-out or unavailable channel falls back to
43
+ the portable block path.
44
+ - A child that receives a disposable worktree stages its assigned artifact
45
+ under that root. The parent validates it and atomically transfers it to
46
+ the canonical project path before removing the exact disposable root. A
47
+ child never writes a disposable-review output directly into the primary
48
+ worktree.
49
+ - If the subagent facility or the default general-purpose subagent is
50
+ unavailable, stop and report the missing capability. Do not silently
51
+ collapse an independence boundary into the main context.
52
+
53
+ ## Parent lifecycle
54
+
55
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
56
+ cancellation, transfer staged outputs from disposable roots, clean up every
57
+ child and temporary root before the phase gate, and never let a child delegate
58
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,62 @@
1
+ # OpenCode agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - On current OpenCode, use the `Task` tool with the built-in `general`
6
+ subagent. If the installed OpenCode v2 host exposes the renamed `subagent`
7
+ tool instead, use that tool with the built-in `general` agent and its
8
+ advertised schema. Every GSD Path child must be able to write its declared
9
+ artifact; the linked role brief supplies the read-only boundary for auditors
10
+ and reviewers.
11
+ - Supply the deterministic logical task name as the child description:
12
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
13
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
14
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
15
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
16
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
17
+ optional finding skeptic uses
18
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
19
+ `review_plan_panel_<family>`,
20
+ `review_final`, or
21
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
22
+ replace non-alphanumeric runs with one underscore. Never add a random
23
+ suffix.
24
+ - Reuse a returned child-session ID when the host exposes a resume parameter.
25
+ Otherwise start a fresh `general` child for a correction, retry, post-patch
26
+ review, repeated audit, or later milestone and send the entire new
27
+ self-contained prompt. Disk artifacts, not child chat history, remain the
28
+ source of truth.
29
+ - Resolve the phase's linked role brief to an absolute path. Include that path
30
+ in the prompt and require the child to read it before acting.
31
+ - Tier hints: when the host advertises model or reasoning-effort selection,
32
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
33
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
34
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Host isolation: none. The child's working directory is the exact absolute root GSD Path supplied; a host SHA checkout or extra worktree is a contract failure.
35
+ - Give every child a self-contained prompt with
36
+ absolute repository, input, template, and output paths plus its bounded
37
+ responsibility. A coder prompt also names its isolated linked-worktree root;
38
+ no child may infer the primary worktree.
39
+ - Launch one child call per independent brief in the same turn up to the
40
+ available limit. Batch any remainder and collect every result before
41
+ applying the phase gate.
42
+ - When the host exposes a blocking ask/reply channel, route a coder's
43
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
44
+ held alive for the reply, instead of block-and-redispatch. Append the
45
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
46
+ record stays complete; a timed-out or unavailable channel falls back to
47
+ the portable block path.
48
+ - A child that receives a disposable worktree stages its assigned artifact
49
+ under that root. The parent validates it and atomically transfers it to
50
+ the canonical project path before removing the exact disposable root. A
51
+ child never writes a disposable-review output directly into the primary
52
+ worktree.
53
+ - If neither supported child tool nor the full-capability `general` subagent is
54
+ available, stop and report the missing capability. Do not silently collapse
55
+ an independence boundary into the main context.
56
+
57
+ ## Parent lifecycle
58
+
59
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
60
+ cancellation, transfer staged outputs from disposable roots, clean up every
61
+ child and temporary root before the phase gate, and never let a child delegate
62
+ another GSD Path child. A timeout or cancellation is a blocked result.
@@ -0,0 +1,60 @@
1
+ # Qwen Code agent dispatch
2
+
3
+ Apply this contract whenever a GSD Path skill delegates work:
4
+
5
+ - Use Qwen Code's `agent` tool with `subagent_type: general-purpose`; do not
6
+ use the context-inheriting `fork` child. Every GSD Path child must be able to
7
+ write its declared artifact; the linked role brief supplies the read-only
8
+ boundary for auditors and reviewers.
9
+ - Supply the deterministic logical task name as the task description:
10
+ `inspect_codebase`, `inspect_docs`, `docs_audit`,
11
+ `research_<dimension>`, `decide`, `roadmap`, `plan`, `plan_patch`,
12
+ `build_<task_id>`, `review_wave_<wave>_cycle_<cycle>` (a `deep` wave review
13
+ appends the lens suffix `_contract` or `_adversarial`; an optional review
14
+ panel uses `review_wave_<wave>_cycle_<cycle>_panel_<family>`; an
15
+ optional finding skeptic uses
16
+ `review_wave_<wave>_cycle_<cycle>_skeptic_<criterion_locator>`),
17
+ `review_plan_panel_<family>`,
18
+ `review_final`, or
19
+ `review_gap_<number>`. Normalize variable parts to lowercase ASCII and
20
+ replace non-alphanumeric runs with one underscore. Never add a random
21
+ suffix.
22
+ - General-purpose children start with fresh context and are not resumable. For
23
+ every correction, retry, post-patch review, repeated audit, or later
24
+ milestone, launch a fresh child with the entire new self-contained brief.
25
+ Disk artifacts, not child chat history, remain the source of truth.
26
+ - Resolve the phase's linked role brief to an absolute path. Include that path
27
+ in the prompt and require the child to read it before acting.
28
+ - Tier hints: when the host advertises model or reasoning-effort selection,
29
+ request `heavy` for `plan`, `plan_patch`, `decide`, and `roadmap`, and
30
+ `light` for `inspect_docs` and `docs_audit`; when it offers no such
31
+ selection, do not override the model except on a review-panel child, which receives the exact slug from `scripts/review_panel.py resolve`. Do not ask Qwen Code to create another
32
+ worktree: GSD Path supplies the exact repository or linked-worktree root,
33
+ and the child must work only there. Host isolation: none.
34
+ - Give every child a self-contained prompt with absolute input, template, and
35
+ output paths plus its bounded responsibility. A coder prompt also names its
36
+ isolated linked-worktree root; no child may infer the primary worktree.
37
+ - Launch one `agent` call per independent brief in the same turn up to the
38
+ available limit. Batch any remainder and collect every result before
39
+ applying the phase gate.
40
+ - When the host exposes a blocking ask/reply channel, route a coder's
41
+ `NEEDS-ORCHESTRATOR` question through it as a live question with the worker
42
+ held alive for the reply, instead of block-and-redispatch. Append the
43
+ answer to the task Log as `Orchestrator answer:` so the portable on-disk
44
+ record stays complete; a timed-out or unavailable channel falls back to
45
+ the portable block path.
46
+ - A child that receives a disposable worktree stages its assigned artifact
47
+ under that root. The parent validates it and atomically transfers it to
48
+ the canonical project path before removing the exact disposable root. A
49
+ child never writes a disposable-review output directly into the primary
50
+ worktree.
51
+ - If the `agent` tool or its full-capability general-purpose child is
52
+ unavailable, stop and report the missing capability. Do not silently
53
+ collapse an independence boundary into the main context.
54
+
55
+ ## Parent lifecycle
56
+
57
+ The parent owns lifecycle: wait for terminal completion, enforce timeout and
58
+ cancellation, transfer staged outputs from disposable roots, clean up every
59
+ child and temporary root before the phase gate, and never let a child delegate
60
+ another GSD Path child. A timeout or cancellation is a blocked result.