claude-code-workflow 7.2.28 → 7.2.30

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 (348) hide show
  1. package/.ccw/workflows/cli-templates/schemas/plan-overview-base-schema.json +2 -2
  2. package/.ccw/workflows/cli-templates/schemas/task-schema.json +14 -7
  3. package/.claude/agents/action-planning-agent.md +7 -4
  4. package/.claude/agents/cli-explore-agent.md +77 -63
  5. package/.claude/agents/cli-lite-planning-agent.md +11 -10
  6. package/.claude/agents/issue-plan-agent.md +421 -426
  7. package/.claude/commands/workflow/spec/setup.md +1 -1
  8. package/.claude/skills/ccw-chain/SKILL.md +119 -0
  9. package/.claude/skills/ccw-chain/chains/ccw-cycle.json +21 -0
  10. package/.claude/skills/ccw-chain/chains/ccw-exploration.json +47 -0
  11. package/.claude/skills/ccw-chain/chains/ccw-issue.json +33 -0
  12. package/.claude/skills/ccw-chain/chains/ccw-lightweight.json +57 -0
  13. package/.claude/skills/ccw-chain/chains/ccw-main.json +52 -0
  14. package/.claude/skills/ccw-chain/chains/ccw-standard.json +39 -0
  15. package/.claude/skills/ccw-chain/chains/ccw-team.json +10 -0
  16. package/.claude/skills/ccw-chain/chains/ccw-with-file.json +31 -0
  17. package/.claude/skills/ccw-chain/phases/analyze-with-file.md +788 -0
  18. package/.claude/skills/ccw-chain/phases/brainstorm/SKILL.md +408 -0
  19. package/.claude/skills/ccw-chain/phases/brainstorm/phases/01-mode-routing.md +207 -0
  20. package/.claude/skills/ccw-chain/phases/brainstorm/phases/02-artifacts.md +567 -0
  21. package/.claude/skills/ccw-chain/phases/brainstorm/phases/03-role-analysis.md +748 -0
  22. package/.claude/skills/ccw-chain/phases/brainstorm/phases/04-synthesis.md +827 -0
  23. package/.claude/skills/ccw-chain/phases/brainstorm-with-file.md +482 -0
  24. package/.claude/skills/ccw-chain/phases/collaborative-plan-with-file.md +639 -0
  25. package/.claude/skills/ccw-chain/phases/debug-with-file.md +656 -0
  26. package/.claude/skills/ccw-chain/phases/integration-test-cycle.md +936 -0
  27. package/.claude/skills/ccw-chain/phases/issue-convert-to-plan.md +720 -0
  28. package/.claude/skills/ccw-chain/phases/issue-discover.md +483 -0
  29. package/.claude/skills/ccw-chain/phases/issue-execute.md +629 -0
  30. package/.claude/skills/ccw-chain/phases/issue-from-brainstorm.md +382 -0
  31. package/.claude/skills/ccw-chain/phases/issue-plan.md +343 -0
  32. package/.claude/skills/ccw-chain/phases/issue-queue.md +464 -0
  33. package/.claude/skills/ccw-chain/phases/refactor-cycle.md +852 -0
  34. package/.claude/skills/ccw-chain/phases/review-cycle/SKILL.md +132 -0
  35. package/.claude/skills/ccw-chain/phases/review-cycle/phases/review-fix.md +760 -0
  36. package/.claude/skills/ccw-chain/phases/review-cycle/phases/review-module.md +764 -0
  37. package/.claude/skills/ccw-chain/phases/review-cycle/phases/review-session.md +775 -0
  38. package/.claude/skills/ccw-chain/phases/roadmap-with-file.md +544 -0
  39. package/.claude/skills/ccw-chain/phases/spec-generator/SKILL.md +338 -0
  40. package/.claude/skills/ccw-chain/phases/spec-generator/phases/01-5-requirement-clarification.md +404 -0
  41. package/.claude/skills/ccw-chain/phases/spec-generator/phases/01-discovery.md +257 -0
  42. package/.claude/skills/ccw-chain/phases/spec-generator/phases/02-product-brief.md +274 -0
  43. package/.claude/skills/ccw-chain/phases/spec-generator/phases/03-requirements.md +184 -0
  44. package/.claude/skills/ccw-chain/phases/spec-generator/phases/04-architecture.md +248 -0
  45. package/.claude/skills/ccw-chain/phases/spec-generator/phases/05-epics-stories.md +178 -0
  46. package/.claude/skills/ccw-chain/phases/spec-generator/phases/06-5-auto-fix.md +144 -0
  47. package/.claude/skills/ccw-chain/phases/spec-generator/phases/06-readiness-check.md +480 -0
  48. package/.claude/skills/ccw-chain/phases/team-planex.md +123 -0
  49. package/.claude/skills/ccw-chain/phases/ui-design-explore-auto.md +678 -0
  50. package/.claude/skills/ccw-chain/phases/unified-execute-with-file.md +870 -0
  51. package/.claude/skills/ccw-chain/phases/workflow-execute/SKILL.md +625 -0
  52. package/.claude/skills/ccw-chain/phases/workflow-execute/phases/06-review.md +215 -0
  53. package/.claude/skills/ccw-chain/phases/workflow-lite-plan.md +616 -0
  54. package/.claude/skills/ccw-chain/phases/workflow-multi-cli-plan.md +424 -0
  55. package/.claude/skills/ccw-chain/phases/workflow-plan/SKILL.md +466 -0
  56. package/.claude/skills/ccw-chain/phases/workflow-plan/phases/01-session-discovery.md +99 -0
  57. package/.claude/skills/ccw-chain/phases/workflow-plan/phases/02-context-gathering.md +338 -0
  58. package/.claude/skills/ccw-chain/phases/workflow-plan/phases/03-conflict-resolution.md +422 -0
  59. package/.claude/skills/ccw-chain/phases/workflow-plan/phases/04-task-generation.md +440 -0
  60. package/.claude/skills/ccw-chain/phases/workflow-plan/phases/05-plan-verify.md +395 -0
  61. package/.claude/skills/ccw-chain/phases/workflow-plan/phases/06-replan.md +594 -0
  62. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/SKILL.md +527 -0
  63. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/01-session-discovery.md +57 -0
  64. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/02-context-gathering.md +407 -0
  65. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/03-test-coverage-analysis.md +172 -0
  66. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/04-conflict-resolution.md +426 -0
  67. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/05-tdd-task-generation.md +473 -0
  68. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/06-tdd-structure-validation.md +189 -0
  69. package/.claude/skills/ccw-chain/phases/workflow-tdd-plan/phases/07-tdd-verify.md +635 -0
  70. package/.claude/skills/ccw-chain/phases/workflow-test-fix/SKILL.md +482 -0
  71. package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/01-session-start.md +60 -0
  72. package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/02-test-context-gather.md +493 -0
  73. package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/03-test-concept-enhanced.md +150 -0
  74. package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/04-test-task-generate.md +346 -0
  75. package/.claude/skills/ccw-chain/phases/workflow-test-fix/phases/05-test-cycle-execute.md +538 -0
  76. package/.claude/skills/ccw-chain/specs/auto-mode.md +47 -0
  77. package/.claude/skills/ccw-chain/specs/intent-patterns.md +60 -0
  78. package/.claude/skills/chain-loader/SKILL.md +78 -0
  79. package/.claude/skills/chain-loader/phases/01-analyze-skill.md +53 -0
  80. package/.claude/skills/chain-loader/phases/02-design-graph.md +73 -0
  81. package/.claude/skills/chain-loader/phases/03-generate-validate.md +75 -0
  82. package/.claude/skills/chain-loader/specs/chain-schema.md +99 -0
  83. package/.claude/skills/chain-loader/specs/design-patterns.md +99 -0
  84. package/.claude/skills/chain-loader/templates/chain-json.md +63 -0
  85. package/.claude/skills/review-cycle/phases/review-module.md +764 -764
  86. package/.claude/skills/review-cycle/phases/review-session.md +775 -775
  87. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +2 -2
  88. package/.claude/skills/workflow-plan/phases/03-conflict-resolution.md +422 -422
  89. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +395 -395
  90. package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +407 -407
  91. package/.claude/skills/workflow-tdd-plan/phases/04-conflict-resolution.md +426 -426
  92. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +493 -493
  93. package/.codex/skills/brainstorm/SKILL.md +3 -3
  94. package/.codex/skills/clean/SKILL.md +3 -3
  95. package/.codex/skills/issue-discover/SKILL.md +13 -13
  96. package/.codex/skills/issue-discover/phases/02-discover.md +4 -4
  97. package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +3 -3
  98. package/.codex/skills/parallel-dev-cycle/SKILL.md +4 -4
  99. package/.codex/skills/parallel-dev-cycle/phases/02-agent-execution.md +6 -6
  100. package/.codex/skills/parallel-dev-cycle/phases/03-result-aggregation.md +10 -10
  101. package/.codex/skills/review-cycle/SKILL.md +10 -10
  102. package/.codex/skills/review-cycle/phases/02-parallel-review.md +6 -6
  103. package/.codex/skills/review-cycle/phases/04-iterative-deep-dive.md +4 -4
  104. package/.codex/skills/review-cycle/phases/07-fix-parallel-planning.md +4 -4
  105. package/.codex/skills/review-cycle/phases/08-fix-execution.md +2 -2
  106. package/.codex/skills/roadmap-with-file/SKILL.md +14 -14
  107. package/.codex/skills/spec-generator/README.md +1 -1
  108. package/.codex/skills/spec-generator/SKILL.md +184 -88
  109. package/.codex/skills/spec-generator/phases/01-5-requirement-clarification.md +4 -7
  110. package/.codex/skills/spec-generator/phases/01-discovery.md +30 -11
  111. package/.codex/skills/spec-generator/phases/02-product-brief.md +2 -5
  112. package/.codex/skills/spec-generator/phases/03-requirements.md +4 -6
  113. package/.codex/skills/spec-generator/phases/04-architecture.md +4 -6
  114. package/.codex/skills/spec-generator/phases/05-epics-stories.md +4 -6
  115. package/.codex/skills/spec-generator/phases/06-5-auto-fix.md +4 -5
  116. package/.codex/skills/spec-generator/phases/06-readiness-check.md +8 -8
  117. package/.codex/skills/spec-generator/phases/07-issue-export.md +2 -2
  118. package/.codex/skills/spec-setup/SKILL.md +4 -4
  119. package/.codex/skills/workflow-plan/SKILL.md +6 -6
  120. package/.codex/skills/workflow-tdd-plan/SKILL.md +5 -5
  121. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +19 -19
  122. package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +5 -5
  123. package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +5 -5
  124. package/README.md +14 -0
  125. package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
  126. package/ccw/dist/core/routes/litellm-api-routes.js +0 -23
  127. package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
  128. package/ccw/dist/tools/chain-loader.d.ts +10 -0
  129. package/ccw/dist/tools/chain-loader.d.ts.map +1 -0
  130. package/ccw/dist/tools/chain-loader.js +642 -0
  131. package/ccw/dist/tools/chain-loader.js.map +1 -0
  132. package/ccw/dist/tools/index.d.ts.map +1 -1
  133. package/ccw/dist/tools/index.js +2 -0
  134. package/ccw/dist/tools/index.js.map +1 -1
  135. package/ccw/dist/tools/json-builder.js +20 -0
  136. package/ccw/dist/tools/json-builder.js.map +1 -1
  137. package/ccw/dist/types/chain-types.d.ts +72 -0
  138. package/ccw/dist/types/chain-types.d.ts.map +1 -0
  139. package/ccw/dist/types/chain-types.js +5 -0
  140. package/ccw/dist/types/chain-types.js.map +1 -0
  141. package/ccw/frontend/dist/assets/{AlertDialog-BjP1ydDR.js → AlertDialog-exlTDW81.js} +3 -3
  142. package/ccw/frontend/dist/assets/{AlertDialog-BjP1ydDR.js.map → AlertDialog-exlTDW81.js.map} +1 -1
  143. package/ccw/frontend/dist/assets/{AnalysisPage-CAX3xqMf.js → AnalysisPage-cgV9LfAI.js} +2 -2
  144. package/ccw/frontend/dist/assets/{AnalysisPage-CAX3xqMf.js.map → AnalysisPage-cgV9LfAI.js.map} +1 -1
  145. package/ccw/frontend/dist/assets/{ApiSettingsPage-CtWlmztq.js → ApiSettingsPage-Dk5jJdWt.js} +2 -2
  146. package/ccw/frontend/dist/assets/{ApiSettingsPage-CtWlmztq.js.map → ApiSettingsPage-Dk5jJdWt.js.map} +1 -1
  147. package/ccw/frontend/dist/assets/{CliModeToggle-hR4a-eLX.js → CliModeToggle-Be9xsPiv.js} +2 -2
  148. package/ccw/frontend/dist/assets/{CliModeToggle-hR4a-eLX.js.map → CliModeToggle-Be9xsPiv.js.map} +1 -1
  149. package/ccw/frontend/dist/assets/{CliSessionSharePage-DzNPkFN9.js → CliSessionSharePage-Bh9jBtPI.js} +2 -2
  150. package/ccw/frontend/dist/assets/{CliSessionSharePage-DzNPkFN9.js.map → CliSessionSharePage-Bh9jBtPI.js.map} +1 -1
  151. package/ccw/frontend/dist/assets/{CliViewerPage-BPEGN4TT.js → CliViewerPage-BrE-oyEq.js} +2 -2
  152. package/ccw/frontend/dist/assets/{CliViewerPage-BPEGN4TT.js.map → CliViewerPage-BrE-oyEq.js.map} +1 -1
  153. package/ccw/frontend/dist/assets/{CodexLensPage-Cf0r2RHY.js → CodexLensPage-Cd3nrC93.js} +2 -2
  154. package/ccw/frontend/dist/assets/{CodexLensPage-Cf0r2RHY.js.map → CodexLensPage-Cd3nrC93.js.map} +1 -1
  155. package/ccw/frontend/dist/assets/{Collapsible-DEm1rJ4h.js → Collapsible-DXFl3VKF.js} +2 -2
  156. package/ccw/frontend/dist/assets/{Collapsible-DEm1rJ4h.js.map → Collapsible-DXFl3VKF.js.map} +1 -1
  157. package/ccw/frontend/dist/assets/{CommandsManagerPage-BpeWw8HO.js → CommandsManagerPage-IV8zpjgX.js} +2 -2
  158. package/ccw/frontend/dist/assets/{CommandsManagerPage-BpeWw8HO.js.map → CommandsManagerPage-IV8zpjgX.js.map} +1 -1
  159. package/ccw/frontend/dist/assets/{DeepWikiPage-BEsmh2vF.js → DeepWikiPage-CpDxtmRX.js} +2 -2
  160. package/ccw/frontend/dist/assets/{DeepWikiPage-BEsmh2vF.js.map → DeepWikiPage-CpDxtmRX.js.map} +1 -1
  161. package/ccw/frontend/dist/assets/{EndpointsPage-B30SFdtU.js → EndpointsPage-BchjWe7s.js} +2 -2
  162. package/ccw/frontend/dist/assets/{EndpointsPage-B30SFdtU.js.map → EndpointsPage-BchjWe7s.js.map} +1 -1
  163. package/ccw/frontend/dist/assets/{ExplorerPage-BVvMpg1O.js → ExplorerPage-CbWvaJ0y.js} +2 -2
  164. package/ccw/frontend/dist/assets/{ExplorerPage-BVvMpg1O.js.map → ExplorerPage-CbWvaJ0y.js.map} +1 -1
  165. package/ccw/frontend/dist/assets/{FixSessionPage-CL73dHbh.js → FixSessionPage-YMjVRiCk.js} +2 -2
  166. package/ccw/frontend/dist/assets/{FixSessionPage-CL73dHbh.js.map → FixSessionPage-YMjVRiCk.js.map} +1 -1
  167. package/ccw/frontend/dist/assets/{FloatingFileBrowser-BL-28lMZ.js → FloatingFileBrowser-JW2ehYY_.js} +2 -2
  168. package/ccw/frontend/dist/assets/{FloatingFileBrowser-BL-28lMZ.js.map → FloatingFileBrowser-JW2ehYY_.js.map} +1 -1
  169. package/ccw/frontend/dist/assets/{FloatingPanel-BzZDciHZ.js → FloatingPanel-BtqzqDVq.js} +2 -2
  170. package/ccw/frontend/dist/assets/{FloatingPanel-BzZDciHZ.js.map → FloatingPanel-BtqzqDVq.js.map} +1 -1
  171. package/ccw/frontend/dist/assets/{GraphExplorerPage-CDp6-d8P.js → GraphExplorerPage-BsJL_W4d.js} +3 -3
  172. package/ccw/frontend/dist/assets/{GraphExplorerPage-CDp6-d8P.js.map → GraphExplorerPage-BsJL_W4d.js.map} +1 -1
  173. package/ccw/frontend/dist/assets/{HistoryPage-fZY_7O9n.js → HistoryPage-BuWpQ7k5.js} +2 -2
  174. package/ccw/frontend/dist/assets/{HistoryPage-fZY_7O9n.js.map → HistoryPage-BuWpQ7k5.js.map} +1 -1
  175. package/ccw/frontend/dist/assets/{HookManagerPage-4LJeC9bq.js → HookManagerPage-D0BtMIWy.js} +2 -2
  176. package/ccw/frontend/dist/assets/{HookManagerPage-4LJeC9bq.js.map → HookManagerPage-D0BtMIWy.js.map} +1 -1
  177. package/ccw/frontend/dist/assets/{InstallationsPage-Bpigrbhw.js → InstallationsPage-C7dwsAKG.js} +2 -2
  178. package/ccw/frontend/dist/assets/{InstallationsPage-Bpigrbhw.js.map → InstallationsPage-C7dwsAKG.js.map} +1 -1
  179. package/ccw/frontend/dist/assets/{IssueHubPage-BP0zJc1R.js → IssueHubPage-D0nCNaeB.js} +2 -2
  180. package/ccw/frontend/dist/assets/{IssueHubPage-BP0zJc1R.js.map → IssueHubPage-D0nCNaeB.js.map} +1 -1
  181. package/ccw/frontend/dist/assets/{LiteTasksPage-CSt2oVKQ.js → LiteTasksPage-B5c2Kb9r.js} +3 -3
  182. package/ccw/frontend/dist/assets/{LiteTasksPage-CSt2oVKQ.js.map → LiteTasksPage-B5c2Kb9r.js.map} +1 -1
  183. package/ccw/frontend/dist/assets/{McpManagerPage-B-xaMA0w.js → McpManagerPage-C-S5CehM.js} +2 -2
  184. package/ccw/frontend/dist/assets/{McpManagerPage-B-xaMA0w.js.map → McpManagerPage-C-S5CehM.js.map} +1 -1
  185. package/ccw/frontend/dist/assets/{MemoryPage-CJqo_7DY.js → MemoryPage-P_B0JVUQ.js} +2 -2
  186. package/ccw/frontend/dist/assets/{MemoryPage-CJqo_7DY.js.map → MemoryPage-P_B0JVUQ.js.map} +1 -1
  187. package/ccw/frontend/dist/assets/{NotFoundPage-ibZeQA-Y.js → NotFoundPage-S4Jn9LUE.js} +2 -2
  188. package/ccw/frontend/dist/assets/{NotFoundPage-ibZeQA-Y.js.map → NotFoundPage-S4Jn9LUE.js.map} +1 -1
  189. package/ccw/frontend/dist/assets/{OrchestratorPage-DgJ4ctPQ.js → OrchestratorPage-C2Zlr7AC.js} +2 -2
  190. package/ccw/frontend/dist/assets/{OrchestratorPage-DgJ4ctPQ.js.map → OrchestratorPage-C2Zlr7AC.js.map} +1 -1
  191. package/ccw/frontend/dist/assets/{ProjectOverviewPage-Cit0Yq0D.js → ProjectOverviewPage-CMVfz8s5.js} +2 -2
  192. package/ccw/frontend/dist/assets/{ProjectOverviewPage-Cit0Yq0D.js.map → ProjectOverviewPage-CMVfz8s5.js.map} +1 -1
  193. package/ccw/frontend/dist/assets/{PromptHistoryPage-Ce1HDIK0.js → PromptHistoryPage-YEMjFARX.js} +3 -3
  194. package/ccw/frontend/dist/assets/{PromptHistoryPage-Ce1HDIK0.js.map → PromptHistoryPage-YEMjFARX.js.map} +1 -1
  195. package/ccw/frontend/dist/assets/{ReviewSessionPage-J1KikNrk.js → ReviewSessionPage-DnTm55nG.js} +2 -2
  196. package/ccw/frontend/dist/assets/{ReviewSessionPage-J1KikNrk.js.map → ReviewSessionPage-DnTm55nG.js.map} +1 -1
  197. package/ccw/frontend/dist/assets/{RulesManagerPage-CdBjTmth.js → RulesManagerPage-CUwebtO2.js} +2 -2
  198. package/ccw/frontend/dist/assets/{RulesManagerPage-CdBjTmth.js.map → RulesManagerPage-CUwebtO2.js.map} +1 -1
  199. package/ccw/frontend/dist/assets/{SessionDetailPage-B9ZK7LvX.js → SessionDetailPage-0qyH1Z5P.js} +2 -2
  200. package/ccw/frontend/dist/assets/{SessionDetailPage-B9ZK7LvX.js.map → SessionDetailPage-0qyH1Z5P.js.map} +1 -1
  201. package/ccw/frontend/dist/assets/{SessionsPage-CW_nS5UR.js → SessionsPage-BpgP4087.js} +2 -2
  202. package/ccw/frontend/dist/assets/{SessionsPage-CW_nS5UR.js.map → SessionsPage-BpgP4087.js.map} +1 -1
  203. package/ccw/frontend/dist/assets/SettingsPage-C3SJajeT.js +150 -0
  204. package/ccw/frontend/dist/assets/SettingsPage-C3SJajeT.js.map +1 -0
  205. package/ccw/frontend/dist/assets/SkillsManagerPage-vD9PTsmy.js +7 -0
  206. package/ccw/frontend/dist/assets/SkillsManagerPage-vD9PTsmy.js.map +1 -0
  207. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DJpi9XQL.js → SpecsSettingsPage-DT-yTVkD.js} +4 -4
  208. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DJpi9XQL.js.map → SpecsSettingsPage-DT-yTVkD.js.map} +1 -1
  209. package/ccw/frontend/dist/assets/{Switch-Ac6Ov7uy.js → Switch-CYSPdqWk.js} +2 -2
  210. package/ccw/frontend/dist/assets/{Switch-Ac6Ov7uy.js.map → Switch-CYSPdqWk.js.map} +1 -1
  211. package/ccw/frontend/dist/assets/{TabsNavigation-DZAAspqR.js → TabsNavigation-CPh6Zor1.js} +2 -2
  212. package/ccw/frontend/dist/assets/{TabsNavigation-DZAAspqR.js.map → TabsNavigation-CPh6Zor1.js.map} +1 -1
  213. package/ccw/frontend/dist/assets/{TaskDrawer-BJkwfhIZ.js → TaskDrawer-Ds-8830B.js} +2 -2
  214. package/ccw/frontend/dist/assets/{TaskDrawer-BJkwfhIZ.js.map → TaskDrawer-Ds-8830B.js.map} +1 -1
  215. package/ccw/frontend/dist/assets/{TeamPage-BJgjxBgb.js → TeamPage-CJODUxBk.js} +2 -2
  216. package/ccw/frontend/dist/assets/{TeamPage-BJgjxBgb.js.map → TeamPage-CJODUxBk.js.map} +1 -1
  217. package/ccw/frontend/dist/assets/{TerminalDashboardPage-D1WekoOy.js → TerminalDashboardPage-Cn3fGUuO.js} +3 -3
  218. package/ccw/frontend/dist/assets/{TerminalDashboardPage-D1WekoOy.js.map → TerminalDashboardPage-Cn3fGUuO.js.map} +1 -1
  219. package/ccw/frontend/dist/assets/{archive-DxemgIhF.js → archive-CjwVpw6k.js} +2 -2
  220. package/ccw/frontend/dist/assets/{archive-DxemgIhF.js.map → archive-CjwVpw6k.js.map} +1 -1
  221. package/ccw/frontend/dist/assets/{archive-restore-CjS83f1V.js → archive-restore-2vZa9Ic3.js} +2 -2
  222. package/ccw/frontend/dist/assets/{archive-restore-CjS83f1V.js.map → archive-restore-2vZa9Ic3.js.map} +1 -1
  223. package/ccw/frontend/dist/assets/{arrow-right-B5PUcn8I.js → arrow-right-CUU5XDgT.js} +2 -2
  224. package/ccw/frontend/dist/assets/{arrow-right-B5PUcn8I.js.map → arrow-right-CUU5XDgT.js.map} +1 -1
  225. package/ccw/frontend/dist/assets/{bookmark-plus-DCc9aPbb.js → bookmark-plus-Cc3nKRZ5.js} +2 -2
  226. package/ccw/frontend/dist/assets/{bookmark-plus-DCc9aPbb.js.map → bookmark-plus-Cc3nKRZ5.js.map} +1 -1
  227. package/ccw/frontend/dist/assets/{bot-DOwFtzak.js → bot-BwpSRDUa.js} +2 -2
  228. package/ccw/frontend/dist/assets/{bot-DOwFtzak.js.map → bot-BwpSRDUa.js.map} +1 -1
  229. package/ccw/frontend/dist/assets/{braces-96qH3aFh.js → braces-DBzUW1XC.js} +2 -2
  230. package/ccw/frontend/dist/assets/{braces-96qH3aFh.js.map → braces-DBzUW1XC.js.map} +1 -1
  231. package/ccw/frontend/dist/assets/{circle-stop-CCxSuil1.js → circle-stop-CGNNsjvE.js} +2 -2
  232. package/ccw/frontend/dist/assets/{circle-stop-CCxSuil1.js.map → circle-stop-CGNNsjvE.js.map} +1 -1
  233. package/ccw/frontend/dist/assets/{cpu-CZNSJFdq.js → cpu-D27G86Ul.js} +2 -2
  234. package/ccw/frontend/dist/assets/{cpu-CZNSJFdq.js.map → cpu-D27G86Ul.js.map} +1 -1
  235. package/ccw/frontend/dist/assets/{ellipsis-vertical-h8xtvw2_.js → ellipsis-vertical-C1Ij47Yz.js} +2 -2
  236. package/ccw/frontend/dist/assets/{ellipsis-vertical-h8xtvw2_.js.map → ellipsis-vertical-C1Ij47Yz.js.map} +1 -1
  237. package/ccw/frontend/dist/assets/{eye-D3NY0bm6.js → eye-C6MOB7Au.js} +2 -2
  238. package/ccw/frontend/dist/assets/{eye-D3NY0bm6.js.map → eye-C6MOB7Au.js.map} +1 -1
  239. package/ccw/frontend/dist/assets/{eye-off-Cy2vkc8p.js → eye-off-BxfBlZ26.js} +2 -2
  240. package/ccw/frontend/dist/assets/{eye-off-Cy2vkc8p.js.map → eye-off-BxfBlZ26.js.map} +1 -1
  241. package/ccw/frontend/dist/assets/{file-json-Bzq3U1Mx.js → file-json-NI237wA-.js} +2 -2
  242. package/ccw/frontend/dist/assets/{file-json-Bzq3U1Mx.js.map → file-json-NI237wA-.js.map} +1 -1
  243. package/ccw/frontend/dist/assets/{file-text-DwuwPDPi.js → file-text-Byn2_2v6.js} +2 -2
  244. package/ccw/frontend/dist/assets/{file-text-DwuwPDPi.js.map → file-text-Byn2_2v6.js.map} +1 -1
  245. package/ccw/frontend/dist/assets/{filter-q9g-bknU.js → filter-D-7PhZjx.js} +2 -2
  246. package/ccw/frontend/dist/assets/{filter-q9g-bknU.js.map → filter-D-7PhZjx.js.map} +1 -1
  247. package/ccw/frontend/dist/assets/{folder-CL6vb42J.js → folder-BoAsK_FL.js} +2 -2
  248. package/ccw/frontend/dist/assets/{folder-CL6vb42J.js.map → folder-BoAsK_FL.js.map} +1 -1
  249. package/ccw/frontend/dist/assets/{gauge-BkrcQBly.js → gauge-DCSxJIS4.js} +2 -2
  250. package/ccw/frontend/dist/assets/{gauge-BkrcQBly.js.map → gauge-DCSxJIS4.js.map} +1 -1
  251. package/ccw/frontend/dist/assets/{globe-BQbwyNeV.js → globe-CHS3prza.js} +2 -2
  252. package/ccw/frontend/dist/assets/{globe-BQbwyNeV.js.map → globe-CHS3prza.js.map} +1 -1
  253. package/ccw/frontend/dist/assets/{grid-3x3-x5_7DrN7.js → grid-3x3-D7K35U7S.js} +2 -2
  254. package/ccw/frontend/dist/assets/{grid-3x3-x5_7DrN7.js.map → grid-3x3-D7K35U7S.js.map} +1 -1
  255. package/ccw/frontend/dist/assets/{hard-drive-DTyWXwzf.js → hard-drive-eq9xE07G.js} +2 -2
  256. package/ccw/frontend/dist/assets/{hard-drive-DTyWXwzf.js.map → hard-drive-eq9xE07G.js.map} +1 -1
  257. package/ccw/frontend/dist/assets/{hash-80O0kJO7.js → hash-C1DMpBua.js} +2 -2
  258. package/ccw/frontend/dist/assets/{hash-80O0kJO7.js.map → hash-C1DMpBua.js.map} +1 -1
  259. package/ccw/frontend/dist/assets/{history-DDlN2Bwa.js → history-Di5SBCY-.js} +2 -2
  260. package/ccw/frontend/dist/assets/{history-DDlN2Bwa.js.map → history-Di5SBCY-.js.map} +1 -1
  261. package/ccw/frontend/dist/assets/{index-mbeo62f8.js → index--_R7COnA.js} +2 -2
  262. package/ccw/frontend/dist/assets/{index-mbeo62f8.js.map → index--_R7COnA.js.map} +1 -1
  263. package/ccw/frontend/dist/assets/{index-rLgoBCfV.js → index-BUol9HDD.js} +3 -3
  264. package/ccw/frontend/dist/assets/{index-rLgoBCfV.js.map → index-BUol9HDD.js.map} +1 -1
  265. package/ccw/frontend/dist/assets/{index-Bs80iCX0.js → index-CT9oykfw.js} +2 -2
  266. package/ccw/frontend/dist/assets/{index-Bs80iCX0.js.map → index-CT9oykfw.js.map} +1 -1
  267. package/ccw/frontend/dist/assets/{index-B9A3Hnrk.js → index-Ddwvf87H.js} +2 -2
  268. package/ccw/frontend/dist/assets/{index-B9A3Hnrk.js.map → index-Ddwvf87H.js.map} +1 -1
  269. package/ccw/frontend/dist/assets/{layout-grid-C1niOWJx.js → layout-grid-LiX0qZbN.js} +2 -2
  270. package/ccw/frontend/dist/assets/{layout-grid-C1niOWJx.js.map → layout-grid-LiX0qZbN.js.map} +1 -1
  271. package/ccw/frontend/dist/assets/{lightbulb-BTmI7SUg.js → lightbulb-CL3DVEwb.js} +2 -2
  272. package/ccw/frontend/dist/assets/{lightbulb-BTmI7SUg.js.map → lightbulb-CL3DVEwb.js.map} +1 -1
  273. package/ccw/frontend/dist/assets/{link-2-CB9HKeuZ.js → link-2-CC5cFeq6.js} +2 -2
  274. package/ccw/frontend/dist/assets/{link-2-CB9HKeuZ.js.map → link-2-CC5cFeq6.js.map} +1 -1
  275. package/ccw/frontend/dist/assets/{link-koEYiemK.js → link-ngFQ9bs0.js} +2 -2
  276. package/ccw/frontend/dist/assets/{link-koEYiemK.js.map → link-ngFQ9bs0.js.map} +1 -1
  277. package/ccw/frontend/dist/assets/{list-v2_GaLdC.js → list-BEU6I0KK.js} +2 -2
  278. package/ccw/frontend/dist/assets/{list-v2_GaLdC.js.map → list-BEU6I0KK.js.map} +1 -1
  279. package/ccw/frontend/dist/assets/{map-pin-BQNfAqG_.js → map-pin-BWZdLA6y.js} +2 -2
  280. package/ccw/frontend/dist/assets/{map-pin-BQNfAqG_.js.map → map-pin-BWZdLA6y.js.map} +1 -1
  281. package/ccw/frontend/dist/assets/{messages-square-Dzq5LGg9.js → messages-square-K6_Chm7n.js} +2 -2
  282. package/ccw/frontend/dist/assets/{messages-square-Dzq5LGg9.js.map → messages-square-K6_Chm7n.js.map} +1 -1
  283. package/ccw/frontend/dist/assets/{minimize-2-CtkoJXcz.js → minimize-2-CWkphauf.js} +2 -2
  284. package/ccw/frontend/dist/assets/{minimize-2-CtkoJXcz.js.map → minimize-2-CWkphauf.js.map} +1 -1
  285. package/ccw/frontend/dist/assets/{package-CH3smL37.js → package-DrNgkamn.js} +2 -2
  286. package/ccw/frontend/dist/assets/{package-CH3smL37.js.map → package-DrNgkamn.js.map} +1 -1
  287. package/ccw/frontend/dist/assets/{plug-CZ0aL_yF.js → plug-CMo3sw5_.js} +2 -2
  288. package/ccw/frontend/dist/assets/{plug-CZ0aL_yF.js.map → plug-CMo3sw5_.js.map} +1 -1
  289. package/ccw/frontend/dist/assets/{power-F2A_J4l6.js → power-DppNTW5e.js} +2 -2
  290. package/ccw/frontend/dist/assets/{power-F2A_J4l6.js.map → power-DppNTW5e.js.map} +1 -1
  291. package/ccw/frontend/dist/assets/{save-Byxot0YU.js → save-CD8aPMbZ.js} +2 -2
  292. package/ccw/frontend/dist/assets/{save-Byxot0YU.js.map → save-CD8aPMbZ.js.map} +1 -1
  293. package/ccw/frontend/dist/assets/{send-JjqhUkpw.js → send-B4z90fQD.js} +2 -2
  294. package/ccw/frontend/dist/assets/{send-JjqhUkpw.js.map → send-B4z90fQD.js.map} +1 -1
  295. package/ccw/frontend/dist/assets/{settings-2--SuN9rAt.js → settings-2-CAKRU_QC.js} +2 -2
  296. package/ccw/frontend/dist/assets/{settings-2--SuN9rAt.js.map → settings-2-CAKRU_QC.js.map} +1 -1
  297. package/ccw/frontend/dist/assets/{square-check-big-BbngGB2h.js → square-check-big-KhI3HrzX.js} +2 -2
  298. package/ccw/frontend/dist/assets/{square-check-big-BbngGB2h.js.map → square-check-big-KhI3HrzX.js.map} +1 -1
  299. package/ccw/frontend/dist/assets/{square-pen-CgrHgZSl.js → square-pen-BtdGIpuq.js} +2 -2
  300. package/ccw/frontend/dist/assets/{square-pen-CgrHgZSl.js.map → square-pen-BtdGIpuq.js.map} +1 -1
  301. package/ccw/frontend/dist/assets/{star-BU3TQr7Z.js → star-ZoBUkXoD.js} +2 -2
  302. package/ccw/frontend/dist/assets/{star-BU3TQr7Z.js.map → star-ZoBUkXoD.js.map} +1 -1
  303. package/ccw/frontend/dist/assets/{style-CKs7nnn3.js → style-CltxQP-P.js} +2 -2
  304. package/ccw/frontend/dist/assets/{style-CKs7nnn3.js.map → style-CltxQP-P.js.map} +1 -1
  305. package/ccw/frontend/dist/assets/{target-DW5tsDW6.js → target-C32OUSGf.js} +2 -2
  306. package/ccw/frontend/dist/assets/{target-DW5tsDW6.js.map → target-C32OUSGf.js.map} +1 -1
  307. package/ccw/frontend/dist/assets/{test-tube-BHm7w3ON.js → test-tube-0IxoyAVZ.js} +2 -2
  308. package/ccw/frontend/dist/assets/{test-tube-BHm7w3ON.js.map → test-tube-0IxoyAVZ.js.map} +1 -1
  309. package/ccw/frontend/dist/assets/{upload-DYR7PWwt.js → upload-4eKCkyBn.js} +2 -2
  310. package/ccw/frontend/dist/assets/{upload-DYR7PWwt.js.map → upload-4eKCkyBn.js.map} +1 -1
  311. package/ccw/frontend/dist/assets/{useApiSettings-D0TVgQD_.js → useApiSettings-zLTUWqhi.js} +2 -2
  312. package/ccw/frontend/dist/assets/{useApiSettings-D0TVgQD_.js.map → useApiSettings-zLTUWqhi.js.map} +1 -1
  313. package/ccw/frontend/dist/assets/{useCli-DfY8mAP8.js → useCli-BtN2vpOX.js} +2 -2
  314. package/ccw/frontend/dist/assets/{useCli-DfY8mAP8.js.map → useCli-BtN2vpOX.js.map} +1 -1
  315. package/ccw/frontend/dist/assets/{useCommands-CGusDp0F.js → useCommands-_spj49qL.js} +2 -2
  316. package/ccw/frontend/dist/assets/{useCommands-CGusDp0F.js.map → useCommands-_spj49qL.js.map} +1 -1
  317. package/ccw/frontend/dist/assets/{useDebounce-CIwh0fF1.js → useDebounce-Bm9KFZvd.js} +2 -2
  318. package/ccw/frontend/dist/assets/{useDebounce-CIwh0fF1.js.map → useDebounce-Bm9KFZvd.js.map} +1 -1
  319. package/ccw/frontend/dist/assets/{useFileExplorer-FMyFv39K.js → useFileExplorer-DOmpm6v9.js} +2 -2
  320. package/ccw/frontend/dist/assets/{useFileExplorer-FMyFv39K.js.map → useFileExplorer-DOmpm6v9.js.map} +1 -1
  321. package/ccw/frontend/dist/assets/{useLocale-B2qhsoTb.js → useLocale-D2rj4rea.js} +2 -2
  322. package/ccw/frontend/dist/assets/{useLocale-B2qhsoTb.js.map → useLocale-D2rj4rea.js.map} +1 -1
  323. package/ccw/frontend/dist/assets/{useSkills-cxKXMBm3.js → useSkills-OskEpomF.js} +3 -3
  324. package/ccw/frontend/dist/assets/{useSkills-cxKXMBm3.js.map → useSkills-OskEpomF.js.map} +1 -1
  325. package/ccw/frontend/dist/assets/{useSystemSettings-B-xUT_z-.js → useSystemSettings-BjMgsNSF.js} +2 -2
  326. package/ccw/frontend/dist/assets/{useSystemSettings-B-xUT_z-.js.map → useSystemSettings-BjMgsNSF.js.map} +1 -1
  327. package/ccw/frontend/dist/assets/{wand-sparkles-DZV_3lPr.js → wand-sparkles-CLhyYWa7.js} +2 -2
  328. package/ccw/frontend/dist/assets/{wand-sparkles-DZV_3lPr.js.map → wand-sparkles-CLhyYWa7.js.map} +1 -1
  329. package/ccw/frontend/dist/index.html +1 -1
  330. package/ccw/scripts/prepublish-clean.mjs +0 -1
  331. package/package.json +1 -3
  332. package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js +0 -150
  333. package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js.map +0 -1
  334. package/ccw/frontend/dist/assets/SkillsManagerPage-CTnWrrwp.js +0 -7
  335. package/ccw/frontend/dist/assets/SkillsManagerPage-CTnWrrwp.js.map +0 -1
  336. package/ccw-litellm/README.md +0 -180
  337. package/ccw-litellm/pyproject.toml +0 -35
  338. package/ccw-litellm/src/ccw_litellm/__init__.py +0 -47
  339. package/ccw-litellm/src/ccw_litellm/cli.py +0 -108
  340. package/ccw-litellm/src/ccw_litellm/clients/__init__.py +0 -12
  341. package/ccw-litellm/src/ccw_litellm/clients/litellm_embedder.py +0 -270
  342. package/ccw-litellm/src/ccw_litellm/clients/litellm_llm.py +0 -198
  343. package/ccw-litellm/src/ccw_litellm/config/__init__.py +0 -22
  344. package/ccw-litellm/src/ccw_litellm/config/loader.py +0 -343
  345. package/ccw-litellm/src/ccw_litellm/config/models.py +0 -162
  346. package/ccw-litellm/src/ccw_litellm/interfaces/__init__.py +0 -14
  347. package/ccw-litellm/src/ccw_litellm/interfaces/embedder.py +0 -52
  348. package/ccw-litellm/src/ccw_litellm/interfaces/llm.py +0 -45
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: spec-generator
3
3
  description: "Specification generator - 7 phase document chain producing product brief, PRD, architecture, epics, and issues. Agent-delegated heavy phases (2-5, 6.5) with Codex review gates. Triggers on \"generate spec\", \"create specification\", \"spec generator\", \"workflow:spec\"."
