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,59 +1,67 @@
1
- ---
2
- name: maestro-milestone-complete
3
- description: Archive completed milestone and prepare for next
4
- argument-hint: "[<milestone>]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Bash
9
- - Glob
10
- - Grep
11
- - Agent
12
- - AskUserQuestion
13
- ---
14
-
15
- <purpose>
16
- Mark a milestone as complete after its audit has passed. Validates that the audit report exists and shows a passing verdict, archives the milestone by updating state.json, generates a milestone summary document capturing key outcomes and learnings, and prepares the project state for the next milestone.
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/milestone-complete.md
21
- </required_reading>
22
-
23
- <context>
24
- Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json).
25
-
26
- **Requires:** Skill({ skill: "maestro-milestone-audit" }) should have passed (all phases completed, no integration gaps).
27
-
28
- **State files:**
29
- - `.workflow/state.json` -- current_milestone, milestones array
30
- - `.workflow/roadmap.md` -- milestone structure
31
- - `.workflow/milestones/{milestone}/audit-report.md` -- audit results
32
- </context>
33
-
34
- <execution>
35
- Follow '~/.maestro/workflows/milestone-complete.md' completely.
36
-
37
- **Next-step routing on completion:**
38
- - Cut a release for this milestone → Skill({ skill: "maestro-milestone-release" })
39
- - Next milestone has phases → Skill({ skill: "maestro-plan", args: "{next_milestone_first_phase}" })
40
- - Need to capture learnings → Skill({ skill: "manage-memory-capture", args: "compact" })
41
- - View updated project stateSkill({ skill: "manage-status" })
42
- </execution>
43
-
44
- <error_codes>
45
- | Code | Severity | Condition | Recovery |
46
- |------|----------|-----------|----------|
47
- | E001 | error | Milestone identifier required | Check arguments format, re-run with correct input |
48
- | E002 | error | Audit not passed (report missing or verdict FAIL) | Run maestro-milestone-audit first |
49
- | E003 | error | Incomplete phases remain in this milestone | Complete remaining phases before milestone completion |
50
- </error_codes>
51
-
52
- <success_criteria>
53
- - [ ] Audit report verified as PASS before proceeding
54
- - [ ] Milestone marked complete in state.json with timestamp
55
- - [ ] Milestone summary generated with outcomes and learnings
56
- - [ ] Roadmap snapshot saved to milestones directory
57
- - [ ] project.md Context updated with milestone summary and key learnings
58
- - [ ] state.json updated with next milestone as current
59
- </success_criteria>
1
+ ---
2
+ name: maestro-milestone-complete
3
+ description: Archive completed milestone and prepare for next
4
+ argument-hint: "[<milestone>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Agent
12
+ - AskUserQuestion
13
+ ---
14
+
15
+ <purpose>
16
+ Mark a milestone as complete after its audit has passed. Archives all scratch artifacts to `milestones/{M}/artifacts/`, moves artifact entries from `state.json.artifacts[]` to `milestone_history`, extracts final learnings, and advances to the next milestone.
17
+ </purpose>
18
+
19
+ <required_reading>
20
+ @~/.maestro/workflows/milestone-complete.md
21
+ </required_reading>
22
+
23
+ <context>
24
+ Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json).
25
+
26
+ **Requires:** `/maestro-milestone-audit` should have passed.
27
+
28
+ **State files:**
29
+ - `.workflow/state.json` artifacts[], milestones[], current_milestone, milestone_history[]
30
+ - `.workflow/roadmap.md` milestone structure
31
+ - `.workflow/milestones/{milestone}/audit-report.md` audit results
32
+ </context>
33
+
34
+ <execution>
35
+ Follow '~/.maestro/workflows/milestone-complete.md' completely.
36
+
37
+ **Archive flow:**
38
+ 1. Validate audit passed + all artifacts completed
39
+ 2. Move scratch dirs to `milestones/{M}/artifacts/`
40
+ 3. Move artifact entries to `milestone_history[M].archived_artifacts`
41
+ 4. Extract learnings from summaries`specs/learnings.md`
42
+ 5. Update state.json: advance to next milestone, clear artifacts[]
43
+ 6. Clean scratch dirs
44
+
45
+ **Next-step routing on completion:**
46
+ - Cut a release → `/maestro-milestone-release`
47
+ - Next milestone `/maestro-analyze` or `/maestro-plan 1`
48
+ - View state `/manage-status`
49
+ </execution>
50
+
51
+ <error_codes>
52
+ | Code | Severity | Condition | Recovery |
53
+ |------|----------|-----------|----------|
54
+ | E001 | error | Milestone identifier required | Check arguments |
55
+ | E002 | error | Audit not passed | Run maestro-milestone-audit first |
56
+ | E003 | error | Incomplete artifacts remain | Complete remaining work first |
57
+ </error_codes>
58
+
59
+ <success_criteria>
60
+ - [ ] Audit report verified as PASS
61
+ - [ ] Scratch artifacts moved to milestones/{M}/artifacts/
62
+ - [ ] Artifact entries archived to milestone_history
63
+ - [ ] Learnings extracted to specs/learnings.md
64
+ - [ ] state.json updated: next milestone as current, artifacts[] cleared
65
+ - [ ] Roadmap snapshot saved
66
+ - [ ] project.md Context updated with milestone summary
67
+ </success_criteria>
@@ -14,7 +14,7 @@ allowed-tools:
14
14
  ---
