maestro-flow 0.3.14 → 0.3.16

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 (392) hide show
  1. package/.claude/commands/maestro-amend.md +300 -0
  2. package/.claude/commands/maestro-analyze.md +1 -49
  3. package/.claude/commands/maestro-composer.md +354 -0
  4. package/.claude/commands/maestro-execute.md +2 -56
  5. package/.claude/commands/maestro-fork.md +3 -50
  6. package/.claude/commands/maestro-merge.md +2 -26
  7. package/.claude/commands/maestro-milestone-audit.md +1 -5
  8. package/.claude/commands/maestro-milestone-complete.md +1 -7
  9. package/.claude/commands/maestro-plan.md +6 -127
  10. package/.claude/commands/maestro-player.md +404 -0
  11. package/.claude/commands/maestro-roadmap.md +3 -101
  12. package/.claude/commands/maestro-spec-generate.md +1 -25
  13. package/.claude/commands/maestro-ui-design.md +14 -73
  14. package/.claude/commands/maestro-verify.md +1 -32
  15. package/.claude/commands/maestro.md +13 -30
  16. package/.claude/commands/manage-harvest.md +7 -44
  17. package/.claude/commands/manage-knowhow-capture.md +193 -0
  18. package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
  19. package/.claude/commands/manage-learn.md +3 -28
  20. package/.claude/commands/manage-status.md +1 -20
  21. package/.claude/commands/manage-wiki.md +1 -1
  22. package/.claude/commands/quality-business-test.md +1 -1
  23. package/.claude/commands/quality-debug.md +3 -18
  24. package/.claude/commands/quality-integration-test.md +3 -23
  25. package/.claude/commands/quality-retrospective.md +1 -28
  26. package/.claude/commands/quality-review.md +3 -52
  27. package/.claude/commands/quality-test-gen.md +1 -10
  28. package/.claude/commands/quality-test.md +3 -25
  29. package/.claude/commands/spec-add.md +1 -21
  30. package/.claude/commands/spec-load.md +1 -16
  31. package/.claude/commands/wiki-connect.md +2 -112
  32. package/.claude/commands/wiki-digest.md +2 -141
  33. package/.claude/skills/skill-iter-tune/SKILL.md +382 -0
  34. package/.claude/skills/skill-iter-tune/phases/01-setup.md +144 -0
  35. package/.claude/skills/skill-iter-tune/phases/02-execute.md +292 -0
  36. package/.claude/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
  37. package/.claude/skills/skill-iter-tune/phases/04-improve.md +186 -0
  38. package/.claude/skills/skill-iter-tune/phases/05-report.md +166 -0
  39. package/.claude/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
  40. package/.claude/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
  41. package/.claude/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
  42. package/.claude/skills/workflow-skill-designer/SKILL.md +496 -0
  43. package/.claude/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
  44. package/.claude/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
  45. package/.claude/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
  46. package/.claude/skills/workflow-skill-designer/phases/04-validation.md +471 -0
  47. package/.codex/skills/learn-decompose/SKILL.md +2 -8
  48. package/.codex/skills/maestro/SKILL.md +60 -146
  49. package/.codex/skills/maestro-analyze/SKILL.md +52 -150
  50. package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
  51. package/.codex/skills/maestro-composer/SKILL.md +213 -0
  52. package/.codex/skills/maestro-execute/SKILL.md +46 -177
  53. package/.codex/skills/maestro-init/SKILL.md +7 -51
  54. package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
  55. package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
  56. package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
  57. package/.codex/skills/maestro-overlay/SKILL.md +23 -92
  58. package/.codex/skills/maestro-plan/SKILL.md +42 -166
  59. package/.codex/skills/maestro-player/SKILL.md +323 -0
  60. package/.codex/skills/maestro-quick/SKILL.md +5 -48
  61. package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
  62. package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
  63. package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
  64. package/.codex/skills/maestro-verify/SKILL.md +39 -136
  65. package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
  66. package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
  67. package/.codex/skills/manage-issue/SKILL.md +1 -6
  68. package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
  69. package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
  70. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
  71. package/.codex/skills/manage-learn/SKILL.md +17 -71
  72. package/.codex/skills/manage-status/SKILL.md +4 -35
  73. package/.codex/skills/manage-wiki/SKILL.md +1 -1
  74. package/.codex/skills/quality-business-test/SKILL.md +2 -14
  75. package/.codex/skills/quality-debug/SKILL.md +41 -133
  76. package/.codex/skills/quality-integration-test/SKILL.md +36 -145
  77. package/.codex/skills/quality-refactor/SKILL.md +6 -59
  78. package/.codex/skills/quality-retrospective/SKILL.md +292 -531
  79. package/.codex/skills/quality-review/SKILL.md +30 -65
  80. package/.codex/skills/quality-sync/SKILL.md +2 -11
  81. package/.codex/skills/quality-test/SKILL.md +4 -45
  82. package/.codex/skills/quality-test-gen/SKILL.md +33 -121
  83. package/.codex/skills/spec-add/SKILL.md +2 -9
  84. package/.codex/skills/spec-load/SKILL.md +4 -14
  85. package/.codex/skills/spec-map/SKILL.md +4 -37
  86. package/.codex/skills/spec-remove/SKILL.md +3 -35
  87. package/.codex/skills/spec-setup/SKILL.md +2 -19
  88. package/.codex/skills/team-coordinate/SKILL.md +20 -132
  89. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
  90. package/.codex/skills/team-executor/SKILL.md +7 -66
  91. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
  92. package/.codex/skills/team-executor/specs/session-schema.md +22 -56
  93. package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
  94. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
  95. package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
  96. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
  97. package/.codex/skills/team-review/SKILL.md +12 -86
  98. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
  99. package/.codex/skills/team-tech-debt/SKILL.md +11 -50
  100. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
  101. package/.codex/skills/team-testing/SKILL.md +14 -99
  102. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
  103. package/.codex/skills/wiki-connect/SKILL.md +2 -5
  104. package/README.md +6 -0
  105. package/README.zh-CN.md +6 -0
  106. package/chains/_intent-map.json +7 -7
  107. package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
  108. package/chains/singles/{memory.json → knowhow.json} +6 -6
  109. package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
  110. package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
  111. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
  112. package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
  113. package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
  114. package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
  115. package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
  116. package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
  117. package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
  118. package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
  119. package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
  120. package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
  121. package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
  122. package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
  123. package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
  124. package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
  125. package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
  126. package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
  127. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
  128. package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
  129. package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
  130. package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
  131. package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
  132. package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
  133. package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
  134. package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
  135. package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
  136. package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
  137. package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
  138. package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
  139. package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
  140. package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
  141. package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
  142. package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
  143. package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
  144. package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
  145. package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
  146. package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
  147. package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
  148. package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
  149. package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
  150. package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
  151. package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
  152. package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
  153. package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
  154. package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
  155. package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
  156. package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
  157. package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
  158. package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
  159. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
  160. package/dashboard/dist/index.html +2 -2
  161. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
  162. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
  163. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  164. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
  165. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  166. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
  167. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
  168. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  169. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
  170. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
  171. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
  172. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  173. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
  174. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
  175. package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
  176. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  177. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
  178. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
  179. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
  180. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
  181. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
  182. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
  183. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
  184. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
  185. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
  186. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
  187. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
  188. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
  189. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
  190. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
  191. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
  192. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
  193. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
  194. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
  195. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
  196. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
  197. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
  198. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
  199. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
  200. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
  201. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
  202. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
  203. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
  204. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
  205. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
  206. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
  207. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
  208. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
  209. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
  210. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
  211. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
  212. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
  213. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
  214. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
  215. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
  216. package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
  217. package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
  218. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
  219. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  220. package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
  221. package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
  222. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  223. package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
  224. package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
  225. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
  226. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  227. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
  228. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
  229. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
  230. package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
  231. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
  232. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
  233. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
  234. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  235. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
  236. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  237. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
  238. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
  239. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  240. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
  241. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  242. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
  243. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  244. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
  245. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  246. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
  247. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
  248. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  249. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
  250. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
  251. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  252. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
  253. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
  254. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  255. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
  256. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
  257. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
  258. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
  259. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
  260. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
  261. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
  262. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
  263. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
  264. package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
  265. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  266. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
  267. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
  268. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
  269. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
  270. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  271. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
  272. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
  273. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  274. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  275. package/dashboard/dist-server/src/commands/delegate.js +11 -8
  276. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  277. package/dist/shared/agent-types.d.ts +2 -0
  278. package/dist/shared/agent-types.d.ts.map +1 -1
  279. package/dist/src/cli.js +2 -2
  280. package/dist/src/cli.js.map +1 -1
  281. package/dist/src/commands/delegate.d.ts.map +1 -1
  282. package/dist/src/commands/delegate.js +11 -8
  283. package/dist/src/commands/delegate.js.map +1 -1
  284. package/dist/src/commands/install-backend.d.ts +1 -1
  285. package/dist/src/commands/install-backend.d.ts.map +1 -1
  286. package/dist/src/commands/install-backend.js +1 -1
  287. package/dist/src/commands/install-backend.js.map +1 -1
  288. package/dist/src/commands/knowhow.d.ts +10 -0
  289. package/dist/src/commands/knowhow.d.ts.map +1 -0
  290. package/dist/src/commands/knowhow.js +217 -0
  291. package/dist/src/commands/knowhow.js.map +1 -0
  292. package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
  293. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
  294. package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
  295. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
  296. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
  297. package/dist/src/commands/overlay-ui/index.js +70 -44
  298. package/dist/src/commands/overlay-ui/index.js.map +1 -1
  299. package/dist/src/commands/overlay.d.ts.map +1 -1
  300. package/dist/src/commands/overlay.js +4 -3
  301. package/dist/src/commands/overlay.js.map +1 -1
  302. package/dist/src/core/overlay/applier.d.ts +1 -1
  303. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  304. package/dist/src/core/overlay/applier.js +40 -13
  305. package/dist/src/core/overlay/applier.js.map +1 -1
  306. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  307. package/dist/src/core/overlay/loader.js +6 -0
  308. package/dist/src/core/overlay/loader.js.map +1 -1
  309. package/dist/src/core/overlay/types.d.ts +5 -1
  310. package/dist/src/core/overlay/types.d.ts.map +1 -1
  311. package/dist/src/core/overlay/types.js +1 -1
  312. package/dist/src/core/overlay/types.js.map +1 -1
  313. package/dist/src/hooks/context-monitor.js +1 -1
  314. package/dist/src/hooks/context-monitor.js.map +1 -1
  315. package/dist/src/hooks/skill-context.js +1 -1
  316. package/dist/src/hooks/skill-context.js.map +1 -1
  317. package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
  318. package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
  319. package/dist/src/mcp/delegate-channel-relay.js +73 -4
  320. package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
  321. package/dist/src/tools/index.js +2 -2
  322. package/dist/src/tools/index.js.map +1 -1
  323. package/dist/src/tools/store-knowhow.d.ts +21 -0
  324. package/dist/src/tools/store-knowhow.d.ts.map +1 -0
  325. package/dist/src/tools/store-knowhow.js +295 -0
  326. package/dist/src/tools/store-knowhow.js.map +1 -0
  327. package/package.json +1 -1
  328. package/shared/agent-types.ts +2 -0
  329. package/templates/workflows/specs/node-catalog.md +170 -0
  330. package/templates/workflows/specs/template-schema.md +157 -0
  331. package/workflows/analyze.md +61 -185
  332. package/workflows/brainstorm.md +3 -23
  333. package/workflows/codebase-rebuild.md +79 -191
  334. package/workflows/codebase-refresh.md +26 -124
  335. package/workflows/debug.md +21 -141
  336. package/workflows/execute.md +183 -350
  337. package/workflows/fork.md +72 -230
  338. package/workflows/harvest.md +12 -79
  339. package/workflows/init.md +3 -17
  340. package/workflows/integration-test.md +21 -190
  341. package/workflows/issue-analyze.md +35 -153
  342. package/workflows/issue-discover.md +88 -263
  343. package/workflows/issue-execute.md +29 -208
  344. package/workflows/issue-plan.md +33 -154
  345. package/workflows/issue.md +44 -202
  346. package/workflows/knowhow.md +374 -0
  347. package/workflows/learn.md +30 -177
  348. package/workflows/maestro-coordinate.codex.md +77 -362
  349. package/workflows/maestro-link-coordinate.md +12 -61
  350. package/workflows/maestro.codex.md +124 -457
  351. package/workflows/maestro.md +562 -976
  352. package/workflows/map.md +16 -53
  353. package/workflows/merge.md +42 -197
  354. package/workflows/milestone-audit.md +5 -43
  355. package/workflows/milestone-complete.md +11 -60
  356. package/workflows/plan.md +176 -387
  357. package/workflows/quick.md +25 -174
  358. package/workflows/refactor.md +28 -221
  359. package/workflows/retrospective.md +104 -443
  360. package/workflows/review.md +87 -299
  361. package/workflows/roadmap.md +117 -97
  362. package/workflows/spec-generate.md +22 -118
  363. package/workflows/specs-add.md +5 -25
  364. package/workflows/specs-load.md +1 -5
  365. package/workflows/specs-remove.md +0 -11
  366. package/workflows/specs-setup.md +11 -47
  367. package/workflows/status.md +58 -200
  368. package/workflows/sync.md +28 -141
  369. package/workflows/test-gen.md +23 -100
  370. package/workflows/test.md +15 -125
  371. package/workflows/ui-design.md +139 -465
  372. package/workflows/ui-style.md +36 -228
  373. package/workflows/verify.md +52 -273
  374. package/workflows/wiki-connect.md +9 -46
  375. package/workflows/wiki-digest.md +7 -50
  376. package/workflows/wiki-manage.md +11 -108
  377. package/.claude/commands/maestro-coordinate.md +0 -63
  378. package/.claude/commands/manage-memory-capture.md +0 -59
  379. package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
  380. package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
  381. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
  382. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
  383. package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
  384. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
  385. package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
  386. package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
  387. package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
  388. package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
  389. package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
  390. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
  391. package/workflows/maestro-coordinate.md +0 -582
  392. package/workflows/memory.md +0 -451
