maestro-flow 0.3.10 → 0.3.12

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 (311) hide show
  1. package/.claude/agents/conceptual-planning-agent.md +1 -0
  2. package/.claude/agents/workflow-analyzer.md +114 -114
  3. package/.claude/agents/workflow-collab-planner.md +144 -144
  4. package/.claude/agents/workflow-debugger.md +102 -103
  5. package/.claude/agents/workflow-executor.md +127 -128
  6. package/.claude/agents/workflow-integration-checker.md +82 -82
  7. package/.claude/agents/workflow-nyquist-auditor.md +85 -84
  8. package/.claude/agents/workflow-phase-researcher.md +85 -85
  9. package/.claude/agents/workflow-plan-checker.md +90 -90
  10. package/.claude/agents/workflow-planner.md +178 -178
  11. package/.claude/agents/workflow-roadmapper.md +81 -83
  12. package/.claude/agents/workflow-verifier.md +119 -119
  13. package/.claude/commands/learn-decompose.md +176 -176
  14. package/.claude/commands/learn-follow.md +167 -167
  15. package/.claude/commands/learn-retro.md +3 -3
  16. package/.claude/commands/learn-second-opinion.md +2 -2
  17. package/.claude/commands/maestro-brainstorm.md +1 -0
  18. package/.claude/commands/maestro-coordinate.md +1 -3
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-plan.md +88 -2
  22. package/.claude/commands/maestro-roadmap.md +113 -2
  23. package/.claude/commands/maestro.md +1 -0
  24. package/.claude/commands/manage-harvest.md +131 -131
  25. package/.claude/commands/manage-issue.md +2 -2
  26. package/.claude/commands/quality-business-test.md +5 -5
  27. package/.claude/commands/quality-debug.md +3 -2
  28. package/.claude/commands/quality-retrospective.md +6 -4
  29. package/.claude/commands/quality-review.md +1 -1
  30. package/.claude/commands/quality-test-gen.md +5 -4
  31. package/.claude/commands/spec-add.md +67 -56
  32. package/.claude/commands/spec-load.md +66 -64
  33. package/.claude/commands/spec-setup.md +5 -9
  34. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  35. package/.codex/skills/learn-follow/SKILL.md +83 -0
  36. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  37. package/.codex/skills/learn-retro/SKILL.md +83 -0
  38. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  39. package/.codex/skills/maestro/SKILL.md +151 -279
  40. package/.codex/skills/maestro-analyze/SKILL.md +59 -71
  41. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  42. package/.codex/skills/maestro-chain/SKILL.md +95 -110
  43. package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
  44. package/.codex/skills/maestro-execute/SKILL.md +435 -446
  45. package/.codex/skills/maestro-fork/SKILL.md +98 -0
  46. package/.codex/skills/maestro-init/SKILL.md +172 -167
  47. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  48. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  49. package/.codex/skills/maestro-merge/SKILL.md +69 -0
  50. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  51. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  52. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  53. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  54. package/.codex/skills/maestro-plan/SKILL.md +58 -69
  55. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  56. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  57. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  58. package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
  59. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  60. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  61. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  62. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  63. package/.codex/skills/manage-issue/SKILL.md +80 -65
  64. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  65. package/.codex/skills/manage-learn/SKILL.md +190 -186
  66. package/.codex/skills/manage-memory/SKILL.md +95 -72
  67. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  68. package/.codex/skills/manage-status/SKILL.md +102 -89
  69. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  70. package/.codex/skills/quality-debug/SKILL.md +54 -66
  71. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  72. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  73. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  74. package/.codex/skills/quality-review/SKILL.md +95 -107
  75. package/.codex/skills/quality-sync/SKILL.md +101 -89
  76. package/.codex/skills/quality-test/SKILL.md +202 -198
  77. package/.codex/skills/quality-test-gen/SKILL.md +94 -105
  78. package/.codex/skills/spec-add/SKILL.md +58 -39
  79. package/.codex/skills/spec-load/SKILL.md +45 -40
  80. package/.codex/skills/spec-map/SKILL.md +180 -182
  81. package/.codex/skills/spec-setup/SKILL.md +94 -76
  82. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  83. package/.codex/skills/team-executor/SKILL.md +70 -112
  84. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  85. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  86. package/.codex/skills/team-review/SKILL.md +232 -225
  87. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  88. package/.codex/skills/team-testing/SKILL.md +242 -235
  89. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  90. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  91. package/README.md +9 -4
  92. package/README.zh-CN.md +9 -4
  93. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  94. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  95. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  96. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  98. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  99. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  100. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  101. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  102. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  103. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  104. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  105. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  106. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  107. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  108. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  109. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  110. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  111. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  112. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  113. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  114. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  115. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  116. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  117. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  118. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  119. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  120. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  121. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  122. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  123. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  124. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  125. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  126. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  127. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  128. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  129. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  130. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  131. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  132. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  133. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  134. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  135. package/dashboard/dist/index.html +2 -2
  136. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  137. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  139. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  141. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  142. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  143. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  144. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  145. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  146. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  149. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  151. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  152. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  153. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  154. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  155. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  156. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  157. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  158. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  159. package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
  160. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  162. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  163. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  164. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  165. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
  166. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  167. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  169. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
  170. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  171. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  172. package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
  173. package/dashboard/dist-server/src/hooks/constants.js +4 -2
  174. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  175. package/dist/shared/agent-types.d.ts +4 -0
  176. package/dist/shared/agent-types.d.ts.map +1 -1
  177. package/dist/src/commands/collab.js +4 -4
  178. package/dist/src/commands/collab.js.map +1 -1
  179. package/dist/src/commands/hooks.d.ts.map +1 -1
  180. package/dist/src/commands/hooks.js +66 -1
  181. package/dist/src/commands/hooks.js.map +1 -1
  182. package/dist/src/commands/install-backend.d.ts.map +1 -1
  183. package/dist/src/commands/install-backend.js +29 -18
  184. package/dist/src/commands/install-backend.js.map +1 -1
  185. package/dist/src/commands/spec.d.ts.map +1 -1
  186. package/dist/src/commands/spec.js +7 -2
  187. package/dist/src/commands/spec.js.map +1 -1
  188. package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
  189. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  190. package/dist/src/hooks/constants.d.ts +3 -1
  191. package/dist/src/hooks/constants.d.ts.map +1 -1
  192. package/dist/src/hooks/constants.js +4 -2
  193. package/dist/src/hooks/constants.js.map +1 -1
  194. package/dist/src/hooks/guards/index.d.ts +1 -0
  195. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  196. package/dist/src/hooks/guards/index.js +1 -0
  197. package/dist/src/hooks/guards/index.js.map +1 -1
  198. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  199. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  200. package/dist/src/hooks/guards/spec-validator.js +66 -0
  201. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  202. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  203. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  204. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  205. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  206. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  207. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  208. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  209. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  210. package/dist/src/hooks/skill-context.d.ts +3 -0
  211. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  212. package/dist/src/hooks/skill-context.js +95 -9
  213. package/dist/src/hooks/skill-context.js.map +1 -1
  214. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  215. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  216. package/dist/src/hooks/spec-bridge.js +97 -0
  217. package/dist/src/hooks/spec-bridge.js.map +1 -0
  218. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  219. package/dist/src/hooks/spec-injector.js +18 -12
  220. package/dist/src/hooks/spec-injector.js.map +1 -1
  221. package/dist/src/hooks/statusline.d.ts.map +1 -1
  222. package/dist/src/hooks/statusline.js +6 -3
  223. package/dist/src/hooks/statusline.js.map +1 -1
  224. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  225. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  226. package/dist/src/team/phase-orchestrator.js +165 -0
  227. package/dist/src/team/phase-orchestrator.js.map +1 -0
  228. package/dist/src/team/phase-types.d.ts +51 -0
  229. package/dist/src/team/phase-types.d.ts.map +1 -0
  230. package/dist/src/team/phase-types.js +41 -0
  231. package/dist/src/team/phase-types.js.map +1 -0
  232. package/dist/src/tools/index.d.ts.map +1 -1
  233. package/dist/src/tools/index.js +6 -0
  234. package/dist/src/tools/index.js.map +1 -1
  235. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  236. package/dist/src/tools/merge-validator.js +114 -16
  237. package/dist/src/tools/merge-validator.js.map +1 -1
  238. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  239. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  240. package/dist/src/tools/spec-entry-parser.js +196 -0
  241. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  242. package/dist/src/tools/spec-init.d.ts.map +1 -1
  243. package/dist/src/tools/spec-init.js +66 -92
  244. package/dist/src/tools/spec-init.js.map +1 -1
  245. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  246. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  247. package/dist/src/tools/spec-keyword-index.js +101 -0
  248. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  249. package/dist/src/tools/spec-loader.d.ts +3 -3
  250. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  251. package/dist/src/tools/spec-loader.js +49 -23
  252. package/dist/src/tools/spec-loader.js.map +1 -1
  253. package/dist/src/tools/team-agents.d.ts +27 -0
  254. package/dist/src/tools/team-agents.d.ts.map +1 -0
  255. package/dist/src/tools/team-agents.js +362 -0
  256. package/dist/src/tools/team-agents.js.map +1 -0
  257. package/dist/src/tools/team-mailbox.d.ts +40 -0
  258. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  259. package/dist/src/tools/team-mailbox.js +384 -0
  260. package/dist/src/tools/team-mailbox.js.map +1 -0
  261. package/dist/src/tools/team-msg.d.ts +17 -8
  262. package/dist/src/tools/team-msg.d.ts.map +1 -1
  263. package/dist/src/tools/team-msg.js +110 -13
  264. package/dist/src/tools/team-msg.js.map +1 -1
  265. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  266. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  267. package/dist/src/tools/team-tasks-mcp.js +408 -0
  268. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  269. package/package.json +2 -1
  270. package/shared/agent-types.ts +4 -0
  271. package/templates/worktree-scope.json +9 -10
  272. package/templates/worktrees.json +26 -27
  273. package/workflows/analyze.md +816 -816
  274. package/workflows/brainstorm.md +480 -471
  275. package/workflows/codebase-rebuild.md +332 -332
  276. package/workflows/codebase-refresh.md +240 -240
  277. package/workflows/debug.md +16 -6
  278. package/workflows/execute.md +1 -1
  279. package/workflows/fork.md +100 -36
  280. package/workflows/harvest.md +420 -420
  281. package/workflows/integration-test.md +355 -343
  282. package/workflows/issue-discover.md +414 -414
  283. package/workflows/issue.md +14 -4
  284. package/workflows/learn.md +19 -5
  285. package/workflows/maestro.md +1 -0
  286. package/workflows/map.md +111 -111
  287. package/workflows/merge.md +113 -55
  288. package/workflows/milestone-complete.md +176 -176
  289. package/workflows/plan.md +1 -1
  290. package/workflows/quick.md +497 -497
  291. package/workflows/refactor.md +300 -300
  292. package/workflows/retrospective.md +61 -22
  293. package/workflows/review.md +17 -4
  294. package/workflows/roadmap.md +335 -335
  295. package/workflows/spec-generate.md +640 -640
  296. package/workflows/specs-add.md +46 -81
  297. package/workflows/specs-load.md +15 -17
  298. package/workflows/specs-setup.md +40 -161
  299. package/workflows/test.md +12 -2
  300. package/workflows/ui-style.md +9 -2
  301. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  302. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  303. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  304. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  305. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  306. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  307. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  308. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  309. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  310. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  311. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -1,62 +1,54 @@