15
15
 
16
16
  <purpose>
17
- Package a completed milestone into a releasable version. Bumps the project version (e.g. `package.json`, `pyproject.toml`, or language-specific manifest), generates or appends a changelog entry from phase/milestone summaries and git log, creates an annotated git tag, and optionally pushes to the remote. Runs after Skill({ skill: "maestro-milestone-complete" }) has archived the milestone; serves as the final delivery step in the SDLC loop.
17
+ Package a completed milestone into a releasable version. Bumps the project version (e.g. `package.json`, `pyproject.toml`, or language-specific manifest), generates or appends a changelog entry from phase/milestone summaries and git log, creates an annotated git tag, and optionally pushes to the remote. Runs after `/maestro-milestone-complete` has archived the milestone; serves as the final delivery step in the SDLC loop.
18
18
  </purpose>
19
19
 
20
20
  <required_reading>
@@ -39,7 +39,7 @@ $ARGUMENTS -- optional explicit version string and flags.
39
39
  - Version manifest -- `package.json` / `pyproject.toml` / `Cargo.toml` / etc. (auto-detected)
40
40
 
41
41
  **Preconditions:**
42
- - Current milestone must be completed (audit PASS + Skill({ skill: "maestro-milestone-complete" }) run)
42
+ - Current milestone must be completed (audit PASS + `/maestro-milestone-complete` run)
43
43
  - Working tree must be clean (no uncommitted changes) unless `--dry-run`
44
44
  </context>
45
45
 
@@ -65,8 +65,8 @@ Changelog: {N} entries written to CHANGELOG.md
65
65
  Manifest: {file_path} updated
66
66
 
67
67
  Next steps:
