maestro-flow 0.3.8 → 0.3.10

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 (312) 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 +6 -6
  5. package/.claude/commands/learn-second-opinion.md +3 -3
  6. package/.claude/commands/maestro-analyze.md +166 -99
  7. package/.claude/commands/maestro-brainstorm.md +2 -2
  8. package/.claude/commands/maestro-execute.md +151 -97
  9. package/.claude/commands/maestro-fork.md +111 -0
  10. package/.claude/commands/maestro-init.md +6 -6
  11. package/.claude/commands/maestro-merge.md +77 -0
  12. package/.claude/commands/maestro-milestone-audit.md +72 -60
  13. package/.claude/commands/maestro-milestone-complete.md +67 -59
  14. package/.claude/commands/maestro-milestone-release.md +6 -6
  15. package/.claude/commands/maestro-plan.md +167 -130
  16. package/.claude/commands/maestro-quick.md +4 -4
  17. package/.claude/commands/maestro-roadmap.md +5 -5
  18. package/.claude/commands/maestro-spec-generate.md +5 -5
  19. package/.claude/commands/maestro-ui-design.md +3 -3
  20. package/.claude/commands/maestro-verify.md +106 -87
  21. package/.claude/commands/maestro.md +10 -4
  22. package/.claude/commands/manage-codebase-rebuild.md +4 -4
  23. package/.claude/commands/manage-codebase-refresh.md +1 -1
  24. package/.claude/commands/manage-harvest.md +6 -6
  25. package/.claude/commands/manage-issue-discover.md +2 -2
  26. package/.claude/commands/manage-issue.md +7 -7
  27. package/.claude/commands/manage-learn.md +2 -2
  28. package/.claude/commands/manage-memory-capture.md +4 -4
  29. package/.claude/commands/manage-memory.md +2 -2
  30. package/.claude/commands/manage-status.md +24 -24
  31. package/.claude/commands/quality-business-test.md +5 -5
  32. package/.claude/commands/quality-debug.md +4 -4
  33. package/.claude/commands/quality-integration-test.md +4 -4
  34. package/.claude/commands/quality-refactor.md +3 -3
  35. package/.claude/commands/quality-retrospective.md +2 -2
  36. package/.claude/commands/quality-review.md +4 -4
  37. package/.claude/commands/quality-sync.md +3 -3
  38. package/.claude/commands/quality-test-gen.md +4 -4
  39. package/.claude/commands/quality-test.md +9 -9
  40. package/.claude/commands/spec-add.md +2 -2
  41. package/.claude/commands/spec-load.md +1 -1
  42. package/.claude/commands/spec-setup.md +5 -5
  43. package/.claude/commands/wiki-connect.md +3 -3
  44. package/.claude/commands/wiki-digest.md +4 -4
  45. package/.codex/skills/maestro/SKILL.md +463 -0
  46. package/.codex/skills/maestro-analyze/SKILL.md +79 -20
  47. package/.codex/skills/maestro-chain/SKILL.md +248 -0
  48. package/.codex/skills/maestro-coordinate/SKILL.md +279 -224
  49. package/.codex/skills/maestro-execute/SKILL.md +35 -26
  50. package/.codex/skills/maestro-milestone-audit/SKILL.md +103 -209
  51. package/.codex/skills/maestro-milestone-complete/SKILL.md +149 -158
  52. package/.codex/skills/maestro-plan/SKILL.md +56 -18
  53. package/.codex/skills/maestro-roadmap/SKILL.md +3 -2
  54. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +2 -2
  55. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +1 -1
  56. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +2 -2
  57. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +2 -2
  58. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +1 -1
  59. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +1 -1
  60. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +1 -1
  61. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +1 -1
  62. package/README.md +26 -21
  63. package/README.zh-CN.md +23 -19
  64. package/bin/maestro-mcp.js +1 -1
  65. package/chains/_intent-map.json +21 -9
  66. package/chains/_router.json +30 -77
  67. package/chains/brainstorm-driven.json +17 -6
  68. package/chains/full-lifecycle.json +22 -23
  69. package/chains/issue-lifecycle.json +13 -13
  70. package/chains/milestone-close.json +20 -7
  71. package/chains/milestone-fork-merge.json +50 -0
  72. package/chains/roadmap-driven.json +17 -6
  73. package/chains/singles/issue-analyze.json +3 -3
  74. package/chains/singles/issue-execute.json +3 -3
  75. package/chains/singles/issue-plan.json +3 -3
  76. package/chains/spec-driven.json +17 -6
  77. package/dashboard/dist/assets/{ArtifactsPage-BmPOu8sO.js → ArtifactsPage-DZNCi6tn.js} +12 -7
  78. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +49 -0
  79. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +22 -0
  80. package/dashboard/dist/assets/CollabPage-B4NAHXS2.js +1 -0
  81. package/dashboard/dist/assets/ExecutionPanel-CFt4LJyq.js +1 -0
  82. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +21 -0
  83. package/dashboard/dist/assets/{MarkdownRenderer-BjZ43aSa.js → MarkdownRenderer-X4af_WNb.js} +1 -1
  84. package/dashboard/dist/assets/McpPage-BKfCVIyU.js +21 -0
  85. package/dashboard/dist/assets/OutputPanel-BlBQFJSW.js +1 -0
  86. package/dashboard/dist/assets/ProblemsPanel-De3DLvoI.js +1 -0
  87. package/dashboard/dist/assets/{RequirementBoardPage-B7yRL0s_.js → RequirementBoardPage-Bf1trzqs.js} +2 -2
  88. package/dashboard/dist/assets/{RequirementPage-D8J_-b6O.js → RequirementPage-Bllxe2XI.js} +10 -5
  89. package/dashboard/dist/assets/{SpecsPage-6lO8v8_C.js → SpecsPage-9lwxKT27.js} +2 -2
  90. package/dashboard/dist/assets/{SupervisorPage-Ds5N378a.js → SupervisorPage-SusdfHFq.js} +1 -1
  91. package/dashboard/dist/assets/{TeamsPage-DrkKr17T.js → TeamsPage-DsuM6OwC.js} +2 -2
  92. package/dashboard/dist/assets/TreeBrowser-Q12qobZs.js +6 -0
  93. package/dashboard/dist/assets/WorkflowPage-D_Fzdy3_.js +6 -0
  94. package/dashboard/dist/assets/{arrow-left-CadP5YgU.js → arrow-left-Bqtb2hle.js} +1 -1
  95. package/dashboard/dist/assets/{check-5xufDzS8.js → check-u6fGOwQO.js} +1 -1
  96. package/dashboard/dist/assets/{chevron-right-CYbpR4ev.js → chevron-right-Csu22t58.js} +1 -1
  97. package/dashboard/dist/assets/{circle-Bm-5Q-Yh.js → circle-CMrkbRNg.js} +1 -1
  98. package/dashboard/dist/assets/{circle-alert-BqcYuT7x.js → circle-alert-c3tH1P4z.js} +1 -1
  99. package/dashboard/dist/assets/{circle-check-big-yyzAFysU.js → circle-check-big-TDSeWstm.js} +1 -1
  100. package/dashboard/dist/assets/{circle-check-DEVzW_lm.js → circle-check-gYxxSYuH.js} +1 -1
  101. package/dashboard/dist/assets/{code-BBdC8Wmw.js → code-CFN2uX9V.js} +1 -1
  102. package/dashboard/dist/assets/{columns-3-CQ9Trztr.js → columns-3-38xIDlzy.js} +1 -1
  103. package/dashboard/dist/assets/{download-DayuF-sn.js → download-DC7KkKyP.js} +1 -1
  104. package/dashboard/dist/assets/{folder-CqXeSKeC.js → folder-CWq_lAnf.js} +1 -1
  105. package/dashboard/dist/assets/index-DWG-WrzT.js +231 -0
  106. package/dashboard/dist/assets/{index-Dru5HYy0.js → index-Do71weNR.js} +1 -1
  107. package/dashboard/dist/assets/index-GUNJodSR.css +1 -0
  108. package/dashboard/dist/assets/{list-DBOD6IUt.js → list-CgIP_2A-.js} +1 -1
  109. package/dashboard/dist/assets/{minus-fQI1Syn2.js → minus-DYoN5UGk.js} +1 -1
  110. package/dashboard/dist/assets/{pen-line-Bkbbngl5.js → pen-line-Bh_WKYHm.js} +1 -1
  111. package/dashboard/dist/assets/{proxy-teW12DdZ.js → proxy-BKxDAKTj.js} +1 -1
  112. package/dashboard/dist/assets/{search-Bq3ygFUW.js → search-SieXnOgr.js} +1 -1
  113. package/dashboard/dist/assets/{shallow-22ZN8sFt.js → shallow-Bme1JY57.js} +1 -1
  114. package/dashboard/dist/assets/{table-BEYtdWc4.js → table-llyEtj-7.js} +1 -1
  115. package/dashboard/dist/assets/terminal-BB3Xfuv5.js +6 -0
  116. package/dashboard/dist/assets/{trash-2-DMqGBgcF.js → trash-2-C8f4vFFM.js} +1 -1
  117. package/dashboard/dist/assets/{zap-9DVkGVtt.js → zap-4uwlzVm0.js} +1 -1
  118. package/dashboard/dist/index.html +2 -2
  119. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +8 -4
  120. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  121. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +1 -0
  122. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +2 -1
  123. package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -1
  124. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +20 -10
  125. package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -1
  126. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
  127. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  128. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  129. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  130. package/dashboard/dist-server/dashboard/src/server/routes/git.d.ts +2 -0
  131. package/dashboard/dist-server/dashboard/src/server/routes/git.js +79 -0
  132. package/dashboard/dist-server/dashboard/src/server/routes/git.js.map +1 -0
  133. package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
  134. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  135. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
  136. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  137. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +43 -0
  138. package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -1
  139. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +43 -3
  140. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
  142. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
  144. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
  146. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
  147. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
  148. package/dashboard/dist-server/src/hooks/constants.d.ts +90 -12
  149. package/dashboard/dist-server/src/hooks/constants.js +149 -16
  150. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  151. package/dashboard/dist-server/src/types/index.d.ts +5 -0
  152. package/dashboard/package.json +59 -59
  153. package/dist/src/cli.js +3 -1
  154. package/dist/src/cli.js.map +1 -1
  155. package/dist/src/commands/collab.d.ts +14 -0
  156. package/dist/src/commands/collab.d.ts.map +1 -0
  157. package/dist/src/commands/{team.js → collab.js} +395 -96
  158. package/dist/src/commands/collab.js.map +1 -0
  159. package/dist/src/commands/hooks.d.ts +5 -1
  160. package/dist/src/commands/hooks.d.ts.map +1 -1
  161. package/dist/src/commands/hooks.js +50 -10
  162. package/dist/src/commands/hooks.js.map +1 -1
  163. package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
  164. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  165. package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
  166. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  167. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  168. package/dist/src/commands/install-ui/InstallExecution.js +5 -1
  169. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  170. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  171. package/dist/src/commands/install-ui/InstallFlow.js +7 -3
  172. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  173. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
  174. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  175. package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
  176. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  177. package/dist/src/commands/msg.d.ts.map +1 -1
  178. package/dist/src/commands/msg.js +4 -3
  179. package/dist/src/commands/msg.js.map +1 -1
  180. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
  181. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
  182. package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
  183. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
  184. package/dist/src/hooks/constants.d.ts +90 -12
  185. package/dist/src/hooks/constants.d.ts.map +1 -1
  186. package/dist/src/hooks/constants.js +149 -16
  187. package/dist/src/hooks/constants.js.map +1 -1
  188. package/dist/src/hooks/guards/index.d.ts +1 -0
  189. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  190. package/dist/src/hooks/guards/index.js +1 -0
  191. package/dist/src/hooks/guards/index.js.map +1 -1
  192. package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
  193. package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
  194. package/dist/src/hooks/guards/preflight-guard.js +95 -0
  195. package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
  196. package/dist/src/hooks/index.d.ts +1 -0
  197. package/dist/src/hooks/index.d.ts.map +1 -1
  198. package/dist/src/hooks/index.js +1 -0
  199. package/dist/src/hooks/index.js.map +1 -1
  200. package/dist/src/{commands/team.d.ts → hooks/preflight-core.d.ts} +12 -22
  201. package/dist/src/hooks/preflight-core.d.ts.map +1 -0
  202. package/dist/src/hooks/preflight-core.js +86 -0
  203. package/dist/src/hooks/preflight-core.js.map +1 -0
  204. package/dist/src/hooks/statusline.d.ts +8 -17
  205. package/dist/src/hooks/statusline.d.ts.map +1 -1
  206. package/dist/src/hooks/statusline.js +269 -112
  207. package/dist/src/hooks/statusline.js.map +1 -1
  208. package/dist/src/hooks/team-monitor.d.ts.map +1 -1
  209. package/dist/src/hooks/team-monitor.js +16 -0
  210. package/dist/src/hooks/team-monitor.js.map +1 -1
  211. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  212. package/dist/src/i18n/locales/en.js +5 -0
  213. package/dist/src/i18n/locales/en.js.map +1 -1
  214. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  215. package/dist/src/i18n/locales/zh.js +5 -0
  216. package/dist/src/i18n/locales/zh.js.map +1 -1
  217. package/dist/src/i18n/types.d.ts +5 -0
  218. package/dist/src/i18n/types.d.ts.map +1 -1
  219. package/dist/src/tools/collab-adapter.d.ts +102 -0
  220. package/dist/src/tools/collab-adapter.d.ts.map +1 -0
  221. package/dist/src/tools/collab-adapter.js +458 -0
  222. package/dist/src/tools/collab-adapter.js.map +1 -0
  223. package/dist/src/tools/merge-validator.d.ts +24 -0
  224. package/dist/src/tools/merge-validator.d.ts.map +1 -0
  225. package/dist/src/tools/merge-validator.js +220 -0
  226. package/dist/src/tools/merge-validator.js.map +1 -0
  227. package/dist/src/tools/namespace-guard.d.ts +2 -0
  228. package/dist/src/tools/namespace-guard.d.ts.map +1 -1
  229. package/dist/src/tools/namespace-guard.js +12 -0
  230. package/dist/src/tools/namespace-guard.js.map +1 -1
  231. package/dist/src/tools/phase-gate-evaluator.d.ts +45 -0
  232. package/dist/src/tools/phase-gate-evaluator.d.ts.map +1 -0
  233. package/dist/src/tools/phase-gate-evaluator.js +42 -0
  234. package/dist/src/tools/phase-gate-evaluator.js.map +1 -0
  235. package/dist/src/tools/team-members.d.ts +18 -0
  236. package/dist/src/tools/team-members.d.ts.map +1 -1
  237. package/dist/src/tools/team-members.js +50 -0
  238. package/dist/src/tools/team-members.js.map +1 -1
  239. package/dist/src/tools/team-tasks.d.ts +120 -0
  240. package/dist/src/tools/team-tasks.d.ts.map +1 -0
  241. package/dist/src/tools/team-tasks.js +365 -0
  242. package/dist/src/tools/team-tasks.js.map +1 -0
  243. package/dist/src/tools/transition-recorder.d.ts +3 -0
  244. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  245. package/dist/src/tools/transition-recorder.js +52 -1
  246. package/dist/src/tools/transition-recorder.js.map +1 -1
  247. package/dist/src/types/index.d.ts +5 -0
  248. package/dist/src/types/index.d.ts.map +1 -1
  249. package/dist/src/utils/get-version.d.ts.map +1 -1
  250. package/dist/src/utils/get-version.js +15 -4
  251. package/dist/src/utils/get-version.js.map +1 -1
  252. package/package.json +1 -1
  253. package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
  254. package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
  255. package/templates/config.json +7 -0
  256. package/templates/search-tools.md +1 -1
  257. package/templates/worktree-scope.json +10 -0
  258. package/templates/worktrees.json +27 -0
  259. package/workflows/analyze.md +86 -36
  260. package/workflows/brainstorm.md +17 -37
  261. package/workflows/cli-tools-usage.md +44 -27
  262. package/workflows/delegate-usage.md +3 -3
  263. package/workflows/execute.md +94 -28
  264. package/workflows/fork.md +309 -0
  265. package/workflows/init.md +10 -1
  266. package/workflows/issue-analyze.md +6 -2
  267. package/workflows/issue-discover.md +4 -4
  268. package/workflows/issue-execute.md +6 -3
  269. package/workflows/issue-plan.md +5 -2
  270. package/workflows/issue.md +66 -7
  271. package/workflows/maestro-coordinate.codex.md +281 -470
  272. package/workflows/maestro-coordinate.md +37 -30
  273. package/workflows/maestro-link-coordinate.md +2 -2
  274. package/workflows/maestro.codex.md +710 -0
  275. package/workflows/maestro.md +62 -46
  276. package/workflows/merge.md +285 -0
  277. package/workflows/milestone-audit.md +89 -70
  278. package/workflows/milestone-complete.md +89 -156
  279. package/workflows/plan.md +122 -17
  280. package/workflows/retrospective.md +4 -4
  281. package/workflows/roadmap.md +11 -3
  282. package/workflows/spec-generate.md +9 -0
  283. package/workflows/status.md +76 -27
  284. package/workflows/ui-design.md +14 -12
  285. package/workflows/verify.md +44 -8
  286. package/.claude/commands/maestro-phase-add.md +0 -63
  287. package/.claude/commands/maestro-phase-transition.md +0 -75
  288. package/.claude/commands/manage-issue-analyze.md +0 -62
  289. package/.claude/commands/manage-issue-execute.md +0 -73
  290. package/.claude/commands/manage-issue-plan.md +0 -62
  291. package/.codex/skills/maestro-phase-add/SKILL.md +0 -154
  292. package/.codex/skills/maestro-phase-transition/SKILL.md +0 -173
  293. package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
  294. package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
  295. package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
  296. package/chains/singles/phase-add.json +0 -31
  297. package/chains/singles/phase-transition.json +0 -23
  298. package/dashboard/dist/assets/ChatInput-CL8YDfOU.js +0 -67
  299. package/dashboard/dist/assets/ChatPage-CT-ozBK2.js +0 -8
  300. package/dashboard/dist/assets/CollabPage-C0rWMden.js +0 -1
  301. package/dashboard/dist/assets/KanbanPage-C6WbAlwI.js +0 -16
  302. package/dashboard/dist/assets/McpPage-BPIXADQi.js +0 -16
  303. package/dashboard/dist/assets/TreeBrowser-g_QUKemL.js +0 -11
  304. package/dashboard/dist/assets/WorkflowPage-X8aNkDEr.js +0 -6
  305. package/dashboard/dist/assets/git-branch-SqFf4Ru5.js +0 -6
  306. package/dashboard/dist/assets/index-D2Mtyw7I.css +0 -1
  307. package/dashboard/dist/assets/index-nufWop4p.js +0 -231
  308. package/dashboard/dist/assets/wrench-B84-zdLI.js +0 -11
  309. package/dist/src/commands/team.d.ts.map +0 -1
  310. package/dist/src/commands/team.js.map +0 -1
  311. package/workflows/phase-add.md +0 -252
  312. package/workflows/phase-transition.md +0 -399