4
- allowed-tools: Agent, request_user_input, TaskCreate, TaskUpdate, TaskList, Read, Write, Edit, Bash, Glob, Grep, Skill
4
+ agents: doc-generator
5
+ phases: 9
5
6
  ---
6
7
 
7
8
  # Spec Generator
@@ -27,22 +28,22 @@ Phase 5: Epics & Stories -> epics/ (_index.md + EPIC-*.md)
27
28
  | (Gemini + Codex review)
28
29
  Phase 6: Readiness Check -> readiness-report.md + spec-summary.md [Inline]
29
30
  | (Gemini + Codex dual validation + per-req verification)
30
- ├── Pass (>=80%): Handoff or Phase 7
31
- ├── Review (60-79%): Handoff with caveats or Phase 7
32
- └── Fail (<60%): Phase 6.5 Auto-Fix (max 2 iterations)
31
+ +-- Pass (>=80%): Handoff or Phase 7
32
+ +-- Review (60-79%): Handoff with caveats or Phase 7
33
+ +-- Fail (<60%): Phase 6.5 Auto-Fix (max 2 iterations)
33
34
  |
34
35
  Phase 6.5: Auto-Fix -> Updated Phase 2-5 documents [Agent]
35
36
  |
36
- └── Re-run Phase 6 validation
37
+ +-- Re-run Phase 6 validation
37
38
  |