68
- Skill({ skill: "maestro-plan", args: "{next_phase}" }) -- Start next milestone's first phase
69
- Skill({ skill: "manage-status" }) -- View project dashboard
68
+ /maestro-plan {next_phase} -- Start next milestone's first phase
69
+ /manage-status -- View project dashboard
70
70
  ```
71
71
 
72
72
  For `--dry-run`, print the computed version, changelog diff, and tag name without side effects.
@@ -75,8 +75,8 @@ For `--dry-run`, print the computed version, changelog diff, and tag name withou
75
75
  <error_codes>
76
76
  | Code | Severity | Condition | Recovery |
77
77
  |------|----------|-----------|----------|
78
- | E001 | error | Current milestone not completed (no milestone-complete run) | Run Skill({ skill: "maestro-milestone-complete" }) first |
79
- | E002 | error | Audit verdict not PASS | Re-run Skill({ skill: "maestro-milestone-audit" }) and resolve findings |
78
+ | E001 | error | Current milestone not completed (no milestone-complete run) | Run `/maestro-milestone-complete` first |
79
+ | E002 | error | Audit verdict not PASS | Re-run `/maestro-milestone-audit` and resolve findings |
80
80
  | E003 | error | Working tree not clean (uncommitted changes) | Commit or stash changes, then retry |
81
81
  | E004 | error | Version manifest not found / unsupported | Add supported manifest or pass `<version>` explicitly with `--no-tag` |
82
82
  | E005 | error | Target version not greater than current (would break semver monotonicity) | Choose a higher version or run with explicit `<version>` |
@@ -1,130 +1,151 @@
1
- ---
2
- name: maestro-plan
3
- description: Explore, clarify, plan, check, and confirm a phase execution plan
4
- argument-hint: "<phase> [--collab] [--spec SPEC-xxx] [--auto] [--gaps] [--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
- Create a verified execution plan (plan.json + .task/TASK-*.json) for a roadmap phase through a 5-stage pipeline: Exploration, Clarification, Planning, Plan Checking, and Confirmation. Invoked when a phase is ready to be planned after init/brainstorm. Produces plan.json with waves, task definitions, and user-confirmed execution strategy.
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/plan.md
21
- </required_reading>
22
-
23
- <deferred_reading>
24
- - [plan.json](~/.maestro/templates/plan.json) — read when generating plan output
25
- - [task.json](~/.maestro/templates/task.json) — read when generating task files
26
- - [index.json](~/.maestro/templates/index.json) — read when updating phase index
27
- </deferred_reading>
28
-
29
- <context>
30
- Phase: $ARGUMENTS (required -- phase number or slug)
31
-
32
- **Flags:**
33
- - `--collab` -- Multi-planner collaborative mode (spawn N workflow-collab-planner agents with pre-allocated TASK ID ranges)
34
- - `--spec SPEC-xxx` -- Reference a task-spec for requirements input
35
- - `--auto` -- Skip interactive clarification (P2), use defaults
36
- - `--gaps` -- Gap closure mode: load verification.json gaps, skip exploration, plan only gap fixes
37
- - `--dir <path>` -- Use arbitrary directory instead of phase resolution (scratch mode, skip roadmap validation)
38
-
39
- Context files resolved from `.workflow/phases/{NN}-{slug}/` (or `--dir` path):
40
- - context.md (user decisions from Skill({ skill: "maestro-analyze" }))
41
- - index.json (phase metadata)
42
- - spec-ref from index.json (if set)
43
- - codebase/doc-index.json (if exists)
44
- - Wiki prior knowledge via `maestro wiki search` (offline, graceful degradation)
45
- </context>
46
-
47
- <execution>
48
- ### Pre-flight: team conflict check
49
-
50
- Before starting the plan pipeline, run:
51
- ```
52
- Bash("maestro team preflight --phase <phase-number>")
53
- ```
54
- 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.
55
-
56
- If exit code is 0, or `maestro team preflight` is unavailable (e.g., team mode not enabled), continue normally.
57
-
58
- Follow '~/.maestro/workflows/plan.md' completely.
59
-
60
- ### Wiki Knowledge Search (P1 addition)
61
-
62
- During P1 Context Collection, after loading context files and before parallel exploration (step 5), search the wiki for prior knowledge related to the phase:
63
-
64
- ```
65
- // Extract search keywords from phase goal/title in index.json
66
- phase_keywords = extract key terms from index.json goal + title (2-5 terms)
67
-
68
- // Run wiki search (offline mode, no --live flag)
69
- wiki_result = Bash("maestro wiki search ${phase_keywords} --json 2>/dev/null")
70
-
71
- IF wiki_result exit code != 0 OR wiki_result is empty OR parse fails:
72
- display "W003: Wiki search unavailable, continuing without prior knowledge"
73
- wiki_context = ""
74
- ELSE:
75
- entries = JSON.parse(wiki_result).entries (limit to first 10)
76
- IF entries.length == 0:
77
- wiki_context = "## Wiki Prior Knowledge\nNo related wiki entries found."
78
- ELSE:
79
- wiki_context = "## Wiki Prior Knowledge\n"
80
- FOR each entry in entries:
81
- wiki_context += "- [${entry.type}] ${entry.id}: ${entry.title}"
82
- IF entry.summary:
83
- wiki_context += " — ${entry.summary}"
84
- wiki_context += "\n"
85
-
86
- // Inject wiki_context into exploration context alongside other P1 outputs
87
- ```
88
-
89
- This step uses offline mode by default (no `--live` flag) so it works without the dashboard running. The structured `## Wiki Prior Knowledge` block is passed to downstream planning stages as additional context.
90
-
91
- **Report format on completion:**
92
-
93
- ```
94
- === PLAN READY ===
95
- Phase: {phase_name}
96
- Tasks: {task_count} tasks in {wave_count} waves
97
- Check: {checker_status} (iteration {check_count}/{max_checks})
98
-
99
- Plan: {phase_dir}/plan.json
100
- Tasks: {phase_dir}/.task/TASK-*.json
101
-
102
- Next steps:
103
- Skill({ skill: "maestro-execute", args: "{phase}" }) -- Execute the plan
104
- Skill({ skill: "maestro-plan", args: "{phase}" }) -- Re-plan with modifications
105
-
106
- Note: If this was a --gaps plan, after execute run Skill({ skill: "maestro-verify", args: "{phase}" }) to confirm gaps are closed.
107
- ```
108
- </execution>
109
-
110
- <error_codes>
111
- | Code | Severity | Condition | Recovery |
112
- |------|----------|-----------|----------|
113
- | E001 | error | Phase argument required | Check arguments format, re-run with correct input |
114
- | E002 | error | Phase directory not found | Check arguments format, re-run with correct input |
115
- | E003 | error | --gaps requires verification.json to exist | Check arguments format, re-run with correct input |
116
- | W001 | warning | Exploration agent returned incomplete results | Retry exploration or proceed with available context |
117
- | W002 | warning | Plan-checker found minor issues, continuing | Review plan-checker feedback, adjust plan if needed |
118
- | W003 | warning | Wiki search unavailable or returned no results | Continue without prior knowledge context |
119
- </error_codes>
120
-
121
- <success_criteria>
122
- - [ ] plan.json written to phase directory with summary, approach, task_ids, waves
123
- - [ ] .task/TASK-*.json files created for each task
124
- - [ ] Every task has `read_first[]` with at least the file being modified + source of truth files
125
- - [ ] Every task has `convergence.criteria[]` with grep-verifiable conditions (no subjective language)
126
- - [ ] Every task `action` and `implementation` contain concrete values (no "align X with Y")
127
- - [ ] Plan-checker passed (or minor issues acknowledged)
128
- - [ ] User confirmation captured (execute/modify/cancel)
129
- - [ ] index.json updated with plan status and timestamps
130
- </success_criteria>
1
+ ---
2
+ name: maestro-plan
3
+ description: Explore, clarify, plan, check, and confirm a phase execution plan
4
+ argument-hint: "[phase] [--collab] [--spec SPEC-xxx] [--auto] [--gaps] [--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
+ Create a verified execution plan (plan.json + .task/TASK-*.json) through a 5-stage pipeline: Exploration, Clarification, Planning, Plan Checking, and Confirmation. Produces plan.json with waves, task definitions, and user-confirmed execution strategy.
17
+
18
+ All plan output goes to `.workflow/scratch/plan-{slug}-{date}/`. Registers PLN artifact in state.json. Performs collision detection against other plans in same milestone.
19
+ </purpose>
20
+
21
+ <required_reading>
22
+ @~/.maestro/workflows/plan.md
23
+ </required_reading>
24
+
25
+ <deferred_reading>
26
+ - [plan.json](~/.maestro/templates/plan.json) — read when generating plan output
27
+ - [task.json](~/.maestro/templates/task.json) — read when generating task files
28
+ - [state.json](~/.maestro/templates/state.json) — read when registering artifact
29
+ </deferred_reading>
30
+
31
+ <context>
32
+ $ARGUMENTS — phase number, or no args for milestone-wide planning, with optional flags.
33
+
34
+ **Flags:**
35
+ - `--collab` -- Multi-planner collaborative mode (spawn N workflow-collab-planner agents with pre-allocated TASK ID ranges)
36
+ - `--spec SPEC-xxx` -- Reference a task-spec for requirements input
37
+ - `--auto` -- Skip interactive clarification (P2), use defaults
38
+ - `--gaps` -- Gap closure mode: load verification/issue gaps, skip exploration, plan only gap fixes
39
+ - `--dir <path>` -- Use arbitrary scratch directory as context source (e.g., from analyze session)
40
+
41
+ **Scope routing:**
42
+
43
+ | Invocation | Precondition | Scope | Behavior |
44
+ |-----------|-------------|-------|----------|
45
+ | `plan` (no args) | init + roadmap | milestone | Plan all phases in current milestone |
46
+ | `plan 1` | init + roadmap | phase | Plan phase 1 only |
47
+ | `plan --dir scratch/analyze-xxx` | none | inherited | Plan against specified analyze session |
48
+
49
+ **Upstream context:**
50
+ - Reads `context.md` from prior analyze artifact (auto-discovered from state.json or via --dir)
51
+ - Reads `conclusions.json` if available (implementation_scope seeds task generation)
52
+
53
+ **Output directory**: `scratch/plan-{slug}-{date}/` (relative to `.workflow/`)
54
+
55
+ **Output structure:**
56
+ ```
57
+ scratch/plan-{slug}-{date}/
58
+ ├── plan.json # summary, task_ids[], waves[] with phase labels
59
+ └── .task/
60
+ ├── TASK-001.json # { phase: 1, phase_slug: "auth", ... }
61
+ ├── TASK-002.json
62
+ └── ...
63
+ ```
64
+
65
+ **Collision detection**: After plan generation, before user confirmation, check for file overlaps with existing plans in same milestone. Non-blocking warning only.
66
+
67
+ **Artifact registration**: On completion, register in `state.json.artifacts[]`:
68
+ ```jsonc
69
+ {
70
+ "id": "PLN-{NNN}",
71
+ "type": "plan",
72
+ "milestone": "{current_milestone or null}",
73
+ "phase": "{phase_number or null}",
74
+ "scope": "{milestone|phase|adhoc|standalone}",
75
+ "path": "scratch/plan-{slug}-{date}",
76
+ "status": "completed",
77
+ "depends_on": "{ANL-NNN or null}",
78
+ "harvested": false,
79
+ "created_at": "...",
80
+ "completed_at": "..."
81
+ }
82
+ ```
83
+ </context>
84
+
85
+ <execution>
86
+ ### Pre-flight: team conflict check
87
+
88
+ Before starting the plan pipeline, run:
89
+ ```
90
+ Bash("maestro collab preflight --phase <phase-number>")
91
+ ```
92
+ If exit code is 1, present warnings and ask whether to proceed.
93
+
94
+ Follow '~/.maestro/workflows/plan.md' completely.
95
+
96
+ ### Wiki Knowledge Search (P1 addition)
97
+
98
+ During P1 Context Collection, after loading context files and before parallel exploration (step 5), search the wiki for prior knowledge related to the phase:
99
+
100
+ ```
101
+ phase_keywords = extract key terms from goal/title (2-5 terms)
102
+ wiki_result = Bash("maestro wiki search ${phase_keywords} --json 2>/dev/null")
103
+
104
+ IF wiki_result exit code != 0 OR empty:
105
+ display "W003: Wiki search unavailable, continuing without prior knowledge"
106
+ ELSE:
107
+ entries = JSON.parse(wiki_result).entries (limit to first 10)
108
+ wiki_context = structured block for downstream stages
109
+ ```
110
+
111
+ **Report format on completion:**
112
+
113
+ ```
114
+ === PLAN READY ===
115
+ Phase: {phase_name}
116
+ Tasks: {task_count} tasks in {wave_count} waves
117
+ Check: {checker_status} (iteration {check_count}/{max_checks})
118
+ Collision: {collision_status}
119
+
120
+ Plan: {scratch_dir}/plan.json
121
+ Tasks: {scratch_dir}/.task/TASK-*.json
122
+
123
+ Next steps:
124
+ /maestro-execute -- Execute the plan
125
+ /maestro-execute --dir {dir} -- Execute specific plan
126
+ /maestro-plan {phase} -- Re-plan with modifications
127
+ ```
128
+ </execution>
129
+
130
+ <error_codes>
131
+ | Code | Severity | Condition | Recovery |
132
+ |------|----------|-----------|----------|
133
+ | E001 | error | No args and no roadmap (cannot determine scope) | Provide phase number or topic, or create roadmap |
134
+ | E003 | error | --gaps requires prior verification/issues to exist | Run maestro-verify first |
135
+ | W001 | warning | Exploration agent returned incomplete results | Retry exploration or proceed with available context |
136
+ | W002 | warning | Plan-checker found minor issues, continuing | Review plan-checker feedback, adjust plan if needed |
137
+ | W003 | warning | Wiki search unavailable or returned no results | Continue without prior knowledge context |
138
+ | W004 | warning | Collision detected with existing plan | Review colliding files, confirm or adjust scope |
139
+ </error_codes>
140
+
141
+ <success_criteria>
142
+ - [ ] plan.json written to scratch directory with summary, approach, task_ids, waves (with phase labels)
143
+ - [ ] .task/TASK-*.json files created for each task
144
+ - [ ] Every task has `read_first[]` with at least the file being modified + source of truth files
145
+ - [ ] Every task has `convergence.criteria[]` with grep-verifiable conditions (no subjective language)
146
+ - [ ] Every task `action` and `implementation` contain concrete values (no "align X with Y")
147
+ - [ ] Collision detection executed against same-milestone plans (non-blocking)
148
+ - [ ] Plan-checker passed (or minor issues acknowledged)
149
+ - [ ] User confirmation captured (execute/modify/cancel)
150
+ - [ ] Artifact registered in state.json with correct scope/milestone/phase/depends_on
151
+ </success_criteria>
@@ -33,10 +33,10 @@ Parse for:
33
33
  Follow '~/.maestro/workflows/quick.md' completely.