@@ -36,66 +36,15 @@ All plan output goes to `.workflow/scratch/{YYYYMMDD}-plan-[P{N}-|M{N}-]{slug}/`
36
36
  <context>
37
37
  $ARGUMENTS — phase number, or no args for milestone-wide planning, with optional flags.
38
38
 
39
- **Flags:**
40
- - `--collab` -- Multi-planner collaborative mode (spawn N workflow-collab-planner agents with pre-allocated TASK ID ranges)
41
- - `--spec SPEC-xxx` -- Reference a task-spec for requirements input
42
- - `--auto` -- Skip interactive clarification (P2), use defaults
43
- - `--gaps` -- Gap closure mode: load verification/issue gaps, skip exploration, plan only gap fixes
44
- - `--dir <path>` -- Use arbitrary scratch directory as context source (e.g., from analyze session)
45
- - `--revise [instructions]` -- Revise existing plan. Auto-discovers latest plan for current phase from state.json, or use with `--dir` to target specific plan. If instructions provided, apply directly (e.g. `--revise "add TASK-005 for error handling"`). If omitted, ask user via AskUserQuestion. Skips P1-P3 (exploration/clarification/planning), loads existing plan.json + tasks, applies targeted modifications, re-runs P4 (plan-checker).
46
- - `--check <plan-dir>` -- Standalone plan verification. Run plan-checker (P4 only) against existing plan without modification. Also checks roadmap consistency and collision detection. Read-only.
39
+ Scope routing, base flags (`--collab`, `--spec`, `--auto`, `--gaps`, `--dir`), output directory format, and artifact registration are defined in workflow plan.md.
47
40
 