38
39
  Phase 7: Issue Export -> issue-export-report.md [Inline]
39
- (EpicIssue mapping, ccw issue create, wave assignment)
40
+ (Epic->Issue mapping, ccw issue create, wave assignment)
40
41
  ```
41
42
 
42
43
  ## Key Design Principles
43
44
 
44
45
  1. **Document Chain**: Each phase builds on previous outputs, creating a traceable specification chain from idea to executable issues
45
- 2. **Agent-Delegated**: Heavy document phases (2-5, 6.5) run in `doc-generator` agents, keeping main context lean (summaries only)
46
+ 2. **Agent-Delegated**: Heavy document phases (2-5, 6.5) run in `doc-generator` agents via `spawn_agent`, keeping main context lean (summaries only)
46
47
  3. **Multi-Perspective Analysis**: CLI tools (Gemini/Codex/Claude) provide product, technical, and user perspectives in parallel
47
48
  4. **Codex Review Gates**: Phases 3, 5, 6 include Codex CLI review for quality validation before output
48
49
  5. **Interactive by Default**: Each phase offers user confirmation points; `-y` flag enables full auto mode
@@ -55,6 +56,36 @@ Phase 7: Issue Export -> issue-export-report.md
55
56
 
56
57
  ---
57
58
 
59
+ ## Agent Registry
60
+
61
+ | Agent | task_name | Role File | Responsibility | Pattern | fork_context |
62
+ |-------|-----------|-----------|----------------|---------|-------------|
63
+ | doc-generator (Phase 2) | `doc-gen-p2` | ~/.codex/agents/doc-generator.toml | Product brief + glossary generation | 2.1 Standard | false |
64
+ | doc-generator (Phase 3) | `doc-gen-p3` | ~/.codex/agents/doc-generator.toml | Requirements / PRD generation | 2.1 Standard | false |
65
+ | doc-generator (Phase 4) | `doc-gen-p4` | ~/.codex/agents/doc-generator.toml | Architecture + ADR generation | 2.1 Standard | false |
66
+ | doc-generator (Phase 5) | `doc-gen-p5` | ~/.codex/agents/doc-generator.toml | Epics & Stories generation | 2.1 Standard | false |
67
+ | doc-generator (Phase 6.5) | `doc-gen-fix` | ~/.codex/agents/doc-generator.toml | Auto-fix readiness issues | 2.1 Standard | false |
68
+ | cli-explore-agent (Phase 1) | `spec-explorer` | ~/.codex/agents/cli-explore-agent.toml | Codebase exploration | 2.1 Standard | false |
69
+
70
+ > **COMPACT PROTECTION**: Agent files are execution documents. When context compression occurs and agent instructions are reduced to summaries, **you MUST immediately `Read` the corresponding agent file to reload before continuing execution**.
71
+
72
+ ---
73
+
74
+ ## Fork Context Strategy
75
+
76
+ | Agent | task_name | fork_context | fork_from | Rationale |
77
+ |-------|-----------|-------------|-----------|-----------|
78
+ | cli-explore-agent | `spec-explorer` | false | — | Independent utility: codebase scan, isolated task |
79
+ | doc-generator (P2) | `doc-gen-p2` | false | — | Sequential pipeline: context passed via file paths in message |
80
+ | doc-generator (P3) | `doc-gen-p3` | false | — | Sequential pipeline: reads P2 output files from disk |
81
+ | doc-generator (P4) | `doc-gen-p4` | false | — | Sequential pipeline: reads P2-P3 output files from disk |
82
+ | doc-generator (P5) | `doc-gen-p5` | false | — | Sequential pipeline: reads P2-P4 output files from disk |
83
+ | doc-generator (P6.5) | `doc-gen-fix` | false | — | Utility fix: reads readiness-report.md + affected phase files |
84
+
85
+ **Why all `fork_context: false`**: This is a Pipeline pattern (2.5) — each phase produces files on disk and the next phase reads them. No agent needs the orchestrator's conversation history; all context is explicitly passed via file paths in the spawn message.
86
+
87
+ ---
88
+
58
89
  ## Mandatory Prerequisites
59
90
 
60
91
  > **Do NOT skip**: Before performing any operations, you **must** completely read the following documents. Proceeding without reading the specifications will result in outputs that do not meet quality standards.
@@ -92,6 +123,9 @@ Phase 1: Discovery & Seed Analysis
92
123
  |- Parse input (text or file reference)
93
124
  |- Gemini CLI seed analysis (problem, users, domain, dimensions)
94
125
  |- Codebase exploration (conditional, if project detected)
126
+ | |- spawn_agent({ task_name: "spec-explorer", fork_context: false, message: ... })
127
+ | |- wait_agent({ targets: ["spec-explorer"], timeout_ms: 300000 })
128
+ | |- close_agent({ target: "spec-explorer" })
95
129
  |- Spec type selection: service|api|library|platform (interactive, -y defaults to service)
96
130
  |- User confirmation (interactive, -y skips)
97
131
  |- Output: spec-config.json, discovery-context.json (optional)
@@ -107,35 +141,39 @@ Phase 1.5: Requirement Expansion & Clarification
107
141
  |- Output: refined-requirements.json
108
142
 
109
143
  Phase 2: Product Brief [AGENT: doc-generator]
110
- |- Delegate to Task(subagent_type="doc-generator")
144
+ |- spawn_agent({ task_name: "doc-gen-p2", fork_context: false, message: <context envelope> })
111
145
  |- Agent reads: phases/02-product-brief.md
112
146
  |- Agent executes: 3 parallel CLI analyses + synthesis + glossary generation
113
147
  |- Agent writes: product-brief.md, glossary.json
114
- |- Agent returns: JSON summary {files_created, quality_notes, key_decisions}
148
+ |- wait_agent({ targets: ["doc-gen-p2"], timeout_ms: 600000 })
149
+ |- close_agent({ target: "doc-gen-p2" })
115
150
  |- Orchestrator validates: files exist, spec-config.json updated
116
151
 
117
152
  Phase 3: Requirements / PRD [AGENT: doc-generator]
118
- |- Delegate to Task(subagent_type="doc-generator")
153
+ |- spawn_agent({ task_name: "doc-gen-p3", fork_context: false, message: <context envelope> })
119
154
  |- Agent reads: phases/03-requirements.md
120
155
  |- Agent executes: Gemini expansion + Codex review (Step 2.5) + priority sorting
121
156
  |- Agent writes: requirements/ directory (_index.md + REQ-*.md + NFR-*.md)
122
- |- Agent returns: JSON summary {files_created, codex_review_integrated, key_decisions}
157
+ |- wait_agent({ targets: ["doc-gen-p3"], timeout_ms: 600000 })
158
+ |- close_agent({ target: "doc-gen-p3" })
123
159
  |- Orchestrator validates: directory exists, file count matches
124
160
 
125
161
  Phase 4: Architecture [AGENT: doc-generator]
126
- |- Delegate to Task(subagent_type="doc-generator")
162
+ |- spawn_agent({ task_name: "doc-gen-p4", fork_context: false, message: <context envelope> })
127
163
  |- Agent reads: phases/04-architecture.md
128
164
  |- Agent executes: Gemini analysis + Codex review + codebase mapping
129
165
  |- Agent writes: architecture/ directory (_index.md + ADR-*.md)
130
- |- Agent returns: JSON summary {files_created, codex_review_rating, key_decisions}
166
+ |- wait_agent({ targets: ["doc-gen-p4"], timeout_ms: 600000 })
167
+ |- close_agent({ target: "doc-gen-p4" })
131
168
  |- Orchestrator validates: directory exists, ADR files present
132
169
 
133
170
  Phase 5: Epics & Stories [AGENT: doc-generator]
134
- |- Delegate to Task(subagent_type="doc-generator")
171
+ |- spawn_agent({ task_name: "doc-gen-p5", fork_context: false, message: <context envelope> })
135
172
  |- Agent reads: phases/05-epics-stories.md
136
173
  |- Agent executes: Gemini decomposition + Codex review (Step 2.5) + validation
137
174
  |- Agent writes: epics/ directory (_index.md + EPIC-*.md)
138
- |- Agent returns: JSON summary {files_created, codex_review_integrated, mvp_epic_count}
175
+ |- wait_agent({ targets: ["doc-gen-p5"], timeout_ms: 600000 })
176
+ |- close_agent({ target: "doc-gen-p5" })
139
177
  |- Orchestrator validates: directory exists, MVP epics present
140
178
 
141
179
  Phase 6: Readiness Check [INLINE + ENHANCED]
@@ -150,16 +188,17 @@ Phase 6: Readiness Check [INLINE + ENHANCED]
150
188
  |- Handoff options: Phase 7 (issue export), lite-plan, req-plan, plan, iterate
151
189
 
152
190
  Phase 6.5: Auto-Fix (conditional) [AGENT: doc-generator]
153
- |- Delegate to Task(subagent_type="doc-generator")
191
+ |- spawn_agent({ task_name: "doc-gen-fix", fork_context: false, message: <context envelope> })
154
192
  |- Agent reads: phases/06-5-auto-fix.md + readiness-report.md
155
193
  |- Agent executes: fix affected Phase 2-5 documents
156
- |- Agent returns: JSON summary {files_modified, issues_fixed, phases_touched}
194
+ |- wait_agent({ targets: ["doc-gen-fix"], timeout_ms: 600000 })
195
+ |- close_agent({ target: "doc-gen-fix" })
157
196
  |- Re-run Phase 6 validation
158
197
  |- Max 2 iterations, then force handoff
159
198
 
160
199
  Phase 7: Issue Export [INLINE]
161
200
  |- Ref: phases/07-issue-export.md
162
- |- Read EPIC-*.md files, assign waves (MVPwave-1, otherswave-2)
201
+ |- Read EPIC-*.md files, assign waves (MVP->wave-1, others->wave-2)
163
202
  |- Create issues via ccw issue create (one per Epic)
164
203
  |- Map Epic dependencies to issue dependencies
165
204
  |- Generate issue-export-report.md
@@ -168,21 +207,21 @@ Phase 7: Issue Export [INLINE]
168
207
 
169
208
  Complete: Full specification package with issues ready for execution
170
209
 
171
- Phase 6/7 Handoff Bridge (conditional, based on user selection):
172
- ├─ team-planex: Execute issues via coordinated team workflow
173
- ├─ lite-plan: Extract first MVP Epic description direct text input
174
- ├─ plan / req-plan: Create WFS session + .brainstorming/ bridge files
175
- ├─ guidance-specification.md (synthesized from spec outputs)
176
- ├─ feature-specs/feature-index.json (Epic Feature mapping)
177
- └─ feature-specs/F-{num}-{slug}.md (one per Epic)
178
- └─ context-search-agent auto-discovers .brainstorming/
179
- context-package.json.brainstorm_artifacts populated
180
- action-planning-agent consumes: guidance_spec (P1) feature_index (P2)
210
+ Phase 6/7 -> Handoff Bridge (conditional, based on user selection):
211
+ +- team-planex: Execute issues via coordinated team workflow
212
+ +- lite-plan: Extract first MVP Epic description -> direct text input
213
+ +- plan / req-plan: Create WFS session + .brainstorming/ bridge files
214
+ | +- guidance-specification.md (synthesized from spec outputs)
215
+ | +- feature-specs/feature-index.json (Epic -> Feature mapping)
216
+ | +-- feature-specs/F-{num}-{slug}.md (one per Epic)
217
+ +- context-search-agent auto-discovers .brainstorming/
218
+ -> context-package.json.brainstorm_artifacts populated
219
+ -> action-planning-agent consumes: guidance_spec (P1) -> feature_index (P2)
181
220
  ```