@@ -1,158 +1,149 @@
1
- ---
2
- name: maestro-milestone-complete
3
- description: Archive completed milestone and prepare for next. Validates all phases complete, creates archive, extracts learnings, updates state.json.
4
- argument-hint: "[milestone] [--force]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep
6
- ---
7
-
8
- # Milestone Complete
9
-
10
- ## Usage
11
-
12
- ```bash
13
- $maestro-milestone-complete "v1.0"
14
- $maestro-milestone-complete # uses current_milestone from state.json
15
- $maestro-milestone-complete --force "v1.0" # skip audit check
16
- ```
17
-
18
- **Flags**:
19
- - `[milestone]`: Target milestone identifier (default: current_milestone from state.json)
20
- - `--force`: Skip audit verification, complete without passing audit
21
-
22
- **Output**: `.workflow/milestones/{milestone}/` archive directory
23
-
24
- ---
25
-
26
- ## Overview
27
-
28
- Sequential milestone archival: validate audit + phases -> create archive -> extract learnings -> update state -> report.
29
-
30
- ---
31
-
32
- ## Implementation
33
-
34
- ### Step 1: Parse Input
35
-
36
- 1. Read `.workflow/state.json` to get `current_milestone`
37
- 2. If `$ARGUMENTS` contains a milestone identifier, use it; otherwise use `current_milestone`
38
- 3. Detect `--force` flag
39
- 4. If no milestone resolvable: **E001** -- exit
40
-
41
- ### Step 2: Validate Completion
42
-
43
- **2a. Check audit report:**
44
- ```
45
- Read .workflow/milestone-audit-{milestone}.md
46
- ```
47
- - If missing and not `--force`: **E002** -- warn "No audit report found. Run milestone-audit first." Ask user to proceed or abort.
48
- - If verdict is FAIL and not `--force`: **E002** -- exit with suggestion to fix failing items
49
-
50
- **2b. Verify all phases completed:**
51
- ```
52
- For each phase in milestone (from roadmap.md):
53
- Read .workflow/phases/{NN}-{slug}/index.json
54
- If status != "completed": E003 -- list incomplete phases, exit
55
- ```
56
-
57
- ### Step 3: Create Archive
58
-
59
- 1. Create archive directory:
60
- ```bash
61
- mkdir -p .workflow/milestones/{milestone}/phases/
62
- ```
63
-
64
- 2. Snapshot roadmap:
65
- ```bash
66
- cp .workflow/roadmap.md .workflow/milestones/{milestone}/roadmap-snapshot.md
67
- ```
68
-
69
- 3. Archive each phase directory:
70
- ```bash
71
- cp -r .workflow/phases/{NN}-{slug}/ .workflow/milestones/{milestone}/phases/{NN}-{slug}/
72
- ```
73
-
74
- 4. Copy audit report (if exists):
75
- ```bash
76
- cp .workflow/milestone-audit-{milestone}.md .workflow/milestones/{milestone}/audit-report.md
77
- ```
78
-
79
- ### Step 4: Extract Learnings
80
-
81
- 1. Load existing learnings from `.workflow/specs/learnings.md` to avoid duplicates
82
- 2. For each phase, read `reflection-log.md` if exists:
83
- - Extract strategy adjustments, patterns discovered, pitfalls encountered
84
- 3. Append aggregated learnings to `.workflow/specs/learnings.md`:
85
- ```markdown
86
- ## Milestone {milestone} Learnings ({date})
87
-
88
- ### Strategy Adjustments
89
- - {from reflection-log entries}
90
-
91
- ### Patterns Discovered
92
- - {from reflection-log entries}
93
-
94
- ### Pitfalls Encountered
95
- - {from reflection-log entries}
96
- ```
97
-
98
- ### Step 5: Update State
99
-
100
- 1. Update `.workflow/state.json`:
101
- - `current_milestone` -> next version (increment minor)
102
- - `current_phase` -> 1 (reset)
103
- - `status` -> "idle"
104
- - Reset `phases_summary` counters
105
- - Preserve `accumulated_context` (decisions + deferred items carry forward)
106
- - Set `last_updated` timestamp
107
-
108
- 2. Clean up completed phase directories:
109
- ```bash
110
- rm -rf .workflow/phases/{NN}-{slug}/ # for each archived phase
111
- ```
112
- Keep `.workflow/phases/` directory (empty, ready for new milestone).
113
-
114
- ### Step 6: Report and Route
115
-
116
- Display completion summary:
117
- ```
118
- ====================================================
119
- MILESTONE COMPLETED: {milestone}
120
- ====================================================
121
-
122
- Archived:
123
- - {N} phases archived to .workflow/milestones/{milestone}/
124
- - Roadmap snapshot saved
125
- - Audit report archived
126
- - {M} learnings extracted to specs/learnings.md
127
-
128
- State reset:
129
- - Current milestone: {next_milestone}
130
- - Current phase: 1
131
- - Status: idle
132
-
133
- ====================================================
134
- ```
135
-
136
- Suggest next steps:
137
- - "Start planning next milestone?" -> Skill({ skill: "maestro-plan" })
138
- - "Project is idle." -> Skill({ skill: "manage-status" })
139
-
140
- ---
141
-
142
- ## Error Handling
143
-
144
- | Code | Severity | Condition | Recovery |
145
- |------|----------|-----------|----------|
146
- | E001 | error | Milestone identifier required and not resolvable | Prompt user for milestone |
147
- | E002 | error | Audit not passed (missing or FAIL verdict) | Run milestone-audit first, or use --force |
148
- | E003 | error | Incomplete phases remain | Complete or verify remaining phases |
149
-
150
- ---
151
-
152
- ## Core Rules
153
-
154
- - **Never delete** phase directories before archiving -- always copy first
155
- - **Preserve** `accumulated_context` across milestone boundaries
156
- - **Learnings dedup** -- check existing entries before appending
157
- - **Git commit** if in a git repo: `chore: complete milestone {milestone}`
158
- - **--force** bypasses audit check only, not phase completion check
1
+ ---
2
+ name: maestro-milestone-complete
3
+ description: Archive completed milestone scratch artifacts to milestones/ dir, move artifact entries to milestone_history, extract learnings, advance state.
4
+ argument-hint: "[milestone] [--force]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
6
+ ---
7
+
8
+ # Milestone Complete
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ $maestro-milestone-complete "M1"
14
+ $maestro-milestone-complete # uses current_milestone from state.json
15
+ $maestro-milestone-complete --force "M1" # skip audit check
16
+ ```
17
+
18
+ **Output**: `.workflow/milestones/{milestone}/` archive directory
19
+
20
+ ---
21
+
22
+ ## Overview
23
+
24
+ Sequential milestone archival: validate audit → archive scratch dirs → extract learnings → move artifact entries to milestone_history → advance state → clean scratch.
25
+
26
+ ---
27
+
28
+ ## Implementation
29
+
30
+ ### Step 1: Parse & Validate
31
+
32
+ 1. Read `.workflow/state.json` to get `current_milestone`, `artifacts[]`, `milestones[]`
33
+ 2. Determine target milestone (from args or current_milestone)
34
+ 3. Check `--force` flag
35
+ 4. If no milestone: **E001**
36
+ 5. Check audit report exists at `.workflow/milestones/{milestone}/audit-report.md`
37
+ - Missing + not --force: **E002**
38
+ - Verdict FAIL + not --force: **E002**
39
+ 6. Check all milestone artifacts completed:
40
+ - `state.json.artifacts.filter(a => a.milestone == target && a.status != "completed")`
41
+ - If any incomplete + not --force: **E003**
42
+
43
+ ### Step 2: Archive Scratch Dirs
44
+
45
+ ```bash
46
+ mkdir -p .workflow/milestones/{milestone}/artifacts/
47
+
48
+ # For each artifact path, copy to archive
49
+ for artifact in milestone_artifacts:
50
+ if dir exists .workflow/{artifact.path}:
51
+ cp -r .workflow/{artifact.path} .workflow/milestones/{milestone}/artifacts/$(basename {artifact.path})/
52
+ ```
53
+
54
+ Snapshot roadmap:
55
+ ```bash
56
+ cp .workflow/roadmap.md .workflow/milestones/{milestone}/roadmap-snapshot.md
57
+ ```
58
+
59
+ ### Step 3: Extract Learnings
60
+
61
+ - Read `.summaries/` from each execute artifact's plan dir
62
+ - Read `reflection-log.md` if exists
63
+ - Extract patterns, pitfalls, strategy adjustments
64
+ - Append to `.workflow/specs/learnings.md`
65
+ - Avoid duplicates (check existing entries)
66
+
67
+ ### Step 4: Archive Artifact Entries
68
+
69
+ Move artifact entries from `state.json.artifacts[]` to `milestone_history`:
70
+
71
+ ```json
72
+ {
73
+ "milestone_history": [
74
+ ...existing,
75
+ {
76
+ "id": "{milestone}",
77
+ "name": "{milestone_name}",
78
+ "status": "completed",
79
+ "completed_at": "{now}",
80
+ "archive_path": "milestones/{milestone}/",
81
+ "archived_artifacts": [ ...all milestone artifact entries... ]
82
+ }
83
+ ]
84
+ }
85
+ ```
86
+
87
+ Remove from `artifacts[]`:
88
+ ```
89
+ state.json.artifacts = state.json.artifacts.filter(a => a.milestone != target)
90
+ ```
91
+
92
+ ### Step 5: Advance State
93
+
94
+ ```
95
+ next = state.json.milestones.find(m => m.status == "pending")
96
+ if next:
97
+ state.json.current_milestone = next.id
98
+ next.status = "active"
99
+ else:
100
+ state.json.current_milestone = null
101
+ state.json.status = "completed"
102
+
103
+ state.json.last_updated = now()
104
+ Write state.json (atomic)
105
+ ```
106
+
107
+ ### Step 6: Clean Scratch
108
+
109
+ ```bash
110
+ for artifact in archived_artifacts:
111
+ rm -rf .workflow/{artifact.path}
112
+ ```
113
+
114
+ ### Step 7: Generate Summary & Report
115
+
116
+ Write `.workflow/milestones/{milestone}/summary.md` with outcomes and learnings.
117
+ Update `.workflow/project.md` Context section.
118
+
119
+ ```
120
+ === MILESTONE COMPLETE ===
121
+ Milestone: {milestone} ({name})
122
+ Artifacts: {count} archived
123
+ Next: {next_milestone or "Project complete"}
124
+
125
+ Next steps:
126
+ $maestro-milestone-release -- Cut release
127
+ $maestro-analyze -- Start next milestone
128
+ $manage-status -- View state
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Error Handling
134
+
135
+ | Code | Severity | Description | Recovery |
136
+ |------|----------|-------------|----------|
137
+ | E001 | error | Milestone identifier required | Specify milestone |
138
+ | E002 | error | Audit not passed | Run milestone-audit first |
139
+ | E003 | error | Incomplete artifacts remain | Complete work first |
140
+
141
+ ---
142
+
143
+ ## Core Rules
144
+
145
+ 1. **Audit before archive** — refuse without passing audit (unless --force)
146
+ 2. **Atomic state update** write state.json via tmp+rename
147
+ 3. **Learnings are mandatory** always extract before archiving
148
+ 4. **Clean after archive** remove scratch dirs only after successful copy
149
+ 5. **Advance state** — always set next milestone or mark project complete
@@ -163,13 +163,48 @@ const phaseArg = $ARGUMENTS
163
163
  .replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+|--auto|--gaps|--parallel|--collab|--dir\s+\S+|--spec\s+\S+/g, '')