48
- **Scope routing:**
49
-
50
- | Invocation | Precondition | Scope | Behavior |
51
- |-----------|-------------|-------|----------|
52
- | `plan` (no args) | init + roadmap | milestone | Plan all phases in current milestone |
53
- | `plan 1` | init + roadmap | phase | Plan phase 1 only |
54
- | `plan --dir scratch/analyze-xxx` | none | inherited | Plan against specified analyze session |
55
- | `plan --revise "instructions"` | existing plan | revise | Modify existing plan with instructions |
56
- | `plan --revise` | existing plan | revise | Modify existing plan, ask user for instructions |
57
- | `plan --check scratch/plan-xxx` | existing plan | check | Verify existing plan (read-only) |
41
+ **Command-level flags** (extensions beyond workflow base):
42
+ - `--revise [instructions]` -- See workflow plan.md § Revise Mode
43
+ - `--check <plan-dir>` -- See workflow plan.md § Check Mode
58
44
 
59
45
  **Upstream context:**
60
46
  - Reads `context.md` from prior analyze artifact (auto-discovered from state.json or via --dir)
61
47
  - Reads `conclusions.json` if available (implementation_scope seeds task generation)
62
-
63
- **Output directory** (relative to `.workflow/`):
64
-
65
- | Scope | Directory format | Example |
66
- |-------|-----------------|---------|
67
- | Phase | `scratch/{YYYYMMDD}-plan-P{N}-{slug}/` | `20260420-plan-P1-auth` |
68
- | Milestone | `scratch/{YYYYMMDD}-plan-M{N}-{slug}/` | `20260420-plan-M1-mvp` |
69
- | Adhoc/Standalone | `scratch/{YYYYMMDD}-plan-{slug}/` | `20260420-plan-caching` |
70
-
71
- **Output structure:**
72
- ```
73
- {YYYYMMDD}-plan-P{N}-{slug}/
74
- ├── plan.json # summary, task_ids[], waves[] with phase labels
75
- └── .task/
76
- ├── TASK-001.json # { phase: 1, phase_slug: "auth", ... }
77
- ├── TASK-002.json
78
- └── ...
79
- ```
80
-
81
- **Collision detection**: After plan generation, before user confirmation, check for file overlaps with existing plans in same milestone. Non-blocking warning only.
82
-
83
- **Artifact registration**: On completion, register in `state.json.artifacts[]`:
84
- ```jsonc
85
- {
86
- "id": "PLN-{NNN}",
87
- "type": "plan",
88
- "milestone": "{current_milestone or null}",
89
- "phase": "{phase_number or null}",
90
- "scope": "{milestone|phase|adhoc|standalone}",
91
- "path": "scratch/{YYYYMMDD}-plan-P{N}-{slug}", // P{N} for phase, M{N} for milestone, omit for adhoc/standalone
92
- "status": "completed",
93
- "depends_on": "{ANL-NNN or null}",
94
- "harvested": false,
95
- "created_at": "...",
96
- "completed_at": "..."
97
- }
98
- ```
99
48
  </context>