1
1
  ---
2
2
  name: maestro-coordinate
3
- description: CLI-based coordinator — analyze intent → select command chain → execute sequentially via codex delegate with auto-confirm. Async state machine with template-driven prompts and gemini analysis between steps.
4
- argument-hint: "\"intent text\" [-y] [-c] [--dry-run] [--chain <name>] [--tool <tool>]"
3
+ description: CLI-based coordinator — analyze intent → select command chain → execute sequentially via maestro delegate with auto-confirm. Async state machine with template-driven prompts and gemini analysis between steps.
4
+ argument-hint: "\"intent text\" [-y] [-c] [--dry-run] [--chain <name>]"
5
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
6
  ---
7
7
 
8
- ## Auto Mode
9
-
10
- When `-y` or `--yes`: Skip clarification and confirmation prompts. Auto-confirm all delegate executions.
11
-
12
- # Maestro Coordinate (CLI Delegate)
13
-
14
- ## Usage
15
-
16
- ```bash
17
- $maestro-coordinate "implement user authentication with JWT"
18
- $maestro-coordinate -y "refactor the payment module"
19
- $maestro-coordinate --continue
20
- $maestro-coordinate --dry-run "add rate limiting to API endpoints"
21
- $maestro-coordinate --chain feature "add dark mode toggle"
22
- $maestro-coordinate --tool gemini "fix auth regression"
23
- ```
24
-
25
- **Flags**:
26
- - `-y, --yes` — Auto mode: skip all prompts, inject auto-confirm into delegates
27
- - `-c, --continue` — Resume previous session from last incomplete step
28
- - `--dry-run` — Show planned chain without executing
29
- - `--chain <name>` — Force a specific chain (skips intent classification)
30
- - `--tool <tool>` — CLI tool override (default: codex)
31
-
32
- **Session state**: `.workflow/.maestro-coordinate/{session-id}/state.json`
33
-
34
- ---
35
-
36
- ## Overview
37
-
38
- Sequential CLI-delegate coordinator. Each chain step is executed via `codex delegate "prompt" --to <tool> --mode write` with a template-driven prompt. After each step completes, a gemini analysis evaluates output quality and generates optimization hints for subsequent steps. All execution is background-async with hook callbacks.
8
+ <purpose>
9
+ Sequential CLI-delegate coordinator. Each chain step executes via `maestro delegate "prompt" --to <tool> --mode write`
10
+ with a template-driven prompt. After each step, gemini analysis evaluates output quality and generates
11
+ optimization hints for subsequent steps. All execution is background-async with hook callbacks.
39
12
 