182
221
 
183
222
  ## Directory Setup
184
223
 
185
- ```javascript
224
+ ```
186
225
  // Session ID generation
187
226
  const slug = topic.toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g, '-').slice(0, 40);
188
227
  const date = new Date().toISOString().slice(0, 10);
@@ -196,24 +235,24 @@ Bash(`mkdir -p "${workDir}"`);
196
235
 
197
236
  ```
198
237
  .workflow/.spec/SPEC-{slug}-{YYYY-MM-DD}/
199
- ├── spec-config.json # Session configuration + phase state
200
- ├── discovery-context.json # Codebase exploration results (optional)
201
- ├── refined-requirements.json # Phase 1.5: Confirmed requirements after discussion
202
- ├── glossary.json # Phase 2: Terminology glossary for cross-doc consistency
203
- ├── product-brief.md # Phase 2: Product brief
204
- ├── requirements/ # Phase 3: Detailed PRD (directory)
205
- ├── _index.md # Summary, MoSCoW table, traceability, links
206
- ├── REQ-NNN-{slug}.md # Individual functional requirement
207
- └── NFR-{type}-NNN-{slug}.md # Individual non-functional requirement
208
- ├── architecture/ # Phase 4: Architecture decisions (directory)
209
- ├── _index.md # Overview, components, tech stack, links
210
- └── ADR-NNN-{slug}.md # Individual Architecture Decision Record
211
- ├── epics/ # Phase 5: Epic/Story breakdown (directory)
212
- ├── _index.md # Epic table, dependency map, MVP scope
213
- └── EPIC-NNN-{slug}.md # Individual Epic with Stories
214
- ├── readiness-report.md # Phase 6: Quality report (+ per-req verification table)
215
- ├── spec-summary.md # Phase 6: One-page executive summary
216
- └── issue-export-report.md # Phase 7: Issue mapping table + spec links
238
+ +-- spec-config.json # Session configuration + phase state
239
+ +-- discovery-context.json # Codebase exploration results (optional)
240
+ +-- refined-requirements.json # Phase 1.5: Confirmed requirements after discussion
241
+ +-- glossary.json # Phase 2: Terminology glossary for cross-doc consistency
242
+ +-- product-brief.md # Phase 2: Product brief
243
+ +-- requirements/ # Phase 3: Detailed PRD (directory)
244
+ | +-- _index.md # Summary, MoSCoW table, traceability, links
245
+ | +-- REQ-NNN-{slug}.md # Individual functional requirement
246
+ | +-- NFR-{type}-NNN-{slug}.md # Individual non-functional requirement
247
+ +-- architecture/ # Phase 4: Architecture decisions (directory)
248
+ | +-- _index.md # Overview, components, tech stack, links
249
+ | +-- ADR-NNN-{slug}.md # Individual Architecture Decision Record
250
+ +-- epics/ # Phase 5: Epic/Story breakdown (directory)
251
+ | +-- _index.md # Epic table, dependency map, MVP scope
252
+ | +-- EPIC-NNN-{slug}.md # Individual Epic with Stories
253
+ +-- readiness-report.md # Phase 6: Quality report (+ per-req verification table)
254
+ +-- spec-summary.md # Phase 6: One-page executive summary
255
+ +-- issue-export-report.md # Phase 7: Issue mapping table + spec links
217
256
  ```