100
49
 
101
50
  <execution>
@@ -158,79 +107,9 @@ Next steps:
158
107
  /maestro-plan {phase} -- Re-plan with modifications
159
108
  ```
160
109
 
161
- ### Mode: Revise (`--revise [instructions]`)
162
-
163
- Incrementally modify an existing plan without rebuilding from scratch.
164
-
165
- **Plan discovery:**
166
- - With `--dir`: use specified plan directory
167
- - Without `--dir`: auto-discover latest completed plan for current phase from `state.json.artifacts[]` (type=plan, status=completed, matching phase)
168
-
169
- **Execution flow:**
170
-
171
- 1. **Load existing plan**
172
- - Read `plan.json` + all `.task/TASK-*.json` from discovered directory
173
- - Show current plan summary: task count, waves, status per task
174
-
175
- 2. **Obtain revision instructions**
176
- - If `--revise "instructions"` provided → parse as change directive
177
- - If `--revise` without instructions → AskUserQuestion for what to change:
178
- - Add/remove tasks
179
- - Modify task scope, action, implementation
180
- - Reorder waves or adjust dependencies
181
- - Update convergence criteria
182
- - Parse instructions into concrete changes
183
-
184
- 3. **Apply targeted changes**
185
- - Modify affected TASK files in-place
186
- - If tasks added/removed: re-sequence task IDs, regenerate wave assignments
187
- - Update plan.json summary (task count, wave structure)
188
- - Preserve unmodified tasks completely
189
-
190
- 4. **Re-run plan-checker (P4)**
191
- - Validate modified plan with same checker as create mode
192
- - Re-run collision detection against same-milestone plans
193
- - Present check results for confirmation
194
-
195
- 5. **Update artifact**
196
- - Overwrite plan files in existing scratch directory
197
- - Update artifact timestamp in state.json (no new artifact created)
198
-
199
- ### Mode: Check (`--check <plan-dir>`)
200
-
201
- Read-only plan verification without modification.
202
-
203
- **Execution flow:**
204
-
205
- 1. **Load plan**
206
- - Read `plan.json` + `.task/TASK-*.json` from specified directory
207
- - Read `.workflow/roadmap.md` for consistency comparison
208
-
209
- 2. **Run checks**
210
- - Plan-checker (P4 pipeline stage) — task quality, convergence criteria
211
- - Roadmap consistency — plan tasks align with phase scope and requirements
212
- - Collision detection — file overlaps with other plans in same milestone
213
- - Dependency integrity — no broken cross-task dependencies
214
-
215
- 3. **Produce check report**
216
- ```
217
- === PLAN CHECK ===
218
- Plan: {plan_dir}/plan.json
219
- Tasks: {total} ({completed} done, {pending} pending)
220
-
221
- Checker: {PASS|WARN|FAIL} ({issues} issues)
222
- Roadmap: {aligned|drift detected}
223
- Collision: {clear|{N} overlaps}
224
-
225
- Issues:
226
- 1. [{severity}] {description}
227
-
228
- Suggested actions:
229
- /maestro-plan --revise "fix instructions" -- Apply fixes
230
- /maestro-execute --dir {plan_dir} -- Execute as-is
231
- ```
110
+ ### Mode: Revise / Check
232
111
 
233
- **No file modifications.** Pure verification + report.
112
+ Follow workflow plan.md § "Revise Mode" and § "Check Mode" respectively. These modes bypass the standard P1-P5 create pipeline.
234
113
  </execution>
235
114
 
236
115
  <error_codes>
@@ -0,0 +1,404 @@
1
+ ---
2
+ name: maestro-player
3
+ description: Workflow template player — load JSON template, bind variables, execute DAG nodes in order, persist state at checkpoints, support resume
4
+ argument-hint: "<template-slug|path> [--context key=value...] [-c [session-id]] [--list] [--dry-run]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ - Skill
15
+ ---
16
+ <purpose>
17
+ Load a workflow template (produced by maestro-composer) → bind context variables →
18
+ execute DAG nodes in topological order → persist state at checkpoints → support resume.
19
+
20
+ Node execution mechanisms:
21
+ - `skill` node → `Skill()` (synchronous)
22
+ - `command` node → `Skill()` with namespace (synchronous)
23
+ - `cli` node → `maestro delegate` (background + wait for callback)
24
+ - `agent` node → `Agent()` (sync or background per config)
25
+ - `checkpoint` node → state save, optional user pause
26
+
27
+ Session state persisted at `.workflow/.maestro/<session_id>/status.json` (same tracking
28
+ location as maestro.md), enabling resume from any checkpoint via `-c`.
29
+ </purpose>
30
+
31
+ <context>
32
+ $ARGUMENTS — template slug/path, or flags.
33
+
34
+ **Flags:**
35
+ - `--context key=value` — Bind context variables (repeatable)
36
+ - `-c` / `--continue [session-id]` — Resume paused/interrupted session (consistent with maestro.md)
37
+ - `--list` — List available templates from `~/.maestro/templates/workflows/index.json`
38
+ - `--dry-run` — Show execution plan without executing
39
+
40
+ **Entry routing:**
41
+
42
+ | Detection | Condition | Handler |
43
+ |-----------|-----------|---------|
44
+ | List templates | `--list` in args | handleList |
45
+ | Resume session | `-c [session-id]` | Phase 0: Resume |
46
+ | Dry run | `--dry-run` in args | Phase 1 + 2, print plan, exit |
47
+ | Normal | Template slug/path provided | Phase 1 |
48
+ | No args | Empty args | handleList + AskUserQuestion |
49
+
50
+ **Shared constants (aligned with maestro.md tracking):**
51
+
52
+ | Constant | Value |
53
+ |----------|-------|
54
+ | Session prefix | `player` |
55
+ | Session dir | `.workflow/.maestro/player-<YYYYMMDD>-<HHmmss>/` |
56
+ | State file | `status.json` |
57
+ | Template dir (global) | `~/.maestro/templates/workflows/` |
58
+ | Template index (global) | `~/.maestro/templates/workflows/index.json` |
59
+
60
+ **Session status.json schema (aligned with maestro.md):**
61
+
62
+ ```json
63
+ {
64
+ "session_id": "player-<YYYYMMDD>-<HHmmss>",
65
+ "created_at": "<ISO>",
66
+ "intent": "<template_name> with context",
67
+ "task_type": "player",
68
+ "chain_name": "<template_id>",
69
+ "template_id": "wft-<slug>-<date>",
70
+ "template_path": "~/.maestro/templates/workflows/<slug>.json",
71
+ "template_name": "<name>",
72
+ "auto_mode": false,
73
+ "status": "running | paused | completed | failed | aborted",
74
+ "context": { "goal": "...", "scope": "..." },
75
+ "steps": [
76
+ {
77
+ "index": 0,
78
+ "node_id": "N-001",
79
+ "skill": "<executor>",
80
+ "args": "<resolved_args>",
81
+ "type": "skill | cli | command | agent | checkpoint",
82
+ "status": "pending | running | completed | skipped | failed",
83
+ "started_at": null,
84
+ "completed_at": null,
85
+ "session_id": null,
86
+ "output_path": null,
87
+ "artifacts": [],
88
+ "error": null
89
+ }
90
+ ],
91
+ "current_step": 0,
92
+ "last_checkpoint": null,
93
+ "updated_at": "<ISO>",
94
+ "completed_at": null
95
+ }
96
+ ```
97
+
98
+ **Session directory structure (under .workflow/.maestro/):**
99
+
100
+ ```
101
+ .workflow/.maestro/player-<YYYYMMDD>-<HHmmss>/
102
+ ├── status.json # Main state file (maestro.md compatible)
103
+ ├── checkpoints/
104
+ │ ├── CP-01.json
105
+ │ └── CP-02.json
106
+ └── artifacts/
107
+ └── N-001-output.md
108
+ ```
109
+
110
+ **Node execution mechanisms:**
111
+
112
+ | Node type | Mechanism | Blocking |
113
+ |-----------|-----------|----------|
114
+ | skill | `Skill(skill=executor, args=resolved_args)` | sync |
115
+ | command | `Skill(skill=executor, args=resolved_args)` | sync |
116
+ | cli | `maestro delegate "prompt" --to tool --mode mode --rule rule` via `Bash(run_in_background: true)` | async, wait for callback |
117
+ | agent | `Agent(subagent_type=executor, prompt=resolved_args)` | configurable |
118
+ | checkpoint | State save + optional user pause | — |
119
+
120
+ **Runtime reference resolution:**
121
+
122
+ Before executing each node, resolve `{ref}` patterns in `args_template`:
123
+
124
+ | Reference | Resolves To |
125
+ |-----------|-------------|
126
+ | `{variable}` | `session_state.context[variable]` |
127
+ | `{N-001.session_id}` | `node_states["N-001"].session_id` |
128
+ | `{N-001.output_path}` | `node_states["N-001"].output_path` |
129
+ | `{prev_session_id}` | session_id of previous non-checkpoint node |
130
+ | `{prev_output_path}` | output_path of previous non-checkpoint node |
131
+
132
+ Fallback: if referenced field is null, substitution results in empty string.
133
+ </context>
134
+
135
+ <execution>
136
+
137
+ ### handleList
138
+
139
+ Scan `~/.maestro/templates/workflows/index.json`. Display:
140
+ ```
141
+ Available workflow templates:
142
+ feature-tdd-review [feature, complex] 3 work nodes, 2 checkpoints
143
+ quick-bugfix [bugfix, simple] 2 work nodes, 1 checkpoint
144
+
145
+ Run: /maestro-player <slug> --context goal="..."
146
+ ```
147
+
148
+ If index not found, output: "No templates found. Create one with /maestro-composer"
149
+
150
+ ---
151
+
152
+ ### Phase 0: Resume — Session Reconciliation
153
+
154
+ **Trigger**: `-c [session-id]`
155
+
156
+ 1. If session-id provided: load `.workflow/.maestro/<session-id>/status.json`
157
+ 2. If no session-id: scan `.workflow/.maestro/player-*/status.json` for `status = "running" | "paused"`
158
+ 3. Multiple found → AskUserQuestion for selection
159
+ 4. None found → error E004
160
+ 5. Reset any `running` steps back to `pending` (interrupted mid-execution)
161
+ 6. Determine next executable step from `steps[]` after `last_checkpoint`
162
+ 7. Set `current_step` to resume point
163
+ 8. Resume at Phase 3 (Execute Loop) from that step
164
+
165
+ ---
166
+
167
+ ### Phase 1: Load & Bind
168
+
169
+ **Objective**: Load template, collect missing variables, bind all references.
170
+
171
+ **Step 1.1** — Resolve template path:
172
+ 1. Absolute path → use as-is
173
+ 2. Relative path (`.` prefix) → resolve from cwd
174
+ 3. Slug only → look up in `~/.maestro/templates/workflows/index.json`
175
+ 4. Partial match → scan index, confirm with user
176
+ 5. Not found → show available templates, AskUserQuestion
177
+
178
+ **Step 1.2** — Parse `--context key=value` pairs into `bound_context`.
179
+
180
+ **Step 1.3** — Load and validate template JSON (`template_id`, `nodes`, `edges`, `context_schema` must be present).
181
+
182
+ **Step 1.4** — Collect missing required variables:
183
+ - For each `context_schema` entry where `required: true` and not in `bound_context`:
184
+ AskUserQuestion to collect value
185
+ - For optional variables: use `default` or empty string
186
+
187
+ **Step 1.5** — Bind variables: replace `{variable_name}` with values in all `args_template` strings. Leave `{N-xxx.field}` and `{prev_*}` unresolved (runtime Phase 3).
188
+
189
+ **Step 1.6** — If `--dry-run`: print execution plan and exit:
190
+ ```
191
+ Workflow: <template.name>
192
+ Context: goal = "<value>"
193
+
194
+ Execution Plan:
195
+ [1] N-001 [skill] maestro-plan "<goal>"
196
+ [2] CP-01 [checkpoint] After Plan auto-continue
197
+ [3] N-002 [skill] maestro-execute --resume-session {N-001.session_id}
198
+
199
+ To execute: /maestro-player <slug> --context goal="..."
200
+ ```
201
+
202
+ ---
203
+
204
+ ### Phase 2: Instantiate — Init Session State
205
+
206
+ **Objective**: Create session directory, init state, compute execution plan.
207
+
208
+ **Step 2.1** — Generate session ID: `player-<YYYYMMDD>-<HHmmss>`. Create directory at `.workflow/.maestro/<session_id>/`.
209
+
210
+ **Step 2.2** — Topological sort via Kahn's algorithm. Flatten nodes into `steps[]` array (maestro.md format). Parallel nodes get same batch index.
211
+
212
+ **Step 2.3** — Init all steps as `status: "pending"`.
213
+
214
+ **Step 2.4** — Write `status.json` (see schema in Context section).
215
+
216
+ **Step 2.5** — Show execution start banner:
217
+ ```
218
+ ============================================================
219
+ MAESTRO PLAYER
220
+ ============================================================
221
+ Template: <template.name>
222
+ Session: <session_id>
223
+ Context: goal="<value>"
224
+
225
+ Pipeline:
226
+ 1. N-001 [skill] maestro-plan
227
+ 2. CP-01 [checkpoint] After Plan
228
+ 3. N-002 [skill] maestro-execute
229
+ ============================================================
230
+ ```
231
+
232
+ ---
233
+
234
+ ### Phase 3: Execute Loop
235
+
236
+ **Objective**: Execute each step in order. Save state after every step.
237
+
238
+ **CRITICAL**: After each step status change, write `status.json` immediately. This enables resume on interruption.
239
+
240
+ **For each step starting at `current_step`:**
241
+
242
+ **3a. Display step banner** (consistent with maestro.md):
243
+ ```
244
+ ------------------------------------------------------------
245
+ STEP {i+1}/{total}: {node_id} [{type}] {executor}
246
+ ------------------------------------------------------------
247
+ Args: {resolved_args}
248
+ ```
249
+
250
+ **3b. Update status.json**: Set step status = `"running"`, started_at = now.
251
+
252
+ **3c. Execute by node type:**
253
+
254
+ **skill / command node**:
255
+ ```
256
+ resolved_args = resolveArgs(step.args_template, status)
257
+ Skill(skill=step.skill, args=resolved_args)
258
+
259
+ Extract from result: session_id (WFS-*), output_path, artifacts
260
+ Update step: status="completed", session_id, output_path, artifacts, completed_at
261
+ Write status.json
262
+ ```
263
+
264
+ **cli node — CRITICAL: background + stop**:
265
+ ```
266
+ resolved_args = resolveArgs(step.args_template, status)
267
+
268
+ Bash({
269
+ command: `maestro delegate "${resolved_args}" --to ${step.cli_tool} --mode ${step.cli_mode} --rule ${step.cli_rule}`,
270
+ run_in_background: true
271
+ })
272
+
273
+ Write status.json // persist "running" state
274
+ STOP — wait for background callback
275
+ ```
276
+
277
+ On callback:
278
+ ```
279
+ Load status.json
280
+ Find step with status "running"
281
+ Retrieve output: maestro delegate output <exec_id>
282
+ Update step: status="completed", output_path, completed_at
283
+ Write status.json
284
+ Advance to next step
285
+ ```
286
+
287
+ **agent node**:
288
+ ```
289
+ resolved_args = resolveArgs(step.args_template, status)
290
+
291
+ Agent({
292
+ subagent_type: step.skill,
293
+ prompt: resolved_args,
294
+ run_in_background: step.run_in_background ?? false,
295
+ description: step.node_id
296
+ })
297
+
298
+ Update step: status="completed", output_path, completed_at
299
+ Write status.json
300
+ ```
301
+
302
+ **checkpoint node**:
303
+ ```
304
+ // 1. Write checkpoint snapshot
305
+ Write <session_dir>/checkpoints/<step.node_id>.json with:
306
+ session_id, checkpoint_id, saved_at, steps_snapshot, last_completed_step
307
+
308
+ // 2. Update status.json
309
+ status.last_checkpoint = step.node_id
310
+ Mark step completed, write status.json
311
+
312
+ // 3. If auto_continue == false: pause for user
313
+ AskUserQuestion:
314
+ - Continue → proceed
315
+ - Pause → set status="paused", write status.json, output resume command, EXIT
316
+ - Abort → set status="aborted", EXIT
317
+ ```
318
+
319
+ **3d. Handle result** (consistent with maestro.md):
320
+
321
+ On success: update step status = `"completed"`, advance `current_step`.
322
+
323
+ On failure:
324
+ ```
325
+ on_fail = step.on_fail || "abort"
326
+
327
+ skip → mark "skipped", log warning, advance
328
+ retry → retry once, if still fails → fall to abort
329
+ abort → AskUserQuestion: Retry / Skip / Abort
330
+ On Abort: save progress, display: "Resume with: /maestro-player -c"
331
+ ```
332
+
333
+ **3e. Context cleanup hint** (after step 3+, consistent with maestro.md):
334
+ ```
335
+ ⚡ 已执行 {i} 步,上下文较重。可随时 /maestro-player -c 在新上下文中恢复。
336
+ ```
337
+
338
+ ---
339
+
340
+ ### Phase 4: Complete — Archive + Summary
341
+
342
+ **Objective**: Mark session complete, output summary.
343
+
344
+ **Step 4.1** — Set `status = "completed"`, `completed_at = <ISO>`, write `status.json`.
345
+
346
+ **Step 4.2** — Collect all artifacts from steps.
347
+
348
+ **Step 4.3** — Display execution summary (consistent with maestro.md):
349
+ ```
350
+ ============================================================
351
+ MAESTRO PLAYER SESSION COMPLETE
352
+ ============================================================
353
+ Session: <session_id>
354
+ Template: <template_name> (<template_id>)
355
+ Steps: <completed>/<total> completed
356
+ Context: goal="<value>"
357
+
358
+ Results:
359
+ [✓] 1. N-001 maestro-plan — completed (WFS-plan-xxx)
360
+ [✓] 2. CP-01 After Plan — completed (checkpoint)
361
+ [✓] 3. N-002 maestro-execute — completed (WFS-exec-xxx)
362
+ [✓] 4. N-003 quality-test — completed (WFS-test-xxx)
363
+
364
+ Artifacts:
365
+ - IMPL_PLAN.md (N-001)
366
+ - src/auth/index.ts (N-002)
367
+ - test/auth.test.ts (N-003)
368
+
369
+ Session dir: .workflow/.maestro/<session_id>/
370
+ ============================================================
371
+ ```
372
+
373
+ **Step 4.4** — AskUserQuestion completion action:
374
+ - **Keep session** → leave at current path
375
+ - **Run again** → AskUserQuestion for same/new context, re-enter Phase 1
376
+ - **Nothing** → done
377
+ </execution>
378
+
379
+ <error_codes>
380
+ | Code | Severity | Description | Recovery |
381
+ |------|----------|-------------|----------|
382
+ | E001 | error | Template not found | Show --list output, suggest closest match |
383
+ | E002 | error | Template JSON invalid (missing required fields) | Point to template file for fix |
384
+ | E003 | error | Required context variable missing and user declined | Cannot proceed without required vars |
385
+ | E004 | error | Resume session not found | Scan `.workflow/.maestro/player-*/`, list available |
386
+ | E005 | error | DAG cycle in template | Point to template for fix, suggest maestro-composer --edit |
387
+ | E006 | error | Node execution failed + abort chosen | Save state, suggest --resume |
388
+ | W001 | warning | Node completed with warnings | Log and continue |
389
+ | W002 | warning | Runtime reference resolved to empty string | Log, executor handles gracefully |
390
+ </error_codes>
391
+
392
+ <success_criteria>
393
+ - [ ] Template loaded from `~/.maestro/templates/workflows/` and validated
394
+ - [ ] All required context variables bound (from --context or user input)
395
+ - [ ] Session directory created at `.workflow/.maestro/player-*/` with `status.json`
396
+ - [ ] Steps array computed via topological sort (maestro.md compatible format)
397
+ - [ ] Each step executed with correct mechanism (Skill/delegate/Agent)
398
+ - [ ] Runtime references ({N-xxx.field}, {prev_*}) resolved before each step
399
+ - [ ] `status.json` written after every step status change (resume-safe)
400
+ - [ ] Checkpoints saved with snapshots under `checkpoints/`
401
+ - [ ] CLI nodes use `maestro delegate` with `Bash(run_in_background: true)` + stop pattern
402
+ - [ ] Step banners and completion report match maestro.md format
403
+ - [ ] Resume via `-c` scans `.workflow/.maestro/player-*/status.json`
404
+ </success_criteria>
@@ -59,15 +59,7 @@ Alternative heavy path (skip maestro-roadmap):
59
59
  maestro-init → maestro-spec-generate → spec package + roadmap.md
60
60
  ```