40
13
  ```
41
14
  Intent → Resolve Chain → Step 1 → Analysis → Step 2 → Analysis → … → Report
42
15
  (chainMap) delegate gemini delegate gemini
43
16
  callback callback callback callback
44
17
  ```
45
-
46
- ---
47
-
48
- ## Implementation
49
-
50
- > **Full implementation reference**: The complete `detectTaskType`, `detectNextAction`, and `chainMap` definitions (35+ intent patterns, 40+ chain types) are in `~/.maestro/workflows/maestro-coordinate.codex.md`. Read that file for authoritative logic before executing any step.
18
+ </purpose>
51
19
 
52
20
  <required_reading>
53
- @~/.maestro/workflows/maestro-coordinate.codex.md
21
+ @~/.maestro/workflows/maestro-coordinate.codex.md — authoritative `detectTaskType`, `detectNextAction`, `chainMap` (35+ intent patterns, 40+ chain types). Read before executing any step.
54
22
  </required_reading>
55
23
 
56
24
  <deferred_reading>
57
25
  - [coordinate template](~/.maestro/templates/cli/prompts/coordinate-step.txt) — read when filling step prompts
58
26
  </deferred_reading>
59
27
 
28
+ <context>
29
+ $ARGUMENTS — user intent text, or special flags.
30
+
31
+ **Flags:**
32
+ - `-y, --yes` — Auto mode: skip all prompts, inject auto-confirm into delegates
33
+ - `-c, --continue` — Resume previous session from last incomplete step
34
+ - `--dry-run` — Show planned chain without executing
35
+ - `--chain <name>` — Force specific chain (skips intent classification)
36
+
37
+ **Session state**: `.workflow/.maestro-coordinate/{session-id}/state.json`
38
+ </context>
39
+
40
+ <invariants>
41
+ 1. **STOP after each delegate call**: Background execution via `run_in_background: true`, wait for hook callback.
42
+ 2. **State machine**: Advance via `current_step`, no sync loops for async operations.
43
+ 3. **Template-driven**: All steps use `coordinate-step.txt`, no per-command prompt assembly.
44
+ 4. **Context propagation**: Parse PHASE / spec session ID / scratch_dir / issue_id from each step output, feed to next step.
45
+ 5. **Gemini analysis after each step**: Evaluate output quality, generate hints for next step, chain via `--resume`.
46
+ 6. **Auto-confirm injection**: `{{AUTO_DIRECTIVE}}` in template prevents blocking during background execution.
47
+ 7. **Resumable**: `-c` reads `state.json`, jumps to first pending step.
48
+ 8. **Delegate tool**: `maestro delegate --to codex` for all execution steps; `--to gemini` only for post-step analysis.</invariants>
49
+
50
+ <execution>
51
+
60
52
  ### Step 1: Parse Arguments