218
257
 
219
258
  ## State Management
@@ -255,79 +294,134 @@ Bash(`mkdir -p "${workDir}"`);
255
294
 
256
295
  ## Core Rules
257
296
 
258
- 1. **Start Immediately**: First action is TaskCreate initialization, then Phase 0 (spec study), then Phase 1
297
+ 1. **Start Immediately**: First action is Phase 0 (spec study), then Phase 1
259
298
  2. **Progressive Phase Loading**: Read phase docs ONLY when that phase is about to execute
260
- 3. **Auto-Continue**: All phases run autonomously; check TaskList to execute next pending phase
299
+ 3. **Auto-Continue**: All phases run autonomously; proceed to next phase after current completes
261
300
  4. **Parse Every Output**: Extract required data from each phase for next phase context
262
301
  5. **DO NOT STOP**: Continuous 7-phase pipeline until all phases complete or user exits
263
- 6. **Respect -y Flag**: When auto mode, skip all request_user_input calls, use recommended defaults
302
+ 6. **Respect -y Flag**: When auto mode, skip all user interaction calls, use recommended defaults
264
303
  7. **Respect -c Flag**: When continue mode, load spec-config.json and resume from checkpoint
265
304
  8. **Inject Glossary**: From Phase 3 onward, inject glossary.json terms into every CLI prompt
