maestro-flow 0.3.7 → 0.3.9

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 (254) hide show
  1. package/.claude/commands/learn-decompose.md +3 -3
  2. package/.claude/commands/learn-follow.md +5 -5
  3. package/.claude/commands/learn-investigate.md +3 -3
  4. package/.claude/commands/learn-retro.md +303 -0
  5. package/.claude/commands/learn-second-opinion.md +3 -3
  6. package/.claude/commands/maestro-analyze.md +123 -99
  7. package/.claude/commands/maestro-brainstorm.md +2 -2
  8. package/.claude/commands/maestro-execute.md +137 -96
  9. package/.claude/commands/maestro-fork.md +111 -0
  10. package/.claude/commands/maestro-init.md +6 -6
  11. package/.claude/commands/maestro-learn.md +74 -298
  12. package/.claude/commands/maestro-merge.md +77 -0
  13. package/.claude/commands/maestro-milestone-audit.md +72 -60
  14. package/.claude/commands/maestro-milestone-complete.md +67 -59
  15. package/.claude/commands/maestro-milestone-release.md +6 -6
  16. package/.claude/commands/maestro-plan.md +151 -130
  17. package/.claude/commands/maestro-quick.md +4 -4
  18. package/.claude/commands/maestro-roadmap.md +5 -5
  19. package/.claude/commands/maestro-spec-generate.md +5 -5
  20. package/.claude/commands/maestro-ui-design.md +3 -3
  21. package/.claude/commands/maestro-verify.md +106 -87
  22. package/.claude/commands/maestro.md +10 -4
  23. package/.claude/commands/manage-codebase-rebuild.md +4 -4
  24. package/.claude/commands/manage-codebase-refresh.md +1 -1
  25. package/.claude/commands/manage-harvest.md +5 -5
  26. package/.claude/commands/manage-issue-discover.md +1 -1
  27. package/.claude/commands/manage-issue-execute.md +6 -6
  28. package/.claude/commands/manage-issue.md +6 -6
  29. package/.claude/commands/manage-learn.md +23 -17
  30. package/.claude/commands/manage-memory-capture.md +15 -17
  31. package/.claude/commands/manage-memory.md +3 -3
  32. package/.claude/commands/manage-status.md +24 -24
  33. package/.claude/commands/quality-business-test.md +5 -5
  34. package/.claude/commands/quality-debug.md +4 -4
  35. package/.claude/commands/quality-integration-test.md +4 -4
  36. package/.claude/commands/quality-refactor.md +3 -3
  37. package/.claude/commands/quality-retrospective.md +7 -7
  38. package/.claude/commands/quality-review.md +4 -4
  39. package/.claude/commands/quality-sync.md +3 -3
  40. package/.claude/commands/quality-test-gen.md +4 -4
  41. package/.claude/commands/quality-test.md +9 -9
  42. package/.claude/commands/spec-add.md +2 -2
  43. package/.claude/commands/spec-load.md +8 -3
  44. package/.claude/commands/spec-setup.md +5 -5
  45. package/.claude/commands/wiki-connect.md +3 -3
  46. package/.claude/commands/wiki-digest.md +30 -5
  47. package/.codex/skills/maestro-analyze/SKILL.md +52 -14
  48. package/.codex/skills/maestro-execute/SKILL.md +27 -26
  49. package/.codex/skills/maestro-milestone-audit/SKILL.md +103 -209
  50. package/.codex/skills/maestro-milestone-complete/SKILL.md +149 -158
  51. package/.codex/skills/maestro-plan/SKILL.md +47 -17
  52. package/.codex/skills/maestro-roadmap/SKILL.md +3 -2
  53. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
  54. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +1 -1
  55. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
  56. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +2 -2
  57. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +1 -1
  58. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +1 -1
  59. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
  60. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +1 -1
  61. package/README.md +115 -227
  62. package/README.zh-CN.md +169 -187
  63. package/bin/maestro-mcp.js +1 -1
  64. package/chains/_intent-map.json +21 -9
  65. package/chains/_router.json +30 -77
  66. package/chains/brainstorm-driven.json +17 -6
  67. package/chains/full-lifecycle.json +22 -23
  68. package/chains/milestone-close.json +20 -7
  69. package/chains/milestone-fork-merge.json +50 -0
  70. package/chains/roadmap-driven.json +17 -6
  71. package/chains/spec-driven.json +17 -6
  72. package/dashboard/dist/assets/{ArtifactsPage-A9yzYtpj.js → ArtifactsPage-DZNCi6tn.js} +12 -7
  73. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +49 -0
  74. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +22 -0
  75. package/dashboard/dist/assets/CollabPage-B4NAHXS2.js +1 -0
  76. package/dashboard/dist/assets/ExecutionPanel-CFt4LJyq.js +1 -0
  77. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +21 -0
  78. package/dashboard/dist/assets/{MarkdownRenderer-CCXHaut3.js → MarkdownRenderer-X4af_WNb.js} +1 -1
  79. package/dashboard/dist/assets/McpPage-BKfCVIyU.js +21 -0
  80. package/dashboard/dist/assets/OutputPanel-BlBQFJSW.js +1 -0
  81. package/dashboard/dist/assets/ProblemsPanel-De3DLvoI.js +1 -0
  82. package/dashboard/dist/assets/{RequirementBoardPage-CEOvppGn.js → RequirementBoardPage-Bf1trzqs.js} +2 -2
  83. package/dashboard/dist/assets/{RequirementPage-DpnbTEqY.js → RequirementPage-Bllxe2XI.js} +10 -5
  84. package/dashboard/dist/assets/{SpecsPage-CYqOfFkB.js → SpecsPage-9lwxKT27.js} +2 -2
  85. package/dashboard/dist/assets/{SupervisorPage-B2sZwkq8.js → SupervisorPage-SusdfHFq.js} +1 -1
  86. package/dashboard/dist/assets/{TeamsPage-CkZdCAVZ.js → TeamsPage-DsuM6OwC.js} +2 -2
  87. package/dashboard/dist/assets/TreeBrowser-Q12qobZs.js +6 -0
  88. package/dashboard/dist/assets/WorkflowPage-D_Fzdy3_.js +6 -0
  89. package/dashboard/dist/assets/{arrow-left-6fktHyjN.js → arrow-left-Bqtb2hle.js} +1 -1
  90. package/dashboard/dist/assets/{check-Cbxq2l1-.js → check-u6fGOwQO.js} +1 -1
  91. package/dashboard/dist/assets/{chevron-right-Yts3bi8p.js → chevron-right-Csu22t58.js} +1 -1
  92. package/dashboard/dist/assets/{circle-4Ci4Xolf.js → circle-CMrkbRNg.js} +1 -1
  93. package/dashboard/dist/assets/{circle-alert-B25g9BTL.js → circle-alert-c3tH1P4z.js} +1 -1
  94. package/dashboard/dist/assets/{circle-check-big-DzO2BlL7.js → circle-check-big-TDSeWstm.js} +1 -1
  95. package/dashboard/dist/assets/{circle-check-BA5_XqeV.js → circle-check-gYxxSYuH.js} +1 -1
  96. package/dashboard/dist/assets/{code-zxwuybO8.js → code-CFN2uX9V.js} +1 -1
  97. package/dashboard/dist/assets/{columns-3-DV4oeCfU.js → columns-3-38xIDlzy.js} +1 -1
  98. package/dashboard/dist/assets/{download-CXCyQw8M.js → download-DC7KkKyP.js} +1 -1
  99. package/dashboard/dist/assets/{folder-Bvjj8Vn9.js → folder-CWq_lAnf.js} +1 -1
  100. package/dashboard/dist/assets/index-DWG-WrzT.js +231 -0
  101. package/dashboard/dist/assets/{index-BvScJmJM.js → index-Do71weNR.js} +1 -1
  102. package/dashboard/dist/assets/index-GUNJodSR.css +1 -0
  103. package/dashboard/dist/assets/{list-Dj4i9N75.js → list-CgIP_2A-.js} +1 -1
  104. package/dashboard/dist/assets/{minus-DwlFabsT.js → minus-DYoN5UGk.js} +1 -1
  105. package/dashboard/dist/assets/{pen-line-D7UzECt6.js → pen-line-Bh_WKYHm.js} +1 -1
  106. package/dashboard/dist/assets/{proxy-B9XRqHD9.js → proxy-BKxDAKTj.js} +1 -1
  107. package/dashboard/dist/assets/{search-BQbBTIYl.js → search-SieXnOgr.js} +1 -1
  108. package/dashboard/dist/assets/{shallow-Clb1Lyd_.js → shallow-Bme1JY57.js} +1 -1
  109. package/dashboard/dist/assets/{table-BqxCXid2.js → table-llyEtj-7.js} +1 -1
  110. package/dashboard/dist/assets/terminal-BB3Xfuv5.js +6 -0
  111. package/dashboard/dist/assets/{trash-2-6rN9B-EQ.js → trash-2-C8f4vFFM.js} +1 -1
  112. package/dashboard/dist/assets/{zap-DxUhG-gk.js → zap-4uwlzVm0.js} +1 -1
  113. package/dashboard/dist/index.html +2 -2
  114. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.d.ts +1 -1
  115. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -4
  116. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  117. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +8 -4
  118. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  119. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +1 -0
  120. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +2 -1
  121. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -1
  122. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +20 -10
  123. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  124. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.d.ts +1 -1
  125. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js +3 -4
  126. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js.map +1 -1
  127. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js +4 -4
  128. package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js.map +1 -1
  129. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +4 -3
  130. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  131. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js +20 -7
  132. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.d.ts +1 -1
  134. package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js +4 -4
  135. package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js.map +1 -1
  136. package/dashboard/dist-server/dashboard/src/server/index.js +2 -1
  137. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/routes/git.d.ts +2 -0
  139. package/dashboard/dist-server/dashboard/src/server/routes/git.js +79 -0
  140. package/dashboard/dist-server/dashboard/src/server/routes/git.js.map +1 -0
  141. package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
  142. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +14 -14
  144. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/linear.js +7 -5
  146. package/dashboard/dist-server/dashboard/src/server/routes/linear.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +43 -0
  148. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +186 -25
  150. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
  151. package/dashboard/dist-server/dashboard/src/server/utils/issue-store.d.ts +6 -0
  152. package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js +24 -2
  153. package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +4 -7
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -1
  157. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  158. package/dashboard/dist-server/dashboard/src/shared/constants.test.js +5 -5
  159. package/dashboard/dist-server/dashboard/src/shared/constants.test.js.map +1 -1
  160. package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js +4 -4
  161. package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js.map +1 -1
  162. package/dashboard/dist-server/src/commands/delegate.js +7 -1
  163. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  164. package/dashboard/package.json +59 -59
  165. package/dist/src/cli.js +3 -1
  166. package/dist/src/cli.js.map +1 -1
  167. package/dist/src/commands/{team.d.ts → collab.d.ts} +2 -2
  168. package/dist/src/commands/collab.d.ts.map +1 -0
  169. package/dist/src/commands/{team.js → collab.js} +391 -24
  170. package/dist/src/commands/collab.js.map +1 -0
  171. package/dist/src/commands/delegate.d.ts.map +1 -1
  172. package/dist/src/commands/delegate.js +7 -1
  173. package/dist/src/commands/delegate.js.map +1 -1
  174. package/dist/src/commands/msg.d.ts.map +1 -1
  175. package/dist/src/commands/msg.js +4 -3
  176. package/dist/src/commands/msg.js.map +1 -1
  177. package/dist/src/hooks/team-monitor.d.ts.map +1 -1
  178. package/dist/src/hooks/team-monitor.js +16 -0
  179. package/dist/src/hooks/team-monitor.js.map +1 -1
  180. package/dist/src/tools/collab-adapter.d.ts +85 -0
  181. package/dist/src/tools/collab-adapter.d.ts.map +1 -0
  182. package/dist/src/tools/collab-adapter.js +320 -0
  183. package/dist/src/tools/collab-adapter.js.map +1 -0
  184. package/dist/src/tools/namespace-guard.d.ts +2 -0
  185. package/dist/src/tools/namespace-guard.d.ts.map +1 -1
  186. package/dist/src/tools/namespace-guard.js +12 -0
  187. package/dist/src/tools/namespace-guard.js.map +1 -1
  188. package/dist/src/tools/phase-gate-evaluator.d.ts +45 -0
  189. package/dist/src/tools/phase-gate-evaluator.d.ts.map +1 -0
  190. package/dist/src/tools/phase-gate-evaluator.js +42 -0
  191. package/dist/src/tools/phase-gate-evaluator.js.map +1 -0
  192. package/dist/src/tools/team-members.d.ts +18 -0
  193. package/dist/src/tools/team-members.d.ts.map +1 -1
  194. package/dist/src/tools/team-members.js +50 -0
  195. package/dist/src/tools/team-members.js.map +1 -1
  196. package/dist/src/tools/team-tasks.d.ts +120 -0
  197. package/dist/src/tools/team-tasks.d.ts.map +1 -0
  198. package/dist/src/tools/team-tasks.js +365 -0
  199. package/dist/src/tools/team-tasks.js.map +1 -0
  200. package/dist/src/tools/transition-recorder.d.ts +3 -0
  201. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  202. package/dist/src/tools/transition-recorder.js +52 -1
  203. package/dist/src/tools/transition-recorder.js.map +1 -1
  204. package/dist/src/utils/get-version.d.ts.map +1 -1
  205. package/dist/src/utils/get-version.js +15 -4
  206. package/dist/src/utils/get-version.js.map +1 -1
  207. package/package.json +1 -1
  208. package/templates/config.json +7 -0
  209. package/templates/worktree-scope.json +10 -0
  210. package/templates/worktrees.json +27 -0
  211. package/workflows/analyze.md +86 -36
  212. package/workflows/brainstorm.md +17 -37
  213. package/workflows/delegate-usage.md +39 -41
  214. package/workflows/execute.md +247 -61
  215. package/workflows/fork.md +309 -0
  216. package/workflows/init.md +11 -2
  217. package/workflows/issue.md +66 -7
  218. package/workflows/maestro-coordinate.codex.md +1 -1
  219. package/workflows/maestro-coordinate.md +24 -17
  220. package/workflows/maestro.md +54 -37
  221. package/workflows/memory.md +2 -1
  222. package/workflows/merge.md +285 -0
  223. package/workflows/milestone-audit.md +89 -70
  224. package/workflows/milestone-complete.md +89 -156
  225. package/workflows/plan.md +131 -19
  226. package/workflows/retrospective.md +5 -5
  227. package/workflows/roadmap.md +12 -4
  228. package/workflows/spec-generate.md +9 -0
  229. package/workflows/status.md +76 -27
  230. package/workflows/ui-design.md +14 -12
  231. package/workflows/verify.md +44 -8
  232. package/.claude/commands/learn-retro-decision.md +0 -198
  233. package/.claude/commands/learn-retro-git.md +0 -160
  234. package/.claude/commands/maestro-phase-add.md +0 -63
  235. package/.claude/commands/maestro-phase-transition.md +0 -75
  236. package/.codex/skills/maestro-phase-add/SKILL.md +0 -154
  237. package/.codex/skills/maestro-phase-transition/SKILL.md +0 -173
  238. package/chains/singles/phase-add.json +0 -31
  239. package/chains/singles/phase-transition.json +0 -23
  240. package/dashboard/dist/assets/ChatInput-PuCvZZ3y.js +0 -67
  241. package/dashboard/dist/assets/ChatPage-v19GURYH.js +0 -8
  242. package/dashboard/dist/assets/CollabPage-I5k_mCbG.js +0 -1
  243. package/dashboard/dist/assets/KanbanPage-PDDBv5-9.js +0 -16
  244. package/dashboard/dist/assets/McpPage-CiqXpCHg.js +0 -16
  245. package/dashboard/dist/assets/TreeBrowser-0VIMWclo.js +0 -11
  246. package/dashboard/dist/assets/WorkflowPage-Csm23wUS.js +0 -6
  247. package/dashboard/dist/assets/git-branch-DL8p9kVC.js +0 -6
  248. package/dashboard/dist/assets/index-11DuhKhc.js +0 -231
  249. package/dashboard/dist/assets/index-D2Mtyw7I.css +0 -1
  250. package/dashboard/dist/assets/wrench-BScEJFqC.js +0 -11
  251. package/dist/src/commands/team.d.ts.map +0 -1
  252. package/dist/src/commands/team.js.map +0 -1
  253. package/workflows/phase-add.md +0 -252
  254. package/workflows/phase-transition.md +0 -399