61
61
 
62
- **Dual modes:**
63
- | Mode | Strategy | Best For |
64
- |------|----------|----------|
65
- | Progressive | MVP → Usable → Refined (as **Milestones**, each with 1-2 phases) | High uncertainty, need validation |
66
- | Direct | Topological task sequence (1-2 phases, wave DAG handles ordering) | Clear requirements, confirmed tech |
67
-
68
- Auto-selection: ≥3 high uncertainty factors → Progressive, ≥3 low → Direct, else → ask user.
69
-
70
- **Minimum-phase principle:** Default 1 phase per milestone. Only split into 2 phases when hard dependency exists (runtime + not parallelizable + full barrier). Max 2 phases, exceptional 3 with justification.
62
+ Dual modes (Progressive vs Direct), auto-selection criteria, and minimum-phase principle are defined in workflow roadmap.md (Steps 2-3).
71
63
  </context>
72
64
 
73
65
  <execution>
@@ -84,101 +76,11 @@ Follow '~/.maestro/workflows/roadmap.md' completely.
84
76
 
85
77
  ### Mode: Revise (`--revise [instructions]`)
86
78
 
87
- Revise an existing roadmap while preserving completed phase progress.
88
-
89
- **Pre-conditions:**
90
- - `.workflow/roadmap.md` exists
91
- - `.workflow/state.json` exists (for progress tracking)
92
-
93
- **Execution flow:**
94
-
95
- 1. **Load current state**
96
- - Read `.workflow/roadmap.md` — parse milestones, phases, dependencies, progress markers
97
- - Read `.workflow/state.json` — get artifact registry, current milestone
98
- - Identify completed vs in-progress vs pending phases
99
-
100
- 2. **Obtain revision instructions**
101
- - If `--revise "instructions text"` provided → use directly as change directive
102
- - If `--revise` without instructions → use AskUserQuestion to ask user what to change
103
- - Show current roadmap summary with phase statuses
104
- - Present options: add/remove/reorder phases, modify scope/criteria/deps, move between milestones
105
- - Capture change instructions from response
106
-
107
- 3. **Impact analysis**
108
- - For each proposed change, assess impact on:
109
- - Phase dependency chain (re-validate no circular deps)
110
- - Requirement coverage (every Active requirement still mapped)
111
- - Completed phases (warn if change invalidates completed work)
112
- - Existing plan artifacts (warn if plan exists for affected phase)
113
- - Present impact summary for confirmation
114
-
115
- 4. **Apply revisions**
116
- - Update `.workflow/roadmap.md` preserving:
117
- - Completed phase progress markers (✓, completion dates)
118
- - Phase numbering for completed phases (renumber only pending phases)
119
- - Cross-references from state.json artifacts
120
- - Update `state.json` if milestone structure changed
121
- - Add revision log entry to roadmap.md metadata section
122
-
123
- 5. **Post-revision validation**
124
- - Re-check dependency integrity (no circular deps)
125
- - Re-check requirement coverage (every Active req mapped)
126
- - Verify completed phases unaffected
127
-
128
- **Next-step routing on completion:**
129
- - Phases changed, need re-analysis → `/maestro-analyze {phase}`
130
- - Phases changed, ready to plan → `/maestro-plan {phase}`
131
- - Only pending phases adjusted → `/maestro-plan` (continue from where left off)
79
+ Follow workflow roadmap.md "Mode: Revise" section for full algorithm (load state, obtain instructions, impact analysis, apply revisions, post-validation).
132
80
 
