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
@@ -0,0 +1,870 @@
1
+ ---
2
+ name: unified-execute-with-file
3
+ description: Universal execution engine for consuming any planning/brainstorm/analysis output with minimal progress tracking, multi-agent coordination, and incremental execution
4
+ argument-hint: "[-y|--yes] [<path>[,<path2>] | -p|--plan <path>[,<path2>]] [--auto-commit] [--commit-prefix \"prefix\"] [\"execution context or task name\"]"
5
+ allowed-tools: TodoWrite(*), Agent(*), AskUserQuestion(*), Read(*), Grep(*), Glob(*), Bash(*), Edit(*), Write(*)
6
+ ---
7
+
8
+ ## Auto Mode
9
+
10
+ When `--yes` or `-y`: Auto-confirm execution decisions, follow plan's DAG dependencies.
11
+
12
+ # Unified Execute-With-File Command
13
+
14
+ ## Quick Start
15
+
16
+ ```bash
17
+ # Basic usage (auto-detect plan, ask for execution method)
18
+ /workflow:unified-execute-with-file
19
+
20
+ # Execute with specific plan (no -p needed for default paths)
21
+ /workflow:unified-execute-with-file .workflow/plans/auth-plan.md
22
+
23
+ # Execute multiple plans sequentially (comma-separated)
24
+ /workflow:unified-execute-with-file plan1.json,plan2.json,plan3.json
25
+
26
+ # With explicit -p flag (still supported)
27
+ /workflow:unified-execute-with-file -p .workflow/.planning/CPLAN-xxx
28
+
29
+ # With auto-commit (conventional commits)
30
+ /workflow:unified-execute-with-file --auto-commit plan.json
31
+
32
+ # Auto mode (skip prompts, use Agent for simple tasks, CLI for complex)
33
+ /workflow:unified-execute-with-file -y plan.json
34
+ ```
35
+
36
+ **Execution Methods**:
37
+ - **Agent**: Agent tool with code-developer (recommended for standard tasks)
38
+ - **CLI-Codex**: `ccw cli --tool codex` (complex tasks, git-aware)
39
+ - **CLI-Gemini**: `ccw cli --tool gemini` (analysis-heavy tasks)
40
+ - **Auto**: Select based on task complexity (default in `-y` mode)
41
+
42
+ **Context Source**: Plan files (IMPL_PLAN.md, plan.json, synthesis.json, etc.)
43
+ **Output Directory**: `.workflow/.execution/{session-id}/`
44
+ **Execution Strategy**:
45
+ - Multiple plans: Sequential execution (plan1 → plan2 → plan3)
46
+ - Within each plan: DAG-based dependency resolution with parallel execution where possible
47
+ **Core Innovation**: Unified event log + structured notes + auto-commit
48
+
49
+ ## Output Artifacts
50
+
51
+ ### During Execution
52
+
53
+ | Artifact | Description |
54
+ |----------|-------------|
55
+ | `execution.md` | Plan overview, task table, execution timeline |
56
+ | `execution-events.md` | ⭐ Unified log (all task executions) - SINGLE SOURCE OF TRUTH |
57
+
58
+
59
+ ## Overview
60
+
61
+ Universal execution engine consuming **any** planning output and executing it with multi-agent coordination, dependency management, and progress tracking.
62
+
63
+ **Core workflow**: Load Plan → Parse Tasks → Execute → Track → Verify
64
+
65
+ ```
66
+ ┌─────────────────────────────────────────────────────────────────────────┐
67
+ │ UNIFIED EXECUTION WORKFLOW │
68
+ ├─────────────────────────────────────────────────────────────────────────┤
69
+ │ │
70
+ │ Phase 1: Plan Detection & Sequential Execution │
71
+ │ ├─ Auto-detect or explicit --plan path │
72
+ │ ├─ Support multiple plans (comma-separated) │
73
+ │ ├─ Execute plans sequentially: plan1 → plan2 → plan3 │
74
+ │ ├─ Each plan: independent session with own execution-events.md │
75
+ │ └─ Global session ID for multi-plan execution tracking │
76
+ │ │
77
+ │ Phase 2: Session Initialization │
78
+ │ ├─ Create .workflow/.execution/{sessionId}/ │
79
+ │ ├─ Generate execution.md (plan overview + task table) │
80
+ │ ├─ Initialize execution-events.md (unified log) │
81
+ │ ├─ Validate dependency graph (detect cycles) │
82
+ │ └─ Calculate execution waves (topological sort + conflict check) │
83
+ │ │
84
+ │ Phase 3: Pre-Execution Validation (Agent-Assisted) │
85
+ │ ├─ Launch validation agent to check feasibility │
86
+ │ ├─ Verify file existence, agent availability, file conflicts │
87
+ │ ├─ Generate validation report with recommendations │
88
+ │ └─ Ask user: execution method (Agent/CLI-Codex/CLI-Gemini/Auto) │
89
+ │ │
90
+ │ Phase 4: Wave Execution (DAG-based Dependencies) │
91
+ │ ┌──────────────┬──────────────┬──────────────┐ │
92
+ │ │ Wave 1 │ Wave 2 │ Wave N │ │
93
+ │ ├──────────────┼──────────────┼──────────────┤ │
94
+ │ │ Task 1-A ──┐ │ Task 2-A │ Task N-A │ ← Dependencies OK │
95
+ │ │ Task 1-B │ │ Task 2-B │ Task N-B │ ← No file conflicts │
96
+ │ │ Task 1-C ──┘ │ │ │ ← Max 3 parallel │
97
+ │ └──────────────┴──────────────┴──────────────┘ │
98
+ │ │
99
+ │ Phase 5: Per-Task Execution (Agent OR CLI) │
100
+ │ ├─ Extract relevant notes from previous tasks │
101
+ │ ├─ Inject notes into execution context │
102
+ │ ├─ Route to Agent (Agent tool) OR CLI (ccw cli command) │
103
+ │ ├─ Generate structured notes for next task │
104
+ │ ├─ Auto-commit if enabled (conventional commit format) │
105
+ │ └─ Append event to unified log │
106
+ │ │
107
+ │ Phase 6: Progress Tracking & Recovery │
108
+ │ ├─ execution-events.md: Single source of truth │
109
+ │ ├─ Each task: read previous events → execute → write event │
110
+ │ ├─ Status indicators: ✅ (completed), ❌ (failed), ⏳ (progress) │
111
+ │ └─ Resume support: --continue flag │
112
+ │ │
113
+ └─────────────────────────────────────────────────────────────────────────┘
114
+ ```
115
+
116
+ ## Output Structure
117
+
118
+ ```
119
+ .workflow/.execution/{EXEC-slug-YYYY-MM-DD}/
120
+ ├── execution.md # Plan overview + task table + timeline
121
+ └── execution-events.md # ⭐ Unified log (all task executions + review checkpoints) - SINGLE SOURCE OF TRUTH
122
+
123
+ ```
124
+
125
+ **Key Concept**: execution-events.md serves as both human-readable log AND machine-parseable state store. All execution data (tasks, reviews, checkpoints) in one unified source.
126
+
127
+ ## Implementation
128
+
129
+ ### Session Initialization
130
+
131
+ **Objective**: Parse plan paths, create session directory, build unified task graph.
132
+
133
+ **Prerequisites**: None (entry point)
134
+
135
+ **Workflow Steps**:
136
+
137
+ 1. **Parse Command Flags**
138
+ - Extract plan paths from `--plan` or `-p` argument (or positional)
139
+ - Detect `--auto-commit` and `--commit-prefix` for git integration
140
+ - Detect `-y` or `--yes` for auto-confirmation mode
141
+
142
+ 2. **Resolve Plan Paths**
143
+
144
+ | Input Format | Resolution Strategy |
145
+ |--------------|---------------------|
146
+ | Comma-separated | Execute sequentially: `plan1.json → plan2.json → plan3.json` |
147
+ | Single path | Direct use |
148
+ | No path | Auto-detect from `.workflow/` (IMPL_PLAN.md or task JSONs) |
149
+
150
+ 3. **Parse Current Plan**
151
+ - Parse plan via format-agnostic `parsePlan()`
152
+ - Build task graph from plan's DAG dependencies
153
+ - Validate (detect cycles), topological sort
154
+ - Return: `{ tasks, executionOrder, planSource, metadata }`
155
+
156
+ 4. **Create Session Directory**
157
+ - Generate session ID: `EXEC-{slug}-{date}-{random}`
158
+ - Create `.workflow/.execution/{sessionId}/`
159
+ - Initialize `execution.md` with plan source
160
+ - Initialize `execution-events.md` (empty, will be appended)
161
+
162
+ **Success Criteria**:
163
+ - [ ] All plans parsed successfully
164
+ - [ ] No circular dependencies in task graph
165
+ - [ ] Session directory created with execution.md template
166
+ - [ ] Execution order calculated (topological sort)
167
+
168
+ **Completion**: Log session ID and ready for validation phase
169
+
170
+ ---
171
+
172
+ ### Pre-Execution Validation (Agent-Assisted)
173
+
174
+ **Objective**: Use validation agent to check execution feasibility and launch review agent for quality oversight.
175
+
176
+ **Prerequisites**: Session initialized, unified graph built
177
+
178
+ **Workflow Steps**:
179
+
180
+ 1. **Launch Parallel Agents**
181
+
182
+ **A. Validation Agent**
183
+
184
+ ```javascript
185
+ Task(
186
+ subagent_type="cli-explore-agent",
187
+ run_in_background=false,
188
+ description="Validate execution plan feasibility",
189
+ prompt=`
190
+ ## Validation Mission
191
+
192
+ Analyze the following execution plan and generate a validation report.
193
+
194
+ ### Plan Summary
195
+ - Total Tasks: ${unifiedGraph.tasks.length}
196
+ - Plan Sources: ${unifiedGraph.planSources.map(p => p.path).join(', ')}
197
+ - Execution Mode: ${executionMode}
198
+
199
+ ### Tasks to Validate
200
+ ${unifiedGraph.tasks.slice(0, 10).map(t => `- ${t.id}: ${t.title} (files: ${t.files_to_modify?.join(', ')})`).join('\n')}
201
+
202
+ ### Validation Checks
203
+ 1. **File Existence**: Verify files_to_modify exist or will be created
204
+ 2. **Dependency Resolution**: Check all depends_on targets exist
205
+ 3. **File Conflicts**: Identify same-file modifications in parallel waves
206
+ 4. **Complexity Assessment**: Estimate task complexity (Low/Medium/High)
207
+ 5. **Risk Analysis**: Identify potential issues or blockers
208
+
209
+ ### Output Format
210
+ Generate validation-report.json in ${sessionFolder}:
211
+ {
212
+ "status": "pass" | "warn" | "fail",
213
+ "file_checks": { "missing": [], "will_create": [] },
214
+ "dependency_issues": [],
215
+ "file_conflicts": [{ "file": "", "tasks": [], "wave": 0 }],
216
+ "complexity_assessment": { "low": 0, "medium": 0, "high": 0 },
217
+ "risks": [{ "severity": "critical|high|medium|low", "description": "" }],
218
+ "recommendations": [],
219
+ "review_checkpoints": [{ "after_tasks": [], "focus_areas": [] }]
220
+ }
221
+ `
222
+ )
223
+ ```
224
+
225
+ **B. Review Agent (Parallel)**
226
+
227
+ ```javascript
228
+ Task(
229
+ subagent_type="universal-executor",
230
+ run_in_background=false,
231
+ description="Initialize review oversight system",
232
+ prompt=`
233
+ ## Review Agent Initialization
234
+
235
+ Set up incremental review system for execution quality oversight.
236
+
237
+ ### Review Strategy
238
+ - **Checkpoint Interval**: Every 2-4 tasks
239
+ - **Focus Areas**: Code quality, plan compliance, integration risks
240
+ - **Update Principle**: Minimal changes only
241
+
242
+ ### Output to execution-events.md
243
+ Append review configuration section (once, at initialization):
244
+
245
+ ---
246
+ ## REVIEW CONFIG - INITIALIZED ⚙️
247
+
248
+ **Timestamp**: ${timestamp}
249
+ **Strategy**: Incremental review every 2-4 tasks
250
+ **Focus Areas**: code_quality, plan_compliance, integration_risks
251
+
252
+ ### Checkpoint Configuration
253
+ - **Interval**: Min 2 tasks, Max 4 tasks (adaptive)
254
+ - **Review Agent**: universal-executor
255
+ - **Plan Note Fields**: implementation_notes, quality_concerns, integration_risks, next_task_dependencies
256
+
257
+ ---
258
+ `
259
+ )
260
+ ```
261
+
262
+ 2. **Process Validation Result**
263
+ - Read `{sessionFolder}/validation-report.json`
264
+ - Display summary: status, conflicts count, risks count
265
+ - If `status === "fail"`: Show blockers, ask to abort/continue
266
+ - If `status === "warn"`: Show warnings, ask to proceed/fix
267
+
268
+ 3. **Select Execution Method** (unless `--yes` flag)
269
+
270
+ | Method | Description | When to Use |
271
+ |--------|-------------|-------------|
272
+ | Agent | `Task(subagent_type="code-developer")` | Standard implementation |
273
+ | CLI-Codex | `ccw cli --tool codex --mode write` | Complex tasks, git-aware |
274
+ | CLI-Gemini | `ccw cli --tool gemini --mode write` | Analysis-heavy tasks |
275
+ | Auto | Auto-select by complexity | Default for `--yes` mode |
276
+
277
+ **User Interaction** (unless `--yes`):
278
+ ```javascript
279
+ if (autoYes) {
280
+ executionMethod = "Auto"
281
+ console.log(`[--yes] Auto-selecting execution method: Auto`)
282
+ } else {
283
+ const selection = AskUserQuestion({
284
+ questions: [{
285
+ question: `选择执行方式 (${unifiedGraph.tasks.length} tasks, complexity: ${avgComplexity}):`,
286
+ header: "Execution",
287
+ multiSelect: false,
288
+ options: [
289
+ { label: "Agent (Recommended)", description: "@code-developer - 标准实现" },
290
+ { label: "CLI-Codex", description: "ccw cli --tool codex - 复杂任务" },
291
+ { label: "CLI-Gemini", description: "ccw cli --tool gemini - 分析型任务" },
292
+ { label: "Auto", description: "按复杂度自动选择" }
293
+ ]
294
+ }]
295
+ })
296
+ executionMethod = selection.execution
297
+ }
298
+ ```
299
+
300
+ 4. **Confirm Execution** (unless `--yes` flag)
301
+
302
+ Options:
303
+ - "开始执行" → Proceed with selected method
304
+ - "更换方式" → Re-select execution method
305
+ - "查看详情" → View full validation report
306
+ - "取消" → Exit without execution
307
+
308
+ **Success Criteria**:
309
+ - [ ] Validation agent completed successfully
310
+ - [ ] No critical blockers (or user chose to continue)
311
+ - [ ] Execution method selected
312
+ - [ ] User confirmed (or auto-mode enabled)
313
+
314
+ **Variables Set**:
315
+ - `validationReport`: Parsed validation-report.json
316
+ - `executionMethod`: "Agent" | "CLI-Codex" | "CLI-Gemini" | "Auto"
317
+
318
+ ---
319
+
320
+ ### Wave Execution
321
+
322
+ **Objective**: Execute tasks in waves with review checkpoints, respecting dependencies and file conflicts.
323
+
324
+ **Prerequisites**: Validation completed, user confirmed, review config initialized in execution-events.md
325
+
326
+ **Workflow Steps**:
327
+
328
+ 1. **Calculate Execution Waves**
329
+
330
+ **Constraints**:
331
+ - Tasks with dependencies must wait for completion
332
+ - Same file modifications → Sequential (no parallel)
333
+ - Max 3 parallel tasks per wave (resource limit)
334
+ - Review checkpoints every 2-4 tasks (adaptive)
335
+
336
+ **Algorithm**:
337
+ - Find available tasks (dependencies satisfied, not completed)
338
+ - Check file conflicts (task.files_to_modify)
339
+ - Group non-conflicting tasks (up to 3 per wave)
340
+ - Mark completed, repeat
341
+
342
+ 2. **Execute Each Wave**
343
+ - Launch tasks in parallel via `executeTask()`
344
+ - Wait for wave completion via `Promise.allSettled()`
345
+ - Process results (mark completed/failed)
346
+ - Update execution.md timeline
347
+ - Append events to execution-events.md
348
+
349
+ 3. **Review Checkpoint Trigger** (Every 2-4 Tasks) - **Non-Blocking Parallel Execution**
350
+
351
+ **Conditions**:
352
+ - Completed tasks count ≥ checkpoint.min_tasks (default: 2)
353
+ - No pending tasks in current wave
354
+ - Previous checkpoint passed or first checkpoint
355
+
356
+ **Workflow** (Parallel with Next Wave):
357
+ ```javascript
358
+ if (completedTasksCount % checkpointInterval === 0) {
359
+ // Launch review agent in background (non-blocking)
360
+ Task(
361
+ subagent_type="universal-executor",
362
+ run_in_background=true, // ⭐ Parallel execution - does NOT block next wave
363
+ description="Review checkpoint CHK-{id}",
364
+ prompt=`
365
+ ## Review Checkpoint: CHK-{id}
366
+
367
+ ### Completed Tasks Since Last Checkpoint
368
+ ${recentCompletedTasks.map(t => `- ${t.id}: ${t.title}`).join('\n')}
369
+
370
+ ### Consume Plan Notes
371
+ ${extractPlanNotes(recentCompletedTasks)}
372
+
373
+ ### Review Focus Areas
374
+ 1. **Code Quality**: Check implementations against standards
375
+ 2. **Plan Compliance**: Verify tasks match expected outcomes
376
+ 3. **Integration Risks**: Identify potential conflicts
377
+ 4. **Next Dependencies**: Validate dependency chain for upcoming tasks
378
+
379
+ ### Update Review Content (Minimal Changes Only)
380
+ - Read: execution-events.md (for plan notes and task history)
381
+ - Append to: execution-events.md (review checkpoint section)
382
+ - Principle: Only note critical issues, no full rewrite
383
+
384
+ ### Output Format (Append to execution-events.md)
385
+
386
+ ---
387
+ ## REVIEW CHECKPOINT CHK-{id} - ${status} ${statusEmoji}
388
+
389
+ **Timestamp**: ${timestamp}
390
+ **Reviewed Tasks**: ${reviewedTaskIds.join(', ')}
391
+ **Duration**: ${durationMs}ms
392
+
393
+ ### Findings
394
+
395
+ ${findings.critical.length > 0 ? \`
396
+ #### 🔴 Critical
397
+ ${findings.critical.map(f => \`- ${f}\`).join('\\n')}
398
+ \` : ''}
399
+
400
+ ${findings.high.length > 0 ? \`
401
+ #### 🟠 High
402
+ ${findings.high.map(f => \`- ${f}\`).join('\\n')}
403
+ \` : ''}
404
+
405
+ ${findings.medium.length > 0 ? \`
406
+ #### 🟡 Medium
407
+ ${findings.medium.map(f => \`- ${f}\`).join('\\n')}
408
+ \` : ''}
409
+
410
+ ${findings.low.length > 0 ? \`
411
+ #### 🟢 Low
412
+ ${findings.low.map(f => \`- ${f}\`).join('\\n')}
413
+ \` : ''}
414
+
415
+ ### Plan Note Updates (Extended)
416
+
417
+ **Implementation Notes**: ${implementationNotes}
418
+ **Quality Concerns**: ${qualityConcerns.join('; ')}
419
+ **Integration Risks**: ${integrationRisks.join('; ')}
420
+ **Next Task Dependencies**: ${nextTaskDependencies.join('; ')}
421
+
422
+ ### Recommendations
423
+ ${recommendations.map(r => \`- ${r}\`).join('\\n')}
424
+
425
+ ---
426
+ `
427
+ )
428
+
429
+ // Immediately proceed to next wave (parallel execution)
430
+ console.log(`[Review] CHK-{id} launched in background, continuing with next wave...`)
431
+ }
432
+ ```
433
+
434
+ **Key Design**:
435
+ - Review agent runs in background (`run_in_background=true`)
436
+ - Next wave tasks start immediately (no waiting)
437
+ - Review findings appended to execution-events.md (single source of truth)
438
+ - Critical findings visible in unified log for next tasks to consume
439
+
440
+ 4. **Handle Failures**
441
+
442
+ | Failure Type | Action |
443
+ |--------------|--------|
444
+ | Task timeout | Ask: retry/skip/abort |
445
+ | Dependency failed | Auto-skip dependent tasks |
446
+ | Max retries reached | Ask: retry/skip/abort (unless auto-mode) |
447
+ | Review checkpoint fail | Ask: fix issues/continue/abort |
448
+
449
+ **Success Criteria**:
450
+ - [ ] All waves executed
451
+ - [ ] Review checkpoints completed (every 2-4 tasks)
452
+ - [ ] Results captured in execution-events.md
453
+ - [ ] Failed tasks handled appropriately
454
+ - [ ] Review findings documented in checkpoint files
455
+
456
+ ---
457
+
458
+ ### Task Execution
459
+
460
+ **Objective**: Execute individual task with context awareness, structured notes, and optional auto-commit.
461
+
462
+ **Prerequisites**: Task selected from available wave
463
+
464
+ **Workflow Steps**:
465
+
466
+ 1. **Extract Relevant Notes**
467
+ - Read all notes from execution-events.md
468
+ - Filter by file overlap (notes.related_files ∩ task.files_to_modify)
469
+ - Always include Critical severity notes
470
+ - Sort by severity (Critical → High → Medium → Low)
471
+
472
+ 2. **Build Execution Context**
473
+
474
+ **Load Project Context** (from init.md products):
475
+ ```javascript
476
+ // Read project-tech.json (if exists)
477
+ const projectTech = file_exists('.workflow/project-tech.json')
478
+ ? JSON.parse(Read('.workflow/project-tech.json')) : null
479
+ // Read specs/*.md (if exists)
480
+ const projectGuidelines = file_exists('.ccw/specs/*.md')
481
+ ? JSON.parse(Read('.ccw/specs/*.md')) : null
482
+ ```
483
+
484
+ ```javascript
485
+ const executionContext = `
486
+ ⚠️ Execution Notes from Previous Tasks
487
+ ${relevantNotes} // Categorized notes with severity
488
+
489
+ 📋 Project Context (from init.md)
490
+ - Tech Stack: ${projectTech?.technology_analysis?.technology_stack || 'N/A'}
491
+ - Architecture: ${projectTech?.technology_analysis?.architecture?.style || 'N/A'}
492
+ - Constraints: ${projectGuidelines?.constraints || 'None defined'}
493
+
494
+ Current Task: ${task.id}
495
+ - Original ID: ${task.original_id}
496
+ - Source Plan: ${task.source_plan}
497
+ - Modified Files: ${task.files_to_modify}
498
+
499
+ Previous Agent Executions (for reference)
500
+ ${previousEvents} // All previous task results
501
+ `
502
+ ```
503
+
504
+ 3. **Route to Executor** (based on `executionMethod`)
505
+
506
+ **Option A: Agent Execution**
507
+
508
+ When: `executionMethod === "Agent"` or `Auto + Low Complexity`
509
+
510
+ Execute task via Agent tool with code-developer agent:
511
+
512
+ ```javascript
513
+ Agent({
514
+ subagent_type: "code-developer", // or other agent types
515
+ run_in_background: false,
516
+ description: task.title,
517
+ prompt: buildAgentPrompt(executionContext, task)
518
+ })
519
+
520
+ // buildAgentPrompt generates:
521
+ // - Execution context with notes
522
+ // - Task details (title, description)
523
+ // - Files to modify
524
+ // - Dependencies
525
+ // - Expected output
526
+ ```
527
+
528
+ Agent Type Selection:
529
+
530
+ | Agent Type | Use Case |
531
+ |------------|----------|
532
+ | code-developer | Code implementation |
533
+ | tdd-developer | Code with tests |
534
+ | test-fix-agent | Test execution and fixing |
535
+ | cli-execution-agent | CLI-based tasks |
536
+ | debug-explore-agent | Bug diagnosis |
537
+ | universal-executor | Generic tasks |
538
+
539
+ ---
540
+
541
+ **Option B: CLI Execution**
542
+
543
+ When: `executionMethod === "CLI-Codex"/"CLI-Gemini"` or `Auto + Medium/High Complexity`
544
+
545
+ Execute task via CLI in background mode:
546
+
547
+ ```javascript
548
+ // Build CLI prompt from execution context
549
+ const cliPrompt = buildCliPrompt(task, executionContext)
550
+ // Generates: PURPOSE, TASK, MODE, CONTEXT, EXPECTED, CONSTRAINTS
551
+
552
+ // Select tool based on execution method
553
+ const tool = executionMethod === "CLI-Gemini" ? "gemini" : "codex"
554
+
555
+ // Generate fixed execution ID for resume capability
556
+ const fixedId = `${sessionId}-${task.id}`
557
+
558
+ // Execute in background
559
+ Bash({
560
+ command: `ccw cli -p "${cliPrompt}" --tool ${tool} --mode write --id ${fixedId}`,
561
+ run_in_background: true,
562
+ description: `Execute task ${task.id} via CLI`
563
+ })
564
+
565
+ // STOP HERE - CLI executes in background, task hook will notify on completion
566
+ ```
567
+
568
+ Resume on Failure:
569
+
570
+ ```javascript
571
+ if (cliResult.status === 'failed' || cliResult.status === 'timeout') {
572
+ console.log(`Task ${task.id} incomplete. Resume with fixed ID: ${fixedId}`)
573
+ // Resume command: ccw cli -p "Continue" --resume ${fixedId} --id ${fixedId}-retry
574
+ }
575
+ ```
576
+
577
+ 4. **Generate Structured Notes**
578
+
579
+ **Pattern Detection** (auto-generate notes):
580
+ - `localStorage|sessionStorage` → WARNING (High): XSS防护提醒
581
+ - `package.json` modified → DEPENDENCY (Medium): npm install提醒
582
+ - `api.*change|breaking` → API_CHANGE (Critical): 兼容性检查
583
+
584
+ 5. **Auto-Commit** (if `--auto-commit` enabled)
585
+ - Get changed files via `git status --porcelain`
586
+ - Filter to task.files_to_modify
587
+ - Stage files: `git add`
588
+ - Generate conventional commit message: `type(scope): subject`
589
+ - Commit: `git commit -m`
590
+
591
+ 6. **Append to Event Log**
592
+
593
+ **Event Format**:
594
+ ```markdown
595
+ ## Task ${task.id} - COMPLETED ✅
596
+
597
+ **Timestamp**: ${time}
598
+ **Duration**: ${ms}
599
+ **Agent**: ${agent}
600
+
601
+ ### Execution Summary
602
+ ${summary}
603
+
604
+ ### Generated Artifacts
605
+ - `src/auth.ts` (2.3KB)
606
+
607
+ ### Git Commit (if --auto-commit)
608
+ **Files Committed**: ${files.length}
609
+ **Commit Message**: feat(auth): implement user login
610
+
611
+ ### 注意事项 (Execution Notes)
612
+ **Category**: WARNING
613
+ **Severity**: High
614
+ **Related Files**: src/auth.ts
615
+ **Message**: 使用了localStorage,注意XSS防护
616
+
617
+ ---
618
+ ```
619
+
620
+ **Success Criteria**:
621
+ - [ ] Task executed successfully
622
+ - [ ] Notes generated for next agent
623
+ - [ ] Event appended to execution-events.md
624
+ - [ ] Auto-commit completed (if enabled)
625
+
626
+ ---
627
+
628
+ ### Completion
629
+
630
+ **Objective**: Summarize execution results and offer follow-up actions.
631
+
632
+ **Prerequisites**: All waves completed
633
+
634
+ **Workflow Steps**:
635
+
636
+ 1. **Collect Statistics**
637
+ - Total tasks: `normalizedTasks.length`
638
+ - Completed: `tasks.filter(t => t.status === 'completed').length`
639
+ - Failed: `tasks.filter(t => t.status === 'failed').length`
640
+ - Skipped: `tasks.filter(t => t.status === 'skipped').length`
641
+ - Success rate: `(completed / total * 100).toFixed(1)`
642
+
643
+ 2. **Update execution.md**
644
+ - Append "Execution Completed" section
645
+ - Include statistics table
646
+ - Link to execution-events.md for details
647
+
648
+ 3. **Display Summary**
649
+ - Show session ID and folder
650
+ - Display statistics
651
+ - List failed tasks (if any)
652
+
653
+ 4. **Offer Follow-Up Actions** (unless `--yes`)
654
+
655
+ Options:
656
+ - "查看详情" → View full execution log
657
+ - "调试失败项" → Debug failed tasks
658
+ - "优化执行" → Analyze execution improvements
659
+ - "完成" → No further action
660
+
661
+ 5. **Sync Session State** (automatic, unless `--dry-run`)
662
+ - Execute: `/workflow:session:sync -y "Execution complete: ${completedCount}/${totalCount} tasks succeeded"`
663
+ - Updates specs/*.md with any learnings from execution
664
+ - Updates project-tech.json with development index entry
665
+
666
+ **Success Criteria**:
667
+ - [ ] Statistics collected and displayed
668
+ - [ ] execution.md updated with final status
669
+ - [ ] Session state synced via /workflow:session:sync
670
+ - [ ] User informed of completion
671
+
672
+ ---
673
+
674
+ ## Helper Functions
675
+
676
+ ### Sequential Multi-Plan Execution
677
+
678
+ **executeSequentialPlans(planPaths)**:
679
+ - Execute plans in order: `plan1 → plan2 → plan3`
680
+ - Each plan gets independent session
681
+ - All sessions grouped under global session ID
682
+
683
+ **Per-Plan Execution**:
684
+ - Parse plan → Build DAG → Validate → Execute tasks
685
+ - Follow plan's internal DAG dependencies
686
+ - Create execution-events.md for each plan
687
+ - Track progress in parent session
688
+
689
+ **Global Session Tracking**:
690
+ - Parent session ID: `EXEC-multi-{date}`
691
+ - Child sessions: `EXEC-{slug}-{plan-index}-{date}`
692
+ - Aggregate statistics across all plans
693
+
694
+ ---
695
+
696
+ ### Structured Notes
697
+
698
+ **Note Categories**: `WARNING`, `DECISION`, `API_CHANGE`, `FILE_CONFLICT`, `DEPENDENCY`, `PATTERN`
699
+
700
+ **Note Severity**: `Critical`, `High`, `Medium`, `Low`
701
+
702
+ **extractNotesFromEvents(eventLogPath)**:
703
+ - Parse structured note blocks from execution-events.md
704
+ - Pattern: `**Category**: ... **Severity**: ... **Related Files**: ... **Message**: ...`
705
+ - Return: Array of note objects
706
+
707
+ **filterRelevantNotes(notes, task)**:
708
+ - Include: File overlap with task.files_to_modify
709
+ - Always include: Critical severity notes
710
+ - Sort: By severity (Critical first)
711
+
712
+ **generateNotesForNextAgent(result, task)**:
713
+ - Pattern detection for common issues
714
+ - Auto-generate structured notes
715
+ - Return: Markdown-formatted notes
716
+
717
+ ---
718
+
719
+ ### Git Auto-Commit
720
+
721
+ **inferCommitType(task)**:
722
+ - Check action/title for keywords: fix, refactor, test, doc
723
+ - Default: `feat`
724
+
725
+ **extractScope(task)**:
726
+ - Check files_to_modify for patterns: frontend/, backend/, components/, api/, auth/
727
+ - Return: scope or null
728
+
729
+ **generateCommitMessage(task)**:
730
+ - Format: `type(scope): subject`
731
+ - Footer: `Task-ID: ${task.id}\nPlan: ${plan}`
732
+
733
+ **autoCommitTaskChanges(task)**:
734
+ - Get changed files, filter to task.files_to_modify
735
+ - Stage, commit with conventional message
736
+ - Return: `{ files, message }` or null
737
+
738
+ ---
739
+
740
+ ### Plan Format Parsers
741
+
742
+ **parsePlan(content, filePath)**:
743
+ - Route to appropriate parser based on filename pattern
744
+ - Support: IMPL_PLAN.md, plan.json, synthesis.json, conclusions.json
745
+
746
+ **parsePlanJson(content)**:
747
+ - Handle plan-json-schema (lite-plan, collaborative-plan, sub-plans)
748
+ - Map fields: `modification_points → files_to_modify`, `acceptance → expected_output`
749
+ - Infer: agent_type, task.type
750
+ - Build: prompt from task details
751
+
752
+ ---
753
+
754
+ ### Validation & Execution Method
755
+
756
+ **validateExecutionPlan(unifiedGraph, sessionFolder)**:
757
+ - Launch validation agent (cli-explore-agent)
758
+ - Check file existence, dependencies, file conflicts
759
+ - Generate validation-report.json with status/risks/recommendations
760
+ - Return: `{ status: "pass"|"warn"|"fail", report: {...} }`
761
+
762
+ **selectExecutionMethod(validationReport, autoYes)**:
763
+ - If `autoYes === true`: Return "Auto"
764
+ - Otherwise: AskUserQuestion with options (Agent/CLI-Codex/CLI-Gemini/Auto)
765
+ - Return: Selected execution method
766
+
767
+ **resolveExecutor(task, executionMethod, complexity)**:
768
+ - If `executionMethod === "Agent"`: Return "agent"
769
+ - If `executionMethod === "CLI-Codex"`: Return "cli-codex"
770
+ - If `executionMethod === "CLI-Gemini"`: Return "cli-gemini"
771
+ - If `executionMethod === "Auto"`:
772
+ - Low complexity → "agent"
773
+ - Medium/High complexity → "cli-codex"
774
+ - Return: Executor type
775
+
776
+ ---
777
+
778
+ ### Agent Selection
779
+
780
+ **selectBestAgent(task)**:
781
+
782
+ | Task Type | Agent |
783
+ |-----------|-------|
784
+ | code (with tests) | tdd-developer |
785
+ | code | code-developer |
786
+ | test | test-fix-agent |
787
+ | doc | doc-generator |
788
+ | analysis | cli-execution-agent |
789
+ | debug | debug-explore-agent |
790
+ | default | universal-executor |
791
+
792
+ ---
793
+
794
+ ### Parallelization
795
+
796
+ **calculateParallel(tasks)**:
797
+
798
+ Group into waves with constraints:
799
+ - Same file modifications → Sequential
800
+ - Dependencies → Wait for completion
801
+ - Max 3 parallel tasks per wave
802
+
803
+ Algorithm: Find available → Check conflicts → Group → Repeat
804
+
805
+ ---
806
+
807
+ ## Error Handling & Recovery
808
+
809
+ | Situation | Action |
810
+ |-----------|--------|
811
+ | Task timeout | Mark timeout, ask: retry/skip/abort |
812
+ | Missing dependency | Auto-skip dependent tasks, log warning |
813
+ | File conflict | Detect before execution, ask resolution |
814
+ | Output mismatch | Validate vs expected_output, flag review |
815
+ | Agent unavailable | Fallback to universal-executor |
816
+ | Execution interrupted | Resume with `--continue` flag |
817
+
818
+ **Retry Logic**:
819
+ - Auto-retry up to `max_retries` (default: 2) in auto-yes mode
820
+ - Interactive mode: Ask user after max retries
821
+
822
+ **Dependency Handling**:
823
+ - Failed task → Auto-skip all dependent tasks
824
+ - Log warning with skipped task IDs
825
+
826
+ ---
827
+
828
+ ## Session Resume
829
+
830
+ ```bash
831
+ /workflow:unified-execute-with-file --continue # Resume last
832
+ /workflow:unified-execute-with-file --continue EXEC-xxx-2025-01-27 # Resume specific
833
+ ```
834
+
835
+ **Resume Process**:
836
+ 1. Load execution.md and execution-events.md
837
+ 2. Parse events to identify completed/failed/skipped tasks (via status indicators)
838
+ 3. Recalculate remaining dependencies
839
+ 4. Resume from first incomplete task
840
+ 5. Append "Resumed from [sessionId]" note to events
841
+
842
+ ---
843
+
844
+ ## Configuration
845
+
846
+ | Flag | Default | Description |
847
+ |------|---------|-------------|
848
+ | `-p, --plan <path>` | Auto-detect | Plan file(s), comma-separated for sequential execution |
849
+ | `--auto-commit` | false | Commit after each successful task |
850
+ | `--commit-prefix` | null | Custom commit message prefix |
851
+ | `-y, --yes` | false | Auto-confirm all decisions |
852
+
853
+ ---
854
+
855
+ ## Best Practices
856
+
857
+ 1. **Clear Plan Structure**: Well-structured plans → better execution
858
+ 2. **Review Validation Report**: Check validation-report.json for risks before proceeding
859
+ 3. **Choose Right Execution Method**:
860
+ - **Agent**: Standard tasks, straightforward implementation
861
+ - **CLI-Codex**: Complex tasks, requires git-aware context
862
+ - **CLI-Gemini**: Analysis-heavy or exploratory tasks
863
+ - **Auto**: Let system decide based on complexity
864
+ 4. **Use Auto-Commit**: Enable `--auto-commit` for automatic progress tracking
865
+ 5. **Resolve Conflicts Early**: Address file conflicts before execution
866
+ 6. **Monitor Events Log**: Check execution-events.md for detailed progress
867
+ 7. **Resume on Failure**: Use `--continue` to resume interrupted executions (Agent) or fixed ID (CLI)
868
+ 8. **Sequential Multi-Plan**: Use comma-separated paths for executing multiple plans in order
869
+
870
+