@@ -1,96 +1,137 @@
1
- ---
2
- name: maestro-execute
3
- description: Execute phase plan with wave-based parallel execution and atomic commits
4
- argument-hint: "<phase> [--auto-commit] [--method agent|cli] [--dir <path>]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Execute all tasks in a phase plan using wave-based parallel execution with dependency-aware ordering. Invoked after Skill({ skill: "maestro-plan" }) produces a confirmed plan.json. Produces task summaries, updated task statuses, commits, and execution progress in index.json.
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/execute.md
21
- </required_reading>
22
-
23
- <deferred_reading>
24
- - [task.json](~/.maestro/templates/task.json) — read when reading task definitions
25
- - [index.json](~/.maestro/templates/index.json) — read when updating phase index
26
- </deferred_reading>
27
-
28
- <context>
29
- Phase: $ARGUMENTS (required -- phase number or slug)
30
-
31
- **Flags:**
32
- - `--auto-commit` -- Automatically commit after each task completion
33
- - `--method agent|cli` -- Override execution method (default: from config.json or index.json)
34
- - `--dir <path>` -- Use arbitrary directory instead of phase resolution (scratch mode, skip roadmap validation)
35
-
36
- Context files resolved from `.workflow/phases/{NN}-{slug}/` (or `--dir` path):
37
- - index.json (phase metadata + plan.waves + execution progress)
38
- - plan.json (plan overview)
39
- - .task/TASK-{NNN}.json (individual task definitions, lazy-loaded per wave)
40
-
41
- **executionContext handoff:** If received from Skill({ skill: "maestro-plan" }) confirmation, skip disk reload and use in-memory plan + explorations + clarifications.
42
- </context>
43
-
44
- <execution>
45
- ### Pre-flight: team conflict check
46
-
47
- Before any task execution, run:
48
- ```
49
- Bash("maestro team preflight --phase <phase-number>")
50
- ```
51
- If exit code is 1, the command prints warnings about teammates active on the same phase. Present the warnings to the user and ask whether to proceed. If the user confirms or says "force", continue. If they decline, abort with a clear message.
52
-
53
- If exit code is 0, or `maestro team preflight` is unavailable (e.g., team mode not enabled), continue normally.
54
-
55
- Follow '~/.maestro/workflows/execute.md' completely.
56
-
57
- **Report format on completion:**
58
-
59
- ```
60
- === EXECUTION COMPLETE ===
61
- Phase: {phase_name}
62
- Completed: {completed_count}/{total_count} tasks
63
- Failed: {failed_count} tasks
64
- Waves: {waves_executed}/{total_waves}
65
-
66
- Summaries: {phase_dir}/.summaries/
67
- Tasks: {phase_dir}/.task/
68
-
69
- Next steps:
70
- Skill({ skill: "maestro-verify", args: "{phase}" }) -- Verify execution results
71
- Skill({ skill: "manage-status" }) -- View project dashboard
72
- ```
73
-
74
- If this was a gap-fix execution (plan originated from `--gaps`), emphasize re-verification:
75
- "Gap-fix execution complete. Run Skill({ skill: "maestro-verify", args: "{phase}" }) to confirm gaps are resolved."
76
-
77
- If failed tasks exist, suggest Skill({ skill: "quality-debug" }) for investigation.
78
- </execution>
79
-
80
- <error_codes>
81
- | Code | Severity | Condition | Recovery |
82
- |------|----------|-----------|----------|
83
- | E001 | error | Phase argument required | Check arguments format, re-run with correct input |
84
- | E002 | error | Phase directory not found | Check arguments format, re-run with correct input |
85
- | E003 | error | plan.json not found in phase directory | Verify plan.json exists, run maestro-plan first |
86
- | E004 | error | No pending tasks, all tasks already completed | Check task statuses, reset if needed |
87
- | W001 | warning | Executor completed with partial failures | Check task dependencies, retry failed wave |
88
- </error_codes>
89
-
90
- <success_criteria>
91
- - [ ] All pending tasks executed (completed or explicitly failed)
92
- - [ ] `.summaries/TASK-{NNN}-summary.md` written for each completed task
93
- - [ ] `.task/TASK-{NNN}.json` statuses updated
94
- - [ ] index.json execution progress updated
95
- - [ ] state.json project progress updated
96
- </success_criteria>
1
+ ---
2
+ name: maestro-execute
3
+ description: Execute plan with wave-based parallel execution and atomic commits
4
+ argument-hint: "[phase] [--auto-commit] [--method agent|cli|auto] [--executor <tool>] [--dir <path>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Execute all tasks in a plan using wave-based parallel execution with dependency-aware ordering. Each plan is executed independently (plans串行, plan内wave并行). Task summaries are written to the plan's scratch directory under `.summaries/`. Registers EXC artifact in state.json.
17
+
18
+ Invoked after /maestro-plan produces a confirmed plan. When called without args on a milestone, finds all pending plans and executes them sequentially.
19
+ </purpose>
20
+
21
+ <required_reading>
22
+ @~/.maestro/workflows/execute.md
23
+ </required_reading>
24
+
25
+ <deferred_reading>
26
+ - [task.json](~/.maestro/templates/task.json) — read when reading task definitions
27
+ - [state.json](~/.maestro/templates/state.json) — read when registering artifact
28
+ </deferred_reading>
29
+
30
+ <context>
31
+ $ARGUMENTS — phase number, or no args for milestone-wide execution, with optional flags.
32
+
33
+ **Flags:**
34
+ - `--auto-commit` -- Automatically commit after each task completion
35
+ - `--method agent|cli|auto` -- Override execution method (default: from config.json)
36
+ - `--executor <tool>` -- Default CLI tool: gemini|codex|qwen|opencode|claude
37
+ - `--dir <path>` -- Execute specific plan directory (e.g., `scratch/plan-auth-2026-04-20`)
38
+
39
+ **Scope routing:**
40
+
41
+ | Invocation | Behavior |
42
+ |-----------|----------|
43
+ | `execute` (no args) | Find all pending plans for current milestone, execute sequentially |
44
+ | `execute 1` | Find pending plans for phase 1, execute sequentially |
45
+ | `execute --dir scratch/plan-xxx` | Execute the specific plan |
46
+
47
+ **Resolution logic (no-args / phase):**
48
+ ```
49
+ 1. Read state.json.artifacts
50
+ 2. Filter: milestone=target, type=plan, status=completed, AND no corresponding EXC artifact
51
+ 3. If phase specified: further filter by phase=target
52
+ 4. Sort by phase dependency order (roadmap phase order), adhoc last
53
+ 5. Execute each plan sequentially
54
+ ```
55
+
56
+ **Output**: Task summaries written to plan's scratch dir:
57
+ ```
58
+ scratch/plan-{slug}-{date}/
59
+ ├── plan.json
60
+ ├── .task/
61
+ │ ├── TASK-001.json # status updated to completed|blocked
62
+ │ └── TASK-002.json
63
+ └── .summaries/ ← execute writes here
64
+ ├── TASK-001-summary.md
65
+ └── TASK-002-summary.md
66
+ ```
67
+
68
+ **Incremental learning extraction**: After each plan completes, extract strategy adjustments / patterns / pitfalls from `.summaries/` and append to `specs/learnings.md`. Mark artifact `harvested: true`.
69
+
70
+ **Artifact registration**: For each plan executed, register in `state.json.artifacts[]`:
71
+ ```jsonc
72
+ {
73
+ "id": "EXC-{NNN}",
74
+ "type": "execute",
75
+ "milestone": "{current_milestone or null}",
76
+ "phase": "{phase or null}",
77
+ "scope": "{inherited from plan}",
78
+ "path": "{same as plan path}",
79
+ "status": "completed",
80
+ "depends_on": "PLN-{NNN}",
81
+ "harvested": false,
82
+ "created_at": "...",
83
+ "completed_at": "..."
84
+ }
85
+ ```
86
+ </context>
87
+
88
+ <execution>
89
+ ### Pre-flight: team conflict check
90
+
91
+ Before any task execution, run:
92
+ ```
93
+ Bash("maestro collab preflight --phase <phase-number>")
94
+ ```
95
+ If exit code is 1, present warnings and ask whether to proceed.
96
+
97
+ Follow '~/.maestro/workflows/execute.md' completely.
98
+
99
+ **Report format on completion:**
100
+
101
+ ```
102
+ === EXECUTION COMPLETE ===
103
+ Plans executed: {plans_count}
104
+ Completed: {completed_count}/{total_count} tasks
105
+ Failed: {failed_count} tasks
106
+
107
+ Summaries: {plan_dir}/.summaries/
108
+ Tasks: {plan_dir}/.task/
109
+
110
+ Next steps:
111
+ /maestro-verify -- Verify execution results
112
+ /maestro-verify --dir {dir} -- Verify specific plan
113
+ /manage-status -- View project dashboard
114
+ ```
115
+
116
+ If failed tasks exist, suggest /quality-debug for investigation.
117
+ </execution>
118
+
119
+ <error_codes>
120
+ | Code | Severity | Condition | Recovery |
121
+ |------|----------|-----------|----------|
122
+ | E001 | error | No pending plans found | Verify plans exist, run maestro-plan first |
123
+ | E002 | error | Plan directory not found | Check --dir path |
124
+ | E003 | error | plan.json not found in directory | Verify plan.json exists, run maestro-plan first |
125
+ | E004 | error | No pending tasks, all tasks already completed | Check task statuses, reset if needed |
126
+ | W001 | warning | Executor completed with partial failures | Check task dependencies, retry failed wave |
127
+ </error_codes>
128
+
129
+ <success_criteria>
130
+ - [ ] All pending plans identified and executed sequentially
131
+ - [ ] Within each plan: waves executed in parallel, waves串行
132
+ - [ ] `.summaries/TASK-{NNN}-summary.md` written for each completed task
133
+ - [ ] `.task/TASK-{NNN}.json` statuses updated (completed|blocked)
134
+ - [ ] EXC artifact registered in state.json for each plan executed
135
+ - [ ] Incremental learnings extracted to specs/learnings.md
136
+ - [ ] state.json updated with execution progress
137
+ </success_criteria>
@@ -0,0 +1,111 @@
1
+ ---
2
+ name: maestro-fork
3
+ description: Create a worktree for milestone-level parallel development, or sync existing worktree with main
4
+ argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Create a git worktree for an entire milestone, enabling inter-milestone parallel development. All phases within the milestone are owned by the worktree and executed sequentially inside it.
17
+
18
+ Since `.workflow/` is gitignored, this command explicitly copies project context and all milestone phase directories into the worktree. Per-phase parallelism within a milestone is NOT supported.
19
+
20
+ Also supports `--sync` mode to pull latest main branch changes and shared artifacts into an active worktree (prevents source and artifact drift for long-lived worktrees).
21
+
22
+ Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow/worktree-scope.json` marker in the worktree.
23
+ </purpose>
24
+
25
+ <required_reading>
26
+ @~/.maestro/workflows/fork.md
27
+ </required_reading>
28
+
29
+ <deferred_reading>
30
+ - [worktrees.json](~/.maestro/templates/worktrees.json) — read when updating registry
31
+ - [worktree-scope.json](~/.maestro/templates/worktree-scope.json) — read when writing scope marker
32
+ </deferred_reading>
33
+
34
+ <context>
35
+ $ARGUMENTS -- milestone name and optional flags.
36
+
37
+ **Modes:**
38
+
39
+ | Mode | Trigger | Behavior |
40
+ |------|---------|----------|
41
+ | Fork | `-m 2` or `2` | Create worktree for all phases in milestone 2 |
42
+ | Sync | `-m 2 --sync` | Sync existing milestone 2 worktree with main branch |
43
+
44
+ **Flags:**
45
+ - `-m <N>` or bare `<N>`: Milestone number (1-based, maps to `state.json.milestones[]`)
46
+ - `--base <branch>`: Override base branch for worktree creation (default: HEAD)
47
+ - `--sync`: Sync mode — pull main into existing worktree, re-copy shared artifacts
48
+
49
+ **Milestone resolution:** `state.json.milestones[N-1]` → `{name, title, phases: [...]}`
50
+
51
+ **Worktree layout:**
52
+ ```
53
+ .worktrees/m{N}-{slug}/
54
+ ├── .workflow/
55
+ │ ├── worktree-scope.json (scope marker — lists all owned phases)
56
+ │ ├── state.json (scoped to this milestone)
57
+ │ ├── project.md (read-only copy)
58
+ │ ├── roadmap.md (read-only copy)
59
+ │ ├── config.json (read-only copy)
60
+ │ ├── specs/ (read-only copy)
61
+ │ └── phases/
62
+ │ ├── {NN}-{slug}/ (owned — all phases in milestone)
63
+ │ └── {dep}-{dep-slug}/ (read-only dependency reference from prior milestones)
64
+ └── <source code> (git worktree checkout)
65
+ ```
66
+ </context>
67
+
68
+ <execution>
69
+ Follow '~/.maestro/workflows/fork.md' completely.
70
+
71
+ **Next-step routing on completion:**
72
+
73
+ Fork mode:
74
+ - Enter worktree → `cd {wt.path} && /maestro-analyze {first_phase}`
75
+ - Automated → `maestro delegate "run full lifecycle for milestone" --cd {wt.path} --mode write`
76
+ - Status → Skill({ skill: "manage-status" })
77
+
78
+ Sync mode:
79
+ - Sync complete → resume work in worktree
80
+ - Conflicts found → resolve manually, then retry
81
+ </execution>
82
+
83
+ <error_codes>
84
+ | Code | Severity | Condition | Recovery |
85
+ |------|----------|-----------|----------|
86
+ | E001 | error | Project not initialized | Run maestro-init first |
87
+ | E002 | error | No roadmap found | Run maestro-roadmap first |
88
+ | E003 | error | Running inside a worktree | Run from main worktree |
89
+ | E004 | error | No milestone number provided | Provide `-m <N>` |
90
+ | E005 | error | No milestones defined in state.json | Run maestro-roadmap first |
91
+ | E006 | error | Milestone number out of range | Check available milestones |
92
+ | E007 | error | No active worktree for milestone (--sync) | Check worktrees.json |
93
+ | E008 | error | Milestone already has active worktree | Merge or cleanup first |
94
+ </error_codes>
95
+
96
+ <success_criteria>
97
+ Fork mode:
98
+ - [ ] Milestone phases identified from roadmap
99
+ - [ ] Git worktree created with branch (`milestone/{slug}`)
100
+ - [ ] `.workflow/` context copied into worktree (all milestone phases + dependency phases)
101
+ - [ ] `worktree-scope.json` written with all owned phase numbers
102
+ - [ ] Scoped `state.json` written (current_phase = first pending phase)
103
+ - [ ] `worktrees.json` registry updated in main worktree
104
+ - [ ] Milestone phase indexes marked as "forked" in main worktree
105
+ - [ ] Summary displayed with next-step commands
106
+
107
+ Sync mode:
108
+ - [ ] Git merge main into worktree branch
109
+ - [ ] Shared artifacts re-copied (project.md, roadmap.md, config.json, specs/)
110
+ - [ ] Conflicts reported if any
111
+ </success_criteria>
@@ -48,13 +48,13 @@ Created:
48
48
  .workflow/specs/
49
49
 
50
50
  Next steps (choose one path to create roadmap):
51
- Skill({ skill: "maestro-spec-generate", args: "<idea>" }) -- Full spec package + roadmap (heavy)
52
- Skill({ skill: "maestro-roadmap", args: "<requirement>" }) -- Direct interactive roadmap (light)
51
+ /maestro-spec-generate <idea> -- Full spec package + roadmap (heavy)
52
+ /maestro-roadmap <requirement> -- Direct interactive roadmap (light)
53
53
 
54
54
  Other commands:
55
- Skill({ skill: "manage-status" }) -- View project dashboard
56
- Skill({ skill: "maestro-brainstorm", args: "<topic>" }) -- Explore ideas first
57
- Skill({ skill: "maestro-quick", args: "<task>" }) -- Quick ad-hoc task
55
+ /manage-status -- View project dashboard
56
+ /maestro-brainstorm <topic> -- Explore ideas first
57
+ /maestro-quick <task> -- Quick ad-hoc task
58
58
  ```
59
59
  </execution>
60
60
 
@@ -70,7 +70,7 @@ Other commands:
70
70
  <success_criteria>
71
71
  - [ ] Deep questioning completed (threads followed, not rushed) — or extracted from document/brainstorm
72
72
  - [ ] `.workflow/project.md` created with Core Value, Requirements (Validated/Active/Out of Scope), Key Decisions
73
- - [ ] `.workflow/state.json` created and initialized to idle state
73
+ - [ ] `.workflow/state.json` created with artifacts[] array, initialized to idle state
74
74
  - [ ] `.workflow/config.json` created with user-selected granularity, workflow agents, gate preferences
75
75
  - [ ] `.workflow/specs/` initialized with convention files
76
76
  - [ ] Research completed (if enabled) — 4 parallel agents spawned