164
164
  .trim()
165
165
 
166
+ // Auto-bootstrap state.json if missing
167
+ if (!fileExists('.workflow/state.json')) {
168
+ Bash('mkdir -p .workflow/scratch/')
169
+ writeMinimalStateJson()
170
+ }
171
+
172
+ // Scope determination (per scratch-milestone-architecture)
173
+ const state = JSON.parse(Read('.workflow/state.json'))
174
+ let scope, phaseNum = null, phaseSlug, contextDir
175
+
176
+ if (dirMatch) {
177
+ contextDir = dirMatch[1]
178
+ phaseSlug = contextDir.split('/').pop()
179
+ // Inherit scope from parent artifact if registered
180
+ const parentArtifact = state.artifacts.find(a => a.path === contextDir)
181
+ scope = parentArtifact?.scope || 'standalone'
182
+ } else if (phaseArg === '') {
183
+ if (state.current_milestone && fileExists('.workflow/roadmap.md')) {
184
+ scope = 'milestone'
185
+ phaseSlug = slugify(state.milestones.find(m => m.id === state.current_milestone)?.name || state.current_milestone)
186
+ // Find latest analyze artifact for this milestone
187
+ contextDir = state.artifacts.filter(a => a.type === 'analyze' && a.milestone === state.current_milestone && a.status === 'completed').pop()?.path
188
+ } else {
189
+ ERROR('E001: No args and no roadmap')
190
+ }
191
+ } else if (/^\d+$/.test(phaseArg)) {
192
+ scope = 'phase'
193
+ phaseNum = parseInt(phaseArg)
194
+ phaseSlug = resolvePhaseSlugFromRoadmap(phaseNum)
195
+ contextDir = state.artifacts.filter(a => a.type === 'analyze' && a.milestone === state.current_milestone && a.phase === phaseNum && a.status === 'completed').pop()?.path
196
+ } else {
197
+ scope = state.current_milestone ? 'adhoc' : 'standalone'
198
+ phaseSlug = phaseArg.toLowerCase().replace(/[^a-z0-9]+/g, '-').substring(0, 40)
199
+ }
200
+
166
201
  const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