266
305
  9. **Load Profile**: Read templates/profiles/{spec_type}-profile.md and inject requirements into Phase 2-5 prompts
267
306
  10. **Iterate on Failure**: When Phase 6 score < 60%, auto-trigger Phase 6.5 (max 2 iterations)
268
- 11. **Agent Delegation**: Phase 2-5 and 6.5 MUST be delegated to `doc-generator` agents via Task tool — never execute inline
269
- 12. **Lean Context**: Orchestrator only sees agent return summaries (JSON), never the full document content
270
- 13. **Validate Agent Output**: After each agent returns, verify files exist on disk and spec-config.json was updated
307
+ 11. **Agent Delegation**: Phase 2-5 and 6.5 MUST be delegated to `doc-generator` agents via `spawn_agent` — never execute inline
308
+ 12. **Lean Context**: Orchestrator only sees agent return summaries from `wait_agent`, never the full document content
309
+ 13. **Validate Agent Output**: After each `wait_agent` returns, verify files exist on disk and spec-config.json was updated
310
+ 14. **Lifecycle Balance**: Every `spawn_agent` MUST have a matching `close_agent` after `wait_agent` retrieves results
271
311
 
272
312
  ## Agent Delegation Protocol
273
313
 
274
- For Phase 2-5 and 6.5, the orchestrator delegates to a `doc-generator` agent via the Task tool. The orchestrator builds a lean context envelope — passing only paths, never file content.
314
+ For Phase 2-5 and 6.5, the orchestrator delegates to a `doc-generator` agent via `spawn_agent`. The orchestrator builds a lean context envelope — passing only paths, never file content.
275
315
 