34
34
 
35
35
  **Next-step routing on completion:**
36
- - Task done, --full verification passed → Skill({ skill: "manage-status" })
37
- - Task done, verification found gaps → Skill({ skill: "quality-debug", args: "{issue}" })
38
- - Task done, want to sync docs → Skill({ skill: "quality-sync" })
39
- - Need a full phase workflow instead → Skill({ skill: "maestro-plan", args: "{phase}" })
36
+ - Task done, --full verification passed → /manage-status
37
+ - Task done, verification found gaps → /quality-debug {issue}
38
+ - Task done, want to sync docs → /quality-sync
39
+ - Need a full phase workflow instead → /maestro-plan {phase}
40
40
  </execution>
41
41
 
42
42
  <error_codes>
@@ -66,10 +66,10 @@ Auto-selection: ≥3 high uncertainty factors → Progressive, ≥3 low → Dire
66
66
  Follow '~/.maestro/workflows/roadmap.md' completely.
67
67
 
68
68
  **Next-step routing on completion:**
69
- - Roadmap approved → Skill({ skill: "maestro-analyze", args: "1" })
70
- - Simple project, skip analysis → Skill({ skill: "maestro-plan", args: "1" })
71
- - Need UI design first → Skill({ skill: "maestro-ui-design", args: "1" })
72
- - View project dashboard → Skill({ skill: "manage-status" })
69
+ - Roadmap approved → /maestro-analyze 1
70
+ - Simple project, skip analysis → /maestro-plan 1
71
+ - Need UI design first → /maestro-ui-design 1
72
+ - View project dashboard → /manage-status
73
73
  </execution>