61
53
 
62
54
  ```javascript
@@ -65,70 +57,34 @@ const AUTO_YES = /\b(-y|--yes)\b/.test(args);
65
57
  const RESUME = /\b(-c|--continue)\b/.test(args);
66
58
  const DRY_RUN = /\b--dry-run\b/.test(args);
67
59
  const forcedChain = args.match(/--chain\s+(\S+)/)?.[1] || null;
68
- const cliTool = args.match(/--tool\s+(\S+)/)?.[1] || 'codex';
69
60
  const intent = args
70
61
  .replace(/\b(-y|--yes|-c|--continue|--dry-run)\b/g, '')
71
- .replace(/--(chain|tool)\s+\S+/g, '')
62
+ .replace(/--chain\s+\S+/g, '')
72
63
  .trim();
73
64
  ```
74
65
 
75
- **If RESUME:**
76
- 1. Find latest `state.json` in `.workflow/.maestro-coordinate/`
77
- 2. Load state → set `current_step` to first non-completed step
78
- 3. Jump to **Step 6**
79
-
80
- ---
81
-
82
- ### Step 2: Read Project State
83
-
84
- Read `.workflow/state.json` + `.workflow/roadmap.md` + current phase `index.json`.
85
-
86
- **If missing:** `projectState = { initialized: false }`. If intent also empty → Error E001.
87
-
88
- ---
89
-
90
- ### Step 3: Classify Intent & Select Chain
91
-
92
- Follow `~/.maestro/workflows/maestro-coordinate.md` Steps 3a–3d exactly:
93
- - Exact-match keywords (fast path)
94
- - Structured intent extraction (action × object matrix)
95
- - State-based routing for `state_continue`
96
- - Chain map lookup
97
- - Phase/issue ID resolution
98
-
99
- If clarity < 2 and not AUTO_YES: clarify via AskUserQuestion (max 2 rounds).
100
-
101
- ---
66
+ **If RESUME**: Find latest `state.json` in `.workflow/.maestro-coordinate/`, load → jump to Step 6.
102
67
 