276
316
  ### Context Envelope Template
277
317
 
278
- ```javascript
279
- Task({
280
- subagent_type: "doc-generator",
281
- run_in_background: false,
282
- description: `Spec Phase ${N}: ${phaseName}`,
283
- prompt: `
284
- ## Spec Generator - Phase ${N}: ${phaseName}
318
+ ```
319
+ spawn_agent({
320
+ task_name: "doc-gen-p<N>",
321
+ fork_context: false,
322
+ message: `
323
+ ## Spec Generator - Phase <N>: <phase-name>
324
+
325
+ ### MANDATORY FIRST STEPS (Agent Execute)
326
+ 1. **Read role definition**: ~/.codex/agents/doc-generator.toml (MUST read first)
327
+ 2. Read: <skill-dir>/phases/<phase-file>
328
+
329
+ ---
285
330
 
286
331
  ### Session
287
- - ID: ${sessionId}
288
- - Work Dir: ${workDir}
289
- - Auto Mode: ${autoMode}
290
- - Spec Type: ${specType}
332
+ - ID: <session-id>
333
+ - Work Dir: <work-dir>
334
+ - Auto Mode: <auto-mode>
335
+ - Spec Type: <spec-type>
291
336
 
292
337
  ### Input (read from disk)
293
- ${inputFilesList} // Only file paths — agent reads content itself
338
+ <input-files-list>
294
339
 
295
340
  ### Instructions
296
- Read: ${skillDir}/phases/${phaseFile} // Agent reads the phase doc for full instructions
297
- Apply template: ${skillDir}/templates/${templateFile}
341
+ Read: <skill-dir>/phases/<phase-file>
342
+ Apply template: <skill-dir>/templates/<template-file>
298
343
 
299
344
  ### Glossary (Phase 3+ only)
300
- Read: ${workDir}/glossary.json
345
+ Read: <work-dir>/glossary.json
301
346
 
302
347
  ### Output
303
- Write files to: ${workDir}/${outputPath}
304
- Update: ${workDir}/spec-config.json (phasesCompleted)
348
+ Write files to: <work-dir>/<output-path>
349
+ Update: <work-dir>/spec-config.json (phasesCompleted)
305
350
  Return: JSON summary { files_created, quality_notes, key_decisions }
306
351
  `
307
- });
352
+ })
308
353
  ```
309
354
 
310
355
  ### Orchestrator Post-Agent Validation
311
356
 
312
- After each agent returns:
357
+ After each agent phase, the orchestrator validates output:
313
358
 
314
- ```javascript
315
- // 1. Parse agent return summary
316
- const summary = JSON.parse(agentResult);
359
+ ```
360
+ // 1. Wait for agent completion
361
+ const result = wait_agent({ targets: ["doc-gen-p<N>"], timeout_ms: 600000 })
362
+
363
+ // 2. Handle timeout
364
+ if (result.timed_out) {
365
+ assign_task({
366
+ target: "doc-gen-p<N>",
367
+ items: [{ type: "text", text: "Please finalize current work and output results immediately." }]
368
+ })
369
+ const retryResult = wait_agent({ targets: ["doc-gen-p<N>"], timeout_ms: 120000 })
370
+ if (retryResult.timed_out) {
371
+ close_agent({ target: "doc-gen-p<N>" })
372
+ // Fall back to inline execution for this phase
373
+ }
374
+ }
375
+
376
+ // 3. Close agent (lifecycle balance)
377
+ close_agent({ target: "doc-gen-p<N>" })
378
+
379
+ // 4. Parse agent return summary
380
+ const summary = parseJSON(result.status["doc-gen-p<N>"].completed)
317
381
 
318
- // 2. Validate files exist
382
+ // 5. Validate files exist
319
383
  summary.files_created.forEach(file => {
320
- const exists = Glob(`${workDir}/${file}`);
321
- if (!exists.length) throw new Error(`Agent claimed to create ${file} but file not found`);
322
- });
384
+ const exists = Glob(`<work-dir>/${file}`)
385
+ if (!exists.length) Error: agent claimed file but not found
386
+ })
387
+
388
+ // 6. Verify spec-config.json updated
389
+ const config = JSON.parse(Read(`<work-dir>/spec-config.json`))
390
+ const phaseComplete = config.phasesCompleted.some(p => p.phase === N)
391
+ if (!phaseComplete) → Error: agent did not update phasesCompleted
392
+
393
+ // 7. Store summary for downstream context (do NOT read full documents)
394
+ phasesSummaries[N] = summary
395
+ ```
323
396
 
324
- // 3. Verify spec-config.json updated
325
- const config = JSON.parse(Read(`${workDir}/spec-config.json`));
326
- const phaseComplete = config.phasesCompleted.some(p => p.phase === N);
327
- if (!phaseComplete) throw new Error(`Agent did not update phasesCompleted for Phase ${N}`);
397
+ ---
398
+
399
+ ## Lifecycle Management
400
+
401
+ ### Timeout Protocol
402
+
403
+ | Phase | task_name | Default Timeout | On Timeout |
404
+ |-------|-----------|-----------------|------------|
405
+ | Phase 1 (explore) | `spec-explorer` | 300000ms (5min) | assign_task "finalize" → re-wait 120s → close |
406
+ | Phase 2 | `doc-gen-p2` | 600000ms (10min) | assign_task "finalize" → re-wait 120s → close + inline fallback |
407
+ | Phase 3 | `doc-gen-p3` | 600000ms (10min) | assign_task "finalize" → re-wait 120s → close + inline fallback |
408
+ | Phase 4 | `doc-gen-p4` | 600000ms (10min) | assign_task "finalize" → re-wait 120s → close + inline fallback |
409
+ | Phase 5 | `doc-gen-p5` | 600000ms (10min) | assign_task "finalize" → re-wait 120s → close + inline fallback |
410
+ | Phase 6.5 | `doc-gen-fix` | 600000ms (10min) | assign_task "finalize" → re-wait 120s → close + force handoff |
328
411
 
329
- // 4. Store summary for downstream context (do NOT read full documents)
330
- phasesSummaries[N] = summary;
412
+ ### Cleanup Protocol
413
+
414
+ At the end of each agent-delegated phase, close the agent immediately after retrieving results. Each phase spawns a fresh agent — no agent persists across phases.
415
+
416
+ ```
417
+ // Standard per-phase cleanup (after wait_agent succeeds)
418
+ close_agent({ target: "doc-gen-p<N>" })
419
+
420
+ // On workflow abort / user cancellation
421
+ const activeAgents = ["doc-gen-p2", "doc-gen-p3", "doc-gen-p4", "doc-gen-p5", "doc-gen-fix", "spec-explorer"]
422
+ activeAgents.forEach(name => {
423
+ try { close_agent({ target: name }) } catch { /* not active */ }
424
+ })
331
425
  ```
332
426
 
333
427
  ---
@@ -387,7 +481,7 @@ phasesSummaries[N] = summary;
387
481
  ### Phase 7: Issue Export
388
482
  | Document | Purpose | When to Use |
389
483
  |----------|---------|-------------|
390
- | [phases/07-issue-export.md](phases/07-issue-export.md) | EpicIssue mapping and export | Phase start |
484
+ | [phases/07-issue-export.md](phases/07-issue-export.md) | Epic->Issue mapping and export | Phase start |
391
485
  | [specs/quality-gates.md](specs/quality-gates.md) | Issue export quality criteria | Validation |
392
486
 
393
487
  ### Debugging & Troubleshooting
@@ -403,6 +497,7 @@ phasesSummaries[N] = summary;
403
497
  |-------|-------|-----------|--------|
404
498
  | Phase 1 | Empty input | Yes | Error and exit |
405
499
  | Phase 1 | CLI seed analysis fails | No | Use basic parsing fallback |
500
+ | Phase 1 | Codebase explore agent timeout | No | close_agent, proceed without discovery-context |
406
501
  | Phase 1.5 | Gap analysis CLI fails | No | Skip to user questions with basic prompts |
407
502
  | Phase 1.5 | User skips discussion | No | Proceed with seed_analysis as-is |
408
503
  | Phase 1.5 | Max rounds reached (5) | No | Force confirmation with current state |
@@ -417,8 +512,9 @@ phasesSummaries[N] = summary;
417
512
  | Phase 7 | ccw issue create fails for one Epic | No | Log error, continue with remaining Epics |
418
513
  | Phase 7 | No EPIC files found | Yes | Error and return to Phase 5 |
419
514
  | Phase 7 | All issue creations fail | Yes | Error with CLI diagnostic, suggest manual creation |
420
- | Phase 2-5 | Agent fails to return | Yes | Retry once, then fall back to inline execution |
515
+ | Phase 2-5 | Agent timeout (wait_agent timed_out) | No | assign_task "finalize" re-wait close + inline fallback |
421
516
  | Phase 2-5 | Agent returns incomplete files | No | Log gaps, attempt inline completion for missing files |
517
+ | Any | close_agent on non-existent agent | No | Catch error, continue (agent may have self-terminated) |
422
518
 
423
519
  ### CLI Fallback Chain
424
520
 
@@ -90,9 +90,8 @@ EXPECTED: JSON output:
90
90
  }
91
91
  CONSTRAINTS: 问题必须是开放式的,建议必须具体可执行,使用用户输入的语言
92
92
  " --tool gemini --mode analysis`,
93
- run_in_background: true
94
93
  });
95
- // Wait for CLI result before continuing
94
+ // Parse CLI result before continuing
96
95
  ```
97
96
 
98
97
  解析 CLI 输出为结构化数据:
@@ -186,10 +185,9 @@ EXPECTED: JSON output:
186
185
  }
187
186
  }
188
187
  CONSTRAINTS: 避免重复已回答的问题,聚焦未覆盖的领域
189
- " --tool gemini --mode analysis`,
190
- run_in_background: true
188
+ " --tool gemini --mode analysis`
191
189
  });