167
- const sessionId = dirMatch
168
- ? `plan-${dirMatch[1].split('/').pop()}-${dateStr}`
169
- : `plan-phase${phaseArg}-${dateStr}`
202
+ const sessionId = `plan-${phaseSlug}-${dateStr}`
170
203
  const sessionFolder = `.workflow/.csv-wave/${sessionId}`
204
+ const scratchDir = `.workflow/scratch/plan-${phaseSlug}-${dateStr}`
171
205
 
172
206
  Bash(`mkdir -p ${sessionFolder}`)
207
+ Bash(`mkdir -p ${scratchDir}/.task/`)
173
208
  ```
174
209
 
175
210
  ---
@@ -180,25 +215,20 @@ Bash(`mkdir -p ${sessionFolder}`)
180
215
 
181
216
  **Decomposition Rules**:
182
217
 
183
- 1. **Phase resolution**:
184
-
185
- | Condition | Action |
186
- |-----------|--------|
187
- | `--dir <path>` provided | Use path directly, set SCRATCH_MODE = true |
188
- | Number argument | Resolve `.workflow/phases/{NN}-*/` |
189
- | Slug argument | Resolve `.workflow/phases/*-{slug}/` |
218
+ 1. **Scope resolution**: Already determined in Session Initialization (milestone/phase/adhoc/standalone)
190
219
 
191
- 2. **Context loading**:
192
- - Read `{PHASE_DIR}/context.md` (user decisions from analyze)
193
- - Read `{PHASE_DIR}/index.json` (phase metadata, success criteria)
194
- - Read spec-ref if `--spec` flag or index.json has spec_ref
220
+ 2. **Context loading** (from upstream analyze artifact or --dir):
221
+ - Read `{contextDir}/context.md` (user decisions from analyze) — if contextDir resolved
222
+ - Read `.workflow/project.md` project vision and constraints
223
+ - Read `.workflow/roadmap.md` phase structure and dependencies
224
+ - Read spec-ref if `--spec` flag
195
225
  - Read `.workflow/codebase/doc-index.json` if exists
196
- - Read `{PHASE_DIR}/design-ref/MASTER.md` if exists (UI design reference)
226
+ - Find design artifacts from `state.json.artifacts[]` (type=brainstorm with ui-designer) for MASTER.md
197
227
  - Load project specs via `maestro spec load --category planning`
198
228
 
199
229
  3. **Upstream analysis check**:
200
- - If `{PHASE_DIR}/conclusions.json` exists and has content: reuse as exploration context, skip wave 1
201
- - If `{PHASE_DIR}/explorations.json` exists: load as additional context
230
+ - If `{contextDir}/conclusions.json` exists and has content: reuse as exploration context, skip wave 1
231
+ - If `{contextDir}/explorations.json` exists: load as additional context
202
232
 
203
233
  4. **Gap mode** (if `--gaps`):
204
234
  - Load gaps from `.workflow/issues/issues.jsonl` (primary), `verification.json` (fallback), `uat.md` (additional)
@@ -374,7 +404,15 @@ spawn_agents_on_csv({
374
404
  }
375
405
  ```
376
406
 
377
- 5. **Issue linking** (if --gaps): Update issues in `issues.jsonl` with status `planned`, link to TASK IDs.
407
+ 5. **Issue linking** (if --gaps):
408
+ For each created TASK-{NNN}.json that has `issue_id`:
409
+ - Update corresponding issue in `.workflow/issues/issues.jsonl`:
410
+ - `task_refs`: append TASK-{NNN} to array
411
+ - `task_plan_dir`: relative path to `.task/` directory
412
+ - `status`: "planned"
413
+ - `updated_at`: now()
414
+ - Append history entry: `{ action: "planned", at: <ISO>, by: "maestro-plan", summary: "Linked to TASK-{NNN}" }`
415
+ This ensures bidirectional issue ↔ TASK traceability for dashboard display.
378
416
 
379
417
  6. **Display summary + options** (skip options if AUTO_YES):
380
418
  ```
@@ -73,7 +73,7 @@ $maestro-roadmap --from-brainstorm WFS-001 "Enhance auth system"
73
73
  | +-- Interactive refinement (max 3 rounds, skip if -y) |
74
74
  | +-- Generate context.md with roadmap summary |
75
75
  | +-- Write .workflow/roadmap.md |
76
- | +-- Create phase directories under .workflow/phases/ |
76
+ | +-- Ensure .workflow/scratch/ directory exists |
77
77
  | +-- Display summary with next steps |
78
78
  | |
79
79
  +---------------------------------------------------------------------------+
@@ -303,7 +303,8 @@ spawn_agents_on_csv({
303
303
 
304
304
  5. **Write outputs**:
305
305
  - Write `.workflow/roadmap.md` using standard roadmap template structure
306
- - Create phase directories: `.workflow/phases/{NN}-{slug}/` with empty `index.json`
306
+ - Ensure `.workflow/scratch/` directory exists (phases are labels, not directories)
307
+ - Update `state.json` milestones array and set `current_milestone`
307
308
  - Update `.workflow/state.json` (if exists): set `current_phase: 1`
308
309
 
309
310
  6. Display summary:
@@ -126,8 +126,8 @@ Read-only status report with progress milestones. No pipeline advancement.
126
126
 
127
127
  **CLI equivalent for human monitoring** (works while coordinator is blocked):
128
128
  ```bash
129
- maestro msg list -s "<session_id>" --type progress --last 10
130
- maestro msg list -s "<session_id>" --type blocker
129
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
130
+ maestro agent-msg list -s "<session_id>" --type blocker
131
131
  ```
132
132
 
133
133
  Then STOP.
@@ -97,7 +97,7 @@ const blockerMsgs = mcp__maestro-tools__team_msg({
97
97
  [executor] Commands: 'resume' to advance | 'check' to refresh
98
98
 
99
99
  **CLI monitoring** (works while executor is blocked):
100
- maestro msg list -s "<session_id>" --type progress --last 10
100
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
101
101
  ```
102
102
 
103
103
  Then STOP.
@@ -67,8 +67,8 @@ Read-only status report from tasks.json + team_msg progress, then STOP.
67
67
 
68
68
  **CLI equivalent for human monitoring** (no coordinator needed):
69
69
  ```bash
70
- maestro msg list -s "<session_id>" --type progress --last 10
71
- maestro msg list -s "<session_id>" --type blocker
70
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
71
+ maestro agent-msg list -s "<session_id>" --type blocker
72
72
  ```
73
73
 
74
74
  ## handleResume
@@ -131,7 +131,7 @@ Prevents redundant research across tasks.
131
131
  ## 6. Progress Milestone Protocol
132
132
 
133
133
  Workers report progress during execution via `team_msg`. This provides:
134
- - **Human CLI monitoring**: `maestro msg list -s <session-id> --type progress` works while coordinator is blocked in `wait_agent`
134
+ - **Human CLI monitoring**: `maestro agent-msg list -s <session-id> --type progress` works while coordinator is blocked in `wait_agent`
135
135
  - **Coordinator post-wait trace**: Full execution history for forensics and status display
136
136
  - **Blocker awareness**: Coordinator knows where worker got stuck on timeout
137
137
 
@@ -169,7 +169,7 @@ mcp__maestro-tools__team_msg({
169
169
  `wait_agent` is **blocking** — coordinator cannot read team_msg during wait. Progress is only consumed:
170
170
  1. On `handleCheck` (user types "check" while coordinator is idle)
171
171
  2. On `handleResume` after `wait_agent` returns (drain bus before collecting discoveries)
172
- 3. By human via `maestro msg list` CLI (works anytime, independent of coordinator)
172
+ 3. By human via `maestro agent-msg list` CLI (works anytime, independent of coordinator)
173
173
 
174
174
  ### Relationship to Discoveries
175
175
 
@@ -107,7 +107,7 @@ Output:
107
107
  [coordinator] Commands: 'resume' to advance | 'check' to refresh
108
108
 
109
109
  **CLI monitoring** (works while coordinator is blocked):
110
- maestro msg list -s "<session_id>" --type progress --last 10
110
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
111
111
  ```
112
112
 
113
113
  Then STOP.
@@ -66,7 +66,7 @@ Output:
66
66
  [coordinator] Commands: 'resume' to advance | 'check' to refresh
67
67
 
68
68
  **CLI monitoring** (works while coordinator is blocked):
69
- maestro msg list -s "<session_id>" --type progress --last 10
69
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
70
70
  ```
71
71
 
72
72
  Then STOP.
@@ -56,7 +56,7 @@ Session: <session-id>
56
56
  Commands: 'resume' to advance | 'check' to refresh
57
57
 
58
58
  **CLI monitoring** (works while coordinator is blocked):
59
- maestro msg list -s "<session_id>" --type progress --last 10
59
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
60
60
  ```
61
61
 
62
62
  Output status -- do NOT advance pipeline.
@@ -71,7 +71,7 @@ Output:
71
71
  [coordinator] Commands: 'resume' to advance | 'check' to refresh
72
72
 
73
73
  **CLI monitoring** (works while coordinator is blocked):
74
- maestro msg list -s "<session_id>" --type progress --last 10
74
+ maestro agent-msg list -s "<session_id>" --type progress --last 10
75
75
  ```
76
76
 
77
77
  Then STOP.
package/README.md CHANGED
@@ -32,9 +32,10 @@ You describe what you want. Maestro-Flow figures out which agents to use, in wha
32
32
  # Or step by step
33
33
  /maestro-init # Set up project workspace
34
34
  /maestro-roadmap # Create phased roadmap interactively
35
- /maestro-plan 1 # Generate execution plan for Phase 1
36
- /maestro-execute 1 # Wave-based parallel agent execution
37
- /maestro-verify 1 # Goal-backward verification
35
+ /maestro-analyze # Multi-dimensional analysis
36
+ /maestro-plan # Generate execution plan
37
+ /maestro-execute # Wave-based parallel agent execution
38
+ /maestro-verify # Goal-backward verification
38
39
  ```
39
40
 
40
41
  ### The Pipeline
@@ -48,11 +49,13 @@ graph LR
48
49
  E --> F[execute]
49
50
  F --> G[verify]
50
51
  G --> H[review]
51
- H --> I[test]
52
- I --> J[transition]
53
- J -->|next phase| D
52
+ H --> I[milestone-audit]
53
+ I --> J[milestone-complete]
54
+ J -->|next milestone| D
54
55
  ```
55
56
 
57
+ All work artifacts live in `.workflow/scratch/`, tracked by `state.json` artifact registry. Phases are labels in the roadmap, not directories.
58
+
56
59
  ### Quick Channels
57
60
 
58
61
  | Channel | Flow | When |
@@ -67,9 +70,9 @@ graph LR
67
70
 
68
71
  ### 1. Structured Pipeline
69
72
 
70
- Phase-based execution with explicit status tracking. Each phase moves through analyze > plan > execute > verify > review > test > transition. The dashboard shows what's happening and what to do next.
73
+ Scratch-based milestone workflow with artifact registry tracking. Each milestone moves through analyze > plan > execute > verify > review > milestone-audit > milestone-complete. All artifacts live in `.workflow/scratch/`, registered in `state.json`. The dashboard shows what's happening and what to do next.
71
74
 
72
- 51 slash commands across 6 categories power every stage — from project initialization to quality retrospective.
75
+ 49 slash commands across 6 categories power every stage — from project initialization to quality retrospective.
73
76
 
74
77
  ### 2. Autonomous Autopilot
75
78
 
@@ -94,10 +97,10 @@ graph LR
94
97
  | Stage | Command | What Happens |
95
98
  |-------|---------|-------------|
96
99
  | **Discover** | `/manage-issue-discover` | 8-perspective scan: bugs, UX, tech debt, security, performance, testing gaps, code quality, documentation |
97
- | **Analyze** | `/manage-issue-analyze` | Root cause analysis via CLI exploration |
98
- | **Plan** | `/manage-issue-plan` | Generate solution steps with target files and verification criteria |
99
- | **Execute** | `/manage-issue-execute` | Dashboard API dispatch or direct CLI execution |
100
- | **Close** | Automatic | Verification passes > resolved > closed |
100
+ | **Analyze** | `/maestro-analyze --gaps` | Root cause analysis via CLI exploration, writes `issue.analysis` |
101
+ | **Plan** | `/maestro-plan --gaps` | Generate TASK files linked to issues via `task_refs` |
102
+ | **Execute** | `/maestro-execute` | Wave-based parallel execution with automatic issue status sync |
103
+ | **Close** | Automatic | All linked tasks completed > resolved > closed |
101
104
 
102
105
  Quality commands (`review`, `test`, `verify`) automatically create issues for problems they find. Issue fixes flow back into the phase pipeline. The loop closes itself.
103
106
 
@@ -168,7 +171,7 @@ Maestro-Flow coordinates multiple AI agents in parallel:
168
171
  | `context-monitor` | Monitors context usage, injects warnings when running low |
169
172
  | `spec-injector` | Auto-injects project specs into subagent prompts by agent type |
170
173
  | `delegate-monitor` | Tracks async delegate task completion |
171
- | `team-monitor` | Team collaboration message awareness |
174
+ | `team-monitor` | Collab heartbeat reports activity to `.workflow/collab/activity.jsonl` for teammate awareness |
172
175
  | `telemetry` | Execution telemetry collection |
173
176
  | `session-context` | Injects workflow state at session start |
174
177
  | `skill-context` | Injects workflow state when invoking workflow skills |
@@ -195,13 +198,13 @@ maestro overlay bundle -o team.json # Pack for sharing
195
198
 
196
199
  ---
197
200
 
198
- ## 51 Commands, 21 Agents
201
+ ## 49 Commands, 21 Agents
199
202
 
200
203
  ### Commands
201
204
 
202
205
  | Category | Count | Prefix | Purpose |
203
206
  |----------|-------|--------|---------|
204
- | **Core Workflow** | 20 | `maestro-*` | Full lifecycle — init, brainstorm, roadmap, analyze, plan, execute, verify, coordinate, milestones, overlays, UI design |
207
+ | **Core Workflow** | 18 | `maestro-*` | Full lifecycle — init, brainstorm, roadmap, analyze, plan, execute, verify, coordinate, milestones, overlays, UI design |
205
208
  | **Management** | 12 | `manage-*` | Issue lifecycle, codebase docs, knowledge capture, memory, harvest, status |
206
209
  | **Quality** | 9 | `quality-*` | Review, test, debug, test-gen, integration-test, business-test, refactor, retrospective, sync |
207
210
  | **Learning** | 5 | `learn-*` | Unified retro, follow-along, pattern decompose, investigate, second opinion |
@@ -236,8 +239,9 @@ maestro install
236
239
  ```bash
237
240
  /maestro-init # Initialize project
238
241
  /maestro-roadmap # Create roadmap
239
- /maestro-plan 1 # Plan Phase 1
240
- /maestro-execute 1 # Execute with agents
242
+ /maestro-analyze # Analyze current milestone
243
+ /maestro-plan # Plan (outputs to scratch/)
244
+ /maestro-execute # Execute all pending plans
241
245
 
242
246
  # Or just:
243
247
  /maestro "build a REST API for user management"
@@ -287,9 +291,9 @@ maestro/
287
291
  │ │ └── execution/ # ExecutionScheduler + WaveExecutor
288
292
  │ └── shared/ # Shared types
289
293
  ├── .claude/
290
- │ ├── commands/ # 51 slash commands (.md)
294
+ │ ├── commands/ # 49 slash commands (.md)
291
295
  │ └── agents/ # 21 agent definitions (.md)
292
- ├── workflows/ # 47 workflow implementations (.md)
296
+ ├── workflows/ # 45 workflow implementations (.md)
293
297
  ├── templates/ # JSON templates (task, plan, issue, ...)
294
298
  └── extensions/ # Plugin system
295
299
  ```
@@ -313,8 +317,9 @@ maestro/
313
317
  - **[Delegate Async Guide](guide/delegate-async-guide.md)** — Async task delegation: CLI & MCP usage, message injection, chaining, broker lifecycle
314
318
  - **[Overlay Guide](guide/overlay-guide.md)** — Non-invasive command extensions: overlay format, section injection, bundle/import, interactive TUI management
315
319
  - **[Hooks Guide](guide/hooks-guide.md)** — Hook system architecture, 9 hooks, spec injection, context budget, configuration
316
- - **[Team Lite User Guide](guide/team-lite-guide.md)** — Daily workflow for 2-8 person teams: join, sync, activity awareness, conflict preflight
317
- - **[Team Lite Design](guide/team-lite-design.md)** — Architecture, data model, and namespace boundary between human-collab and agent-pipeline domains
320
+ - **[Worktree Parallel Dev Guide](guide/worktree-guide.md)** — Milestone-level worktree parallelism: fork, sync, merge, scope enforcement, dashboard integration
321
+ - **[CollabUser Guide](guide/team-lite-guide.md)** — Multi-person collaboration for 2-8 person teams: join, sync, activity awareness, conflict preflight, task management, namespace isolation
322
+ - **[Collab — Design](guide/team-lite-design.md)** — Architecture, data model, namespace boundary between human-collab (`.workflow/collab/`) and agent-pipeline (`.workflow/.team/`) domains
318
323
 
319
324
  ---
320
325