74
74
 
75
75
  <error_codes>
@@ -91,5 +91,5 @@ Follow '~/.maestro/workflows/roadmap.md' completely.
91
91
  - [ ] No circular dependencies in phase ordering
92
92
  - [ ] User approved roadmap (or auto-approved with -y)
93
93
  - [ ] `.workflow/roadmap.md` written with phase details, scope decisions, and progress table
94
- - [ ] Phase directories created under `.workflow/phases/`
94
+ - [ ] No phase directories created (phases are labels in roadmap, not directories)
95
95
  </success_criteria>
@@ -38,7 +38,7 @@ $ARGUMENTS -- idea text, @file reference to requirements document, or brainstorm
38
38
  **Input types:**
39
39
  - Direct text: `"Build a real-time collaboration platform"`
40
40
  - File reference: `@requirements.md` or `@design-brief.txt`
41
- - Brainstorm import: `--from-brainstorm WFS-xxx` (reads `.workflow/scratch/brainstorm-*/` or `.workflow/phases/*/`)
41
+ - Brainstorm import: `--from-brainstorm WFS-xxx` (reads `.workflow/scratch/brainstorm-*/`)
42
42
 
43
43
  **Output location:** `.workflow/.spec/SPEC-{slug}-{YYYY-MM-DD}/`