192
- // Wait for CLI result, parse and continue
190
+ // Parse CLI result and continue
193
191
 
194
192
  // If status === "ready_for_confirmation", break to confirmation step
195
193
  // If status === "need_more_discussion", present follow-up questions
@@ -284,8 +282,7 @@ TASK:
284
282
  MODE: analysis
285
283
  EXPECTED: JSON output matching refined-requirements.json schema
286
284
  CONSTRAINTS: 保守推断,只添加高置信度的扩展
287
- " --tool gemini --mode analysis`,
288
- run_in_background: true
285
+ " --tool gemini --mode analysis`
289
286
  });
290
287
  // Parse output directly into refined-requirements.json
291
288
  }
@@ -91,9 +91,8 @@ MODE: analysis
91
91
  EXPECTED: JSON output with fields: problem_statement, target_users[], domain, constraints[], dimensions[], complexity
92
92
  CONSTRAINTS: Be specific and actionable, not vague
93
93
  " --tool gemini --mode analysis`,
94
- run_in_background: true
95
94
  });
96
- // Wait for CLI result before continuing
95
+ // Parse CLI result before continuing
97
96
  ```
98
97
 
99
98
  Parse the CLI output into structured `seedAnalysis`:
@@ -117,19 +116,29 @@ const hasCodebase = Glob('**/*.{ts,js,py,java,go,rs}').length > 0
117
116
  || Glob('Cargo.toml').length > 0;
118
117
 
119
118
  if (hasCodebase) {
120
- Agent({
121
- subagent_type: "cli-explore-agent",
122
- run_in_background: false,
123
- description: `Explore codebase for spec: ${slug}`,
124
- prompt: `
119
+ spawn_agent({
120
+ task_name: "spec-explorer",
121
+ fork_context: false,
122
+ message: `
123
+ ## TASK ASSIGNMENT
124
+
125
+ ### MANDATORY FIRST STEPS (Agent Execute)
126
+ 1. **Read role definition**: ~/.codex/agents/cli-explore-agent.toml (MUST read first)
127
+ 2. Search for code related to topic keywords
128
+ 3. Read project config files (package.json, pyproject.toml, etc.) if they exist
129
+
130
+ ---
131
+
125
132
  ## Spec Generator Context
126
133
  Topic: ${seedInput}
127
134
  Dimensions: ${seedAnalysis.dimensions.join(', ')}
128
135
  Session: ${workDir}
129
136
 
130
- ## MANDATORY FIRST STEPS
131
- 1. Search for code related to topic keywords
132
- 2. Read project config files (package.json, pyproject.toml, etc.) if they exist
137
+ Goal: Explore codebase to inform specification decisions
138
+
139
+ Scope:
140
+ - Include: Source code files, config files, existing architecture
141
+ - Exclude: node_modules, dist, build artifacts
133
142
 
134
143
  ## Exploration Focus
135
144
  - Identify existing implementations related to the topic
@@ -151,6 +160,16 @@ Schema:
151
160
  }
152
161
  `
153
162
  });
163
+
164
+ const exploreResult = wait_agent({ targets: ["spec-explorer"], timeout_ms: 300000 });
165
+ if (exploreResult.timed_out) {
166
+ assign_task({
167
+ target: "spec-explorer",
168
+ items: [{ type: "text", text: "Finalize current findings and write discovery-context.json immediately." }]
169
+ });
170
+ wait_agent({ targets: ["spec-explorer"], timeout_ms: 120000 });
171
+ }
172
+ close_agent({ target: "spec-explorer" });
154
173
  }
155
174
  ```
156
175
 
@@ -247,4 +266,4 @@ Write(`${workDir}/spec-config.json`, JSON.stringify(specConfig, null, 2));
247
266
 
248
267
  ## Next Phase
249
268
 
250
- Proceed to [Phase 2: Product Brief](02-product-brief.md) with the generated spec-config.json.
269
+ Proceed to [Phase 1.5: Requirement Expansion](01-5-requirement-clarification.md) with the generated spec-config.json.
@@ -1,7 +1,7 @@
1
1
  # Phase 2: Product Brief
2
2
 
3
- > **Execution Mode: Agent Delegated**
4
- > This phase is executed by a `doc-generator` agent. The orchestrator (SKILL.md) passes session context via the Task tool. The agent reads this file for instructions, executes all steps, writes output files, and returns a JSON summary.
3
+ > **Execution Mode: Agent Delegated (Codex v4)**
4
+ > This phase is executed by a `doc-generator` agent. The orchestrator spawns the agent via `spawn_agent({ task_name: "doc-gen-p2", fork_context: false })` and retrieves results via `wait_agent`. The agent reads this file as part of its MANDATORY FIRST STEPS, executes all steps, writes output files, and returns a JSON summary.
5
5
 
6
6
  Generate a product brief through multi-perspective CLI analysis, establishing "what" and "why".
7
7
 
@@ -98,7 +98,6 @@ MODE: analysis
98
98
  EXPECTED: Structured product analysis with: vision, goals with metrics, scope, competitive positioning, assumptions
99
99
  CONSTRAINTS: Focus on 'what' and 'why', not 'how'
100
100
  " --tool gemini --mode analysis`,
101
- run_in_background: true
102
101
  });
103
102
  ```
104
103
 
@@ -122,7 +121,6 @@ MODE: analysis
122
121
  EXPECTED: Technical analysis with: feasibility assessment, constraints, integration complexity, tech recommendations, risks
123
122
  CONSTRAINTS: Focus on feasibility and constraints, not detailed architecture
124
123
  " --tool codex --mode analysis`,
125
- run_in_background: true
126
124
  });
127
125
  ```
128
126
 
@@ -146,7 +144,6 @@ MODE: analysis
146
144
  EXPECTED: User analysis with: personas, journey map, pain points, UX criteria, interaction recommendations
147
145
  CONSTRAINTS: Focus on user needs and experience, not implementation
148
146
  " --tool claude --mode analysis`,
149
- run_in_background: true
150
147
  });
151
148
 
152
149
  // STOP: Wait for all 3 CLI results before continuing
@@ -1,7 +1,7 @@
1
1
  # Phase 3: Requirements (PRD)
2
2
 
3
- > **Execution Mode: Agent Delegated**
4
- > This phase is executed by a `doc-generator` agent. The orchestrator (SKILL.md) passes session context via the Task tool. The agent reads this file for instructions, executes all steps, writes output files, and returns a JSON summary.
3
+ > **Execution Mode: Agent Delegated (Codex v4)**
4
+ > This phase is executed by a `doc-generator` agent. The orchestrator spawns the agent via `spawn_agent({ task_name: "doc-gen-p3", fork_context: false })` and retrieves results via `wait_agent`. The agent reads this file as part of its MANDATORY FIRST STEPS, executes all steps, writes output files, and returns a JSON summary.
5
5
 
6
6
  Generate a detailed Product Requirements Document with functional/non-functional requirements, acceptance criteria, and MoSCoW prioritization.
7
7
 
@@ -73,10 +73,9 @@ MODE: analysis
73
73
  EXPECTED: Structured requirements with: ID, title, description, user story, acceptance criteria, priority, traceability to goals
74
74
  CONSTRAINTS: Every requirement must be specific enough to estimate and test. No vague requirements like 'system should be fast'.
75
75
  " --tool gemini --mode analysis`,
76
- run_in_background: true
77
76
  });
78
77
 
79
- // Wait for CLI result
78
+ // Parse CLI result
80
79
  ```
81
80
 
82
81
  ### Step 2.5: Codex Requirements Review
@@ -106,10 +105,9 @@ MODE: analysis
106
105
  EXPECTED: Requirements review with: per-requirement feedback, testability assessment, scope violations, data model gaps, quality rating
107
106
  CONSTRAINTS: Be genuinely critical. Focus on requirements that would block implementation if left vague.
108
107
  " --tool codex --mode analysis`,
109
- run_in_background: true
110
108
  });
111
109
 
112
- // Wait for Codex review result
110
+ // Parse Codex review result
113
111
  // Integrate feedback into requirements before writing files:
114
112
  // - Fix vague acceptance criteria flagged by Codex
115
113
  // - Correct RFC 2119 keyword misuse
@@ -1,7 +1,7 @@
1
1
  # Phase 4: Architecture
2
2
 
3
- > **Execution Mode: Agent Delegated**
4
- > This phase is executed by a `doc-generator` agent. The orchestrator (SKILL.md) passes session context via the Task tool. The agent reads this file for instructions, executes all steps, writes output files, and returns a JSON summary.
3
+ > **Execution Mode: Agent Delegated (Codex v4)**
4
+ > This phase is executed by a `doc-generator` agent. The orchestrator spawns the agent via `spawn_agent({ task_name: "doc-gen-p4", fork_context: false })` and retrieves results via `wait_agent`. The agent reads this file as part of its MANDATORY FIRST STEPS, executes all steps, writes output files, and returns a JSON summary.
5
5
 
6
6
  Generate technical architecture decisions, component design, and technology selections based on requirements.
7
7
 
@@ -109,10 +109,9 @@ MODE: analysis
109
109
  EXPECTED: Complete architecture with: style justification, component diagram, tech stack table, ADRs, data model, security controls, API overview
110
110
  CONSTRAINTS: Architecture must support all Must-have requirements. Prefer proven technologies over cutting-edge.
111
111
  " --tool gemini --mode analysis`,
112
- run_in_background: true
113
112
  });
114
113
 
115
- // Wait for CLI result
114
+ // Parse CLI result
116
115
  ```
117
116
 
118
117
  ### Step 3: Architecture Review via Codex CLI
@@ -142,10 +141,9 @@ MODE: analysis
142
141
  EXPECTED: Architecture review with: per-ADR feedback, scalability concerns, security gaps, technology risks, quality rating
143
142
  CONSTRAINTS: Be genuinely critical, not just validating. Focus on actionable improvements.
144
143
  " --tool codex --mode analysis`,
145
- run_in_background: true
146
144
  });
147
145
 
148
- // Wait for CLI result
146
+ // Parse CLI result
149
147
  ```
150
148
 
151
149
  ### Step 4: Interactive ADR Decisions (Optional)