103
- ### Step 4: Confirm
68
+ ### Step 2–4: Classify Intent → Confirm
104
69
 
105
- **If `DRY_RUN`:** Display chain and exit.
106
-
107
- ```
108
- MAESTRO-COORDINATE: {chain_name} (dry run)
109
- 1. [{cmd}] {args}
110
- 2. [{cmd}] {args}
111
- ```
112
-
113
- **If not AUTO_YES:** AskUserQuestion — Execute / Execute from step N / Cancel.
114
-
115
- ---
70
+ 1. Read `.workflow/state.json` + `.workflow/roadmap.md` + current phase
71
+ 2. If `--chain` given → use directly; else classify via `detectTaskType` + `chainMap`
72
+ 3. If clarity < 2 and not AUTO_YES → clarify via AskUserQuestion (max 2 rounds)
73
+ 4. **`--dry-run`**: Display chain and exit
74
+ 5. **User confirmation** (skip if AUTO_YES): Execute / Execute from step N / Cancel
116
75
 
117
76
  ### Step 5: Setup Session
118
77
 
119
78
  ```javascript
120
79
  const sessionId = `coord-${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 15)}`;
121
80
  const sessionDir = `.workflow/.maestro-coordinate/${sessionId}`;
122
- Bash(`mkdir -p "${sessionDir}"`);
123
81
 
124
82
  const state = {
125
83
  session_id: sessionId, status: 'running',
126
84
  created_at: new Date().toISOString(),
127
85
  intent, task_type: taskType, chain_name: chainName,
128
- tool: cliTool, auto_mode: AUTO_YES, phase: resolvedPhase,
129
- current_step: 0,
130
- gemini_session_id: null,
131
- step_analyses: [],
86
+ auto_mode: AUTO_YES, phase: resolvedPhase,
87
+ current_step: 0, gemini_session_id: null, step_analyses: [],
132
88
  steps: chain.map((s, i) => ({
133
89
  index: i, cmd: s.cmd, args: s.args || '',
134
90
  status: 'pending', exec_id: null, analysis: null
@@ -137,9 +93,7 @@ const state = {
137
93
  Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
138
94
  ```