133
81
  ### Mode: Review (`--review`)
134
82
 
135
- Read-only health assessment of the current roadmap.
136
-
137
- **Pre-conditions:**
138
- - `.workflow/roadmap.md` exists
139
-
140
- **Execution flow:**
141
-
142
- 1. **Load roadmap + execution history**
143
- - Read `.workflow/roadmap.md` — full structure
144
- - Read `.workflow/state.json` — artifact registry, milestone progress
145
- - Cross-reference: for each phase, check ANL/PLN/EXC/VRF artifact status
146
-
147
- 2. **Assessment dimensions**
148
- - **Progress tracking**: Actual vs planned per phase, milestone velocity
149
- - **Drift detection**: Completed phases deviating from original scope (via verify/audit findings)
150
- - **Relevance check**: Pending phases still aligned with current project goals (from project.md)
151
- - **Dependency health**: Pending phase dependencies still valid given completed work
152
- - **Risk assessment**: Identify phases at risk (blocked, scope creep, dependency failures)
153
-
154
- 3. **Produce review report**
155
- - Write to `.workflow/scratch/{YYYYMMDD}-roadmap-review.md`
156
- - Format:
157
- ```
158
- === ROADMAP REVIEW ===
159
- Date: {date}
160
- Milestone: {current}
161
-
162
- Progress: {completed}/{total} phases ({percentage}%)
163
- Drift: {none|minor|significant}
164
- Risk: {low|medium|high}
165
-
166
- Phase Assessment:
167
- [✓] Phase 1: {name} — completed, on-scope
168
- [~] Phase 2: {name} — in-progress, {status notes}
169
- [ ] Phase 3: {name} — pending, {risk/notes}
170
-
171
- Recommendations:
172
- 1. {actionable recommendation}
173
- 2. ...
174
-
175
- Suggested actions:
176
- /maestro-roadmap --revise — Apply recommended changes
177
- /maestro-plan {phase} — Plan next phase
178
- /manage-status — View full dashboard
179
- ```
180
-
181
- **No state modifications.** Pure assessment + recommendations.
83
+ Follow workflow roadmap.md "Mode: Review" section for full algorithm (load state, assess dimensions, produce report).
182
84
  </execution>
183
85
 
184
86
  <error_codes>