44
44
 
@@ -62,10 +62,10 @@ maestro-init → maestro-roadmap → roadmap.md directly
62
62
  Follow '~/.maestro/workflows/spec-generate.md' completely.
63
63
 
64
64
  **Next-step routing on completion:**
65
- - Roadmap generated, ready to plan → Skill({ skill: "maestro-plan", args: "1" })
66
- - Need UI design first → Skill({ skill: "maestro-ui-design", args: "1" })
67
- - Need analysis before planning → Skill({ skill: "maestro-analyze", args: "1" })
68
- - View project dashboard → Skill({ skill: "manage-status" })
65
+ - Roadmap generated, ready to plan → /maestro-plan 1
66
+ - Need UI design first → /maestro-ui-design 1
67
+ - Need analysis before planning → /maestro-analyze 1
68
+ - View project dashboard → /manage-status
69
69
  </execution>
70
70
 
71
71
  <error_codes>
@@ -109,9 +109,9 @@ Design System:
109
109
  Compare: {phase_dir}/design-ref/prototypes/compare.html
110
110
 
111
111
  Next steps:
112
- Skill({ skill: "maestro-plan", args: "{phase}" }) -- Plan with design reference
113
- Skill({ skill: "maestro-ui-design", args: "{phase} --refine" }) -- Refine selected design
114
- Skill({ skill: "maestro-analyze", args: "{phase}" }) -- Analyze before planning
112
+ /maestro-plan {phase} -- Plan with design reference
113
+ /maestro-ui-design {phase} --refine -- Refine selected design
114
+ /maestro-analyze {phase} -- Analyze before planning
115
115
  ```
116
116
  </execution>
117
117