139
95
 
140
- ---
141
-
142
- ### Step 6: Execute Step via codex delegate
96
+ ### Step 6: Execute Step via maestro delegate
143
97
 
144
98
  #### 6a: Assemble args
145
99
 
@@ -165,28 +119,12 @@ function assembleArgs(step) {
165
119
  }
166
120
  ```
167
121
 
168
- #### 6b: Build prompt from template
122
+ #### 6b: Build prompt from template + launch
169
123
 
170
124
  Read `~/.maestro/templates/cli/prompts/coordinate-step.txt`, fill placeholders.
171
- If previous step has analysis hints, inject them as `{{ANALYSIS_HINTS}}`.
125
+ If previous step has analysis hints, inject as `{{ANALYSIS_HINTS}}`.
172
126
 
173
127
  ```javascript
174
- function escapeForShell(str) { return "'" + str.replace(/'/g, "'\\''") + "'"; }
175
-
176
- const assembledArgs = assembleArgs(step);
177
- const template = Read('~/.maestro/templates/cli/prompts/coordinate-step.txt');
178
-
179
- let analysisHints = '';
180
- const prevAnalysis = (state.step_analyses || []).find(a => a.step_index === state.current_step - 1);
181
- if (prevAnalysis?.next_step_hints) {
182
- const h = prevAnalysis.next_step_hints;
183
- const parts = [];
184
- if (h.prompt_additions) parts.push(h.prompt_additions);
185
- if (h.cautions?.length) parts.push('Cautions: ' + h.cautions.join('; '));
186
- if (h.context_to_carry) parts.push('Context from prior step: ' + h.context_to_carry);
187
- if (parts.length) analysisHints = parts.join('\n');
188
- }
189
-
190
128
  const prompt = template
191
129
  .replace('{{COMMAND}}', `/${step.cmd}`)
192
130
  .replace('{{ARGS}}', assembledArgs)
@@ -194,41 +132,18 @@ const prompt = template
194
132
  .replace('{{AUTO_DIRECTIVE}}', state.auto_mode ? 'Auto-confirm all prompts. No interactive questions.' : '')
195
133
  .replace('{{CHAIN_NAME}}', state.chain_name)
196
134
  .replace('{{ANALYSIS_HINTS}}', analysisHints);
197
- ```
198
-
199
- #### 6c: Launch via codex delegate
200
-
201
- ```
202
- ------------------------------------------------------------
203
- STEP {i+1}/{total}: {step.cmd} | Tool: {cliTool}
204
- ------------------------------------------------------------
205
- ```
206
-
207
- ```javascript
208
- state.steps[state.current_step].status = 'running';
209
- state.steps[state.current_step].started_at = new Date().toISOString();
210
- Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
211
135
 
212
136
  Bash({
213
- command: `codex delegate ${escapeForShell(prompt)} --to ${state.tool} --mode write`,
137
+ command: `maestro delegate ${escapeForShell(prompt)} --to codex --mode write`,
214
138
  run_in_background: true, timeout: 600000
215
139
  });
216
140
  // ■ STOP — wait for hook callback
217
141
  ```
218
142
 
219
- ---
220
-
221
143
  ### Step 7: Post-Step Callback
222
144
 
223
145
  ```javascript
224
- const stepIdx = state.current_step;
225
- const step = state.steps[stepIdx];
226
- const output = /* callback output */;
227
-
228
- step.exec_id = /* from callback stderr */;
229
- step.completed_at = new Date().toISOString();
230
-
231
- // Context propagation
146
+ // Context propagation from output
232
147
  const phaseMatch = output.match(/PHASE:\s*(\d+)/m);
233
148
  if (phaseMatch) context.current_phase = phaseMatch[1];
234
149
  const specMatch = output.match(/SPEC-[\w-]+/);
@@ -238,107 +153,34 @@ if (scratchMatch) context.scratch_dir = scratchMatch[1].trim();
238
153
 
239
154
  // Success/failure
240
155
  const failed = /^STATUS:\s*FAILURE/m.test(output);
241
- if (!failed) {
242
- step.status = 'completed';
243
- } else if (state.auto_mode) {
244
- if (!step.retried) { step.retried = true; /* re-execute Step 6c */ return; }
245
- step.status = 'skipped';
246
- } else {
247
- // AskUserQuestion: Retry / Skip / Abort
248
- }
156
+ if (!failed) { step.status = 'completed'; }
157
+ else if (state.auto_mode && !step.retried) { step.retried = true; /* re-execute Step 6 */ return; }
158
+ else { step.status = 'skipped'; /* or AskUserQuestion: Retry / Skip / Abort */ }
249
159
 
250
160
  Write(`${sessionDir}/step-${stepIdx + 1}-output.txt`, output);
251
- Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
252
-
253
- // → Step 7b: Gemini analysis (skip if step failed/skipped or single-step chain)
254
- if (step.status === 'completed' && state.steps.length > 1) {
255
- // → Step 7b
256
- } else {
257
- state.current_step = stepIdx + 1;
258
- Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
259
- if (state.current_step < state.steps.length) { /* → Step 6 */ }
260
- else { /* → Step 8 */ }
261
- }
161
+ // → Step 7b (gemini analysis) if completed + multi-step chain
162
+ // → else advance current_step, loop to Step 6 or Step 8
262
163
  ```
263
164
 
264
- ---
265
-
266
165
  ### Step 7b: Analyze Step Output (via gemini)
267
166
 
268
- After each step completes, call gemini to evaluate execution quality and generate optimization hints.
269
-
270
167
  ```javascript
271
- const analysisPrompt = `PURPOSE: Evaluate execution quality of coordinate step "${step.cmd}" and generate optimization hints for the next step.
272
- CHAIN: ${state.chain_name} | Intent: ${state.intent}
273
- COMMAND: /${step.cmd} ${step.args || ''}
274
- STEP OUTPUT (last 200 lines):
275
- ${output.split('\n').slice(-200).join('\n')}
276
- NEXT STEP: ${nextStep ? `/${nextStep.cmd} ${nextStep.args || ''}` : 'None (last step)'}
277
- EXPECTED OUTPUT (strict JSON):
278
- {
279
- "quality_score": <0-100>,
280
- "execution_assessment": { "success": <bool>, "completeness": "<full|partial|minimal>", "key_outputs": [], "missing_outputs": [] },
281
- "issues": [{ "severity": "critical|high|medium|low", "description": "" }],
282
- "next_step_hints": {
283
- "prompt_additions": "<extra context or constraints to inject into next step prompt>",
284
- "cautions": ["<things next step should watch out for>"],
285
- "context_to_carry": "<key facts from this step's output that next step needs>"
286
- },
287
- "step_summary": ""
288
- }`;
289
-
290
- let delegateCmd = `codex delegate ${escapeForShell(analysisPrompt)} --to gemini --mode analysis --rule analysis-review-code-quality`;
168
+ let delegateCmd = `maestro delegate ${escapeForShell(analysisPrompt)} --to gemini --mode analysis --rule analysis-review-code-quality`;
291
169
  if (state.gemini_session_id) delegateCmd += ` --resume ${state.gemini_session_id}`;
292
170
  Bash({ command: delegateCmd, run_in_background: true, timeout: 300000 });
293
171
  // ■ STOP — wait for hook callback
294
172
  ```
295
173
 
296
- ### Step 7c: Post-Analyze Callback
297
-
298
- ```javascript
299
- const analysisResult = /* parsed JSON from callback output */;
300
- state.gemini_session_id = /* from callback stderr */;
301
-
302
- if (!state.step_analyses) state.step_analyses = [];
303
- state.step_analyses.push({
304
- step_index: stepIdx, cmd: step.cmd,
305
- quality_score: analysisResult.quality_score,
306
- issues: analysisResult.issues,
307
- next_step_hints: analysisResult.next_step_hints,
308
- summary: analysisResult.step_summary
309
- });
310
- step.analysis = {
311
- quality_score: analysisResult.quality_score,
312
- issue_count: (analysisResult.issues || []).length
313
- };
314
- Write(`${sessionDir}/step-${stepIdx + 1}-analysis.json`, JSON.stringify(analysisResult, null, 2));
315
-
316
- // Advance
317
- state.current_step = stepIdx + 1;
318
- Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
319
-
320
- if (state.current_step < state.steps.length) { /* → Step 6 */ }
321
- else { /* → Step 8 */ }
322
- ```
323
-
324
- ---
174
+ Post-analyze: store quality_score + issues + next_step_hints in `state.step_analyses[]`, chain gemini sessions via `--resume`.
325
175
 
326
176
  ### Step 8: Completion Report
327
177
 
328
- ```javascript
329
- const done = state.steps.filter(s => s.status === 'completed').length;
330
- state.status = state.steps.some(s => s.status === 'failed') ? 'completed_with_errors' : 'completed';
331
- state.completed_at = new Date().toISOString();
332
- Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
333
- ```
334
-
335
178
  ```
336
179
  ============================================================
337
180
  MAESTRO-COORDINATE COMPLETE
338
181
  ============================================================
339
182
  Session: {session_id}
340
183
  Chain: {chain_name} ({done}/{total})
341
- Tool: {cliTool}
342
184
 
343
185
  Steps:
344
186
  [✓] 1. maestro-plan — completed (quality: 85/100)
@@ -348,32 +190,24 @@ Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
348
190
  Next: $maestro-coordinate --continue
349
191
  ============================================================
350
192
  ```
193
+ </execution>
351
194
 
352
- ---
353
-
354
- ## Error Handling
355
-
195
+ <error_codes>
356
196
  | Code | Severity | Description | Recovery |
357
197
  |------|----------|-------------|----------|
358
198
  | E001 | error | No intent and project not initialized | Suggest $maestro-init |
359
199
  | E002 | error | Clarity too low after 2 rounds | Ask to rephrase |
360
200
  | E003 | error | Step failed + abort | Suggest resume with -c |
361
201
  | E004 | error | Resume session not found | Show available sessions |
362
- | E005 | error | CLI tool unavailable | Try fallback tool |
363
-
364
- ---
365
-
366
- ## Core Rules
367
-
368
- 1. **Semantic routing** LLM-native structured extraction (`action × object`) replaces regex; disambiguates by context
369
- 2. **STOP after each `codex delegate` call** background execution, wait for hook callback
370
- 3. **State machine** advance via `current_step`, no sync loops for async operations
371
- 4. **Template-driven** all steps use `coordinate-step.txt`, no per-command prompt assembly
372
- 5. **Context propagation** parse PHASE / spec session ID / scratch_dir / issue_id from each step output, feed to next step
373
- 6. **Quality gates** — issue chains auto-include review; `issue-full` is default for issue execution
374
- 7. **Tool fallback** — if `codex delegate` fails: retry with same tool once, then try `gemini` → `qwen`
375
- 8. **Auto-confirm injection** — `{{AUTO_DIRECTIVE}}` in template prevents blocking during background execution
376
- 9. **Resumable** — `-c` reads `state.json`, jumps to first pending step
377
- 10. **Gemini analysis after each step** — evaluate output quality via `codex delegate --to gemini --mode analysis`, chained via `--resume`
378
- 11. **Session capture** — after each gemini callback, capture exec_id → `gemini_session_id` for resume chain
379
- 12. **Analysis skip conditions** — skip gemini analysis for: failed/skipped steps, single-step chains
202
+ </error_codes>
203
+
204
+ <success_criteria>
205
+ - [ ] Intent classified and chain selected via detectTaskType + chainMap
206
+ - [ ] Each step executed via `maestro delegate` with coordinate-step template
207
+ - [ ] Auto-confirm injected, structured return parsed
208
+ - [ ] Each completed step analyzed via `maestro delegate --to gemini --mode analysis`
209
+ - [ ] Analysis hints injected into next step prompt via `{{ANALYSIS_HINTS}}`
210
+ - [ ] Gemini sessions chained via `--resume` for accumulated context
211
+ - [ ] Session state at .workflow/.maestro-coordinate/{session_id}/
212
+ - [ ] Completion report with per-step status and quality scores
213
+ </success_criteria>