maestro-flow 0.3.15 → 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 (374) 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-execute.md +2 -56
  4. package/.claude/commands/maestro-fork.md +3 -50
  5. package/.claude/commands/maestro-merge.md +2 -26
  6. package/.claude/commands/maestro-milestone-audit.md +1 -5
  7. package/.claude/commands/maestro-milestone-complete.md +1 -7
  8. package/.claude/commands/maestro-plan.md +6 -127
  9. package/.claude/commands/maestro-roadmap.md +3 -101
  10. package/.claude/commands/maestro-spec-generate.md +1 -25
  11. package/.claude/commands/maestro-ui-design.md +14 -73
  12. package/.claude/commands/maestro-verify.md +1 -32
  13. package/.claude/commands/maestro.md +13 -30
  14. package/.claude/commands/manage-harvest.md +7 -44
  15. package/.claude/commands/manage-knowhow-capture.md +193 -0
  16. package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
  17. package/.claude/commands/manage-learn.md +3 -28
  18. package/.claude/commands/manage-status.md +1 -20
  19. package/.claude/commands/manage-wiki.md +1 -1
  20. package/.claude/commands/quality-business-test.md +1 -1
  21. package/.claude/commands/quality-debug.md +3 -18
  22. package/.claude/commands/quality-integration-test.md +3 -23
  23. package/.claude/commands/quality-retrospective.md +1 -28
  24. package/.claude/commands/quality-review.md +3 -52
  25. package/.claude/commands/quality-test-gen.md +1 -10
  26. package/.claude/commands/quality-test.md +3 -25
  27. package/.claude/commands/spec-add.md +1 -21
  28. package/.claude/commands/spec-load.md +1 -16
  29. package/.claude/commands/wiki-connect.md +2 -112
  30. package/.claude/commands/wiki-digest.md +2 -141
  31. package/.codex/skills/learn-decompose/SKILL.md +2 -8
  32. package/.codex/skills/maestro/SKILL.md +60 -146
  33. package/.codex/skills/maestro-analyze/SKILL.md +52 -150
  34. package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
  35. package/.codex/skills/maestro-composer/SKILL.md +4 -76
  36. package/.codex/skills/maestro-execute/SKILL.md +46 -177
  37. package/.codex/skills/maestro-init/SKILL.md +7 -51
  38. package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
  39. package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
  40. package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
  41. package/.codex/skills/maestro-overlay/SKILL.md +23 -92
  42. package/.codex/skills/maestro-plan/SKILL.md +42 -166
  43. package/.codex/skills/maestro-player/SKILL.md +24 -149
  44. package/.codex/skills/maestro-quick/SKILL.md +5 -48
  45. package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
  46. package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
  47. package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
  48. package/.codex/skills/maestro-verify/SKILL.md +39 -136
  49. package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
  50. package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
  51. package/.codex/skills/manage-issue/SKILL.md +1 -6
  52. package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
  53. package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
  54. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
  55. package/.codex/skills/manage-learn/SKILL.md +17 -71
  56. package/.codex/skills/manage-status/SKILL.md +4 -35
  57. package/.codex/skills/manage-wiki/SKILL.md +1 -1
  58. package/.codex/skills/quality-business-test/SKILL.md +2 -14
  59. package/.codex/skills/quality-debug/SKILL.md +41 -133
  60. package/.codex/skills/quality-integration-test/SKILL.md +36 -145
  61. package/.codex/skills/quality-refactor/SKILL.md +6 -59
  62. package/.codex/skills/quality-retrospective/SKILL.md +292 -531
  63. package/.codex/skills/quality-review/SKILL.md +30 -65
  64. package/.codex/skills/quality-sync/SKILL.md +2 -11
  65. package/.codex/skills/quality-test/SKILL.md +4 -45
  66. package/.codex/skills/quality-test-gen/SKILL.md +33 -121
  67. package/.codex/skills/spec-add/SKILL.md +2 -9
  68. package/.codex/skills/spec-load/SKILL.md +4 -14
  69. package/.codex/skills/spec-map/SKILL.md +4 -37
  70. package/.codex/skills/spec-remove/SKILL.md +3 -35
  71. package/.codex/skills/spec-setup/SKILL.md +2 -19
  72. package/.codex/skills/team-coordinate/SKILL.md +20 -132
  73. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
  74. package/.codex/skills/team-executor/SKILL.md +7 -66
  75. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
  76. package/.codex/skills/team-executor/specs/session-schema.md +22 -56
  77. package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
  78. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
  79. package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
  80. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
  81. package/.codex/skills/team-review/SKILL.md +12 -86
  82. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
  83. package/.codex/skills/team-tech-debt/SKILL.md +11 -50
  84. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
  85. package/.codex/skills/team-testing/SKILL.md +14 -99
  86. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
  87. package/.codex/skills/wiki-connect/SKILL.md +2 -5
  88. package/README.md +6 -0
  89. package/README.zh-CN.md +6 -0
  90. package/chains/_intent-map.json +7 -7
  91. package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
  92. package/chains/singles/{memory.json → knowhow.json} +6 -6
  93. package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
  94. package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
  95. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
  96. package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
  98. package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
  99. package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
  100. package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
  101. package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
  102. package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
  103. package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
  104. package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
  105. package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
  106. package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
  107. package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
  108. package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
  109. package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
  110. package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
  111. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
  112. package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
  113. package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
  114. package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
  115. package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
  116. package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
  118. package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
  119. package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
  120. package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
  121. package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
  122. package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
  123. package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
  124. package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
  125. package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
  126. package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
  127. package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
  128. package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
  129. package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
  130. package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
  131. package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
  132. package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
  133. package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
  134. package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
  135. package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
  136. package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
  137. package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
  138. package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
  139. package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
  140. package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
  141. package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
  142. package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
  143. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
  144. package/dashboard/dist/index.html +2 -2
  145. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
  146. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
  147. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  148. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
  149. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
  151. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
  152. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  153. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
  154. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
  155. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
  156. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  157. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
  158. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
  159. package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
  160. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
  162. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
  163. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
  164. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
  165. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
  166. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
  167. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
  168. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
  169. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
  170. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
  171. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
  172. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
  173. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
  174. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
  175. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
  176. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
  177. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
  178. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
  179. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
  180. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
  181. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
  182. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
  183. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
  184. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
  185. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
  186. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
  187. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
  188. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
  189. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
  190. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
  191. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
  192. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
  193. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
  194. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
  195. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
  196. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
  197. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
  198. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
  199. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
  200. package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
  201. package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
  202. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
  203. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  204. package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
  205. package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
  206. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  207. package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
  208. package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
  209. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
  210. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  211. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
  212. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
  213. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
  214. package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
  215. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
  216. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
  217. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
  218. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  219. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
  220. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  221. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
  222. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
  223. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  224. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
  225. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  226. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
  227. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  228. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
  229. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  230. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
  231. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
  232. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  233. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
  234. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
  235. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  236. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
  237. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
  238. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  239. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
  240. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
  241. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
  242. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
  243. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
  244. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
  245. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
  246. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
  247. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
  248. package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
  249. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  250. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
  251. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
  252. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
  253. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
  254. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  255. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
  256. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
  257. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  258. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  259. package/dashboard/dist-server/src/commands/delegate.js +11 -8
  260. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  261. package/dist/shared/agent-types.d.ts +2 -0
  262. package/dist/shared/agent-types.d.ts.map +1 -1
  263. package/dist/src/cli.js +2 -2
  264. package/dist/src/cli.js.map +1 -1
  265. package/dist/src/commands/delegate.d.ts.map +1 -1
  266. package/dist/src/commands/delegate.js +11 -8
  267. package/dist/src/commands/delegate.js.map +1 -1
  268. package/dist/src/commands/install-backend.d.ts +1 -1
  269. package/dist/src/commands/install-backend.d.ts.map +1 -1
  270. package/dist/src/commands/install-backend.js +1 -1
  271. package/dist/src/commands/install-backend.js.map +1 -1
  272. package/dist/src/commands/knowhow.d.ts +10 -0
  273. package/dist/src/commands/knowhow.d.ts.map +1 -0
  274. package/dist/src/commands/knowhow.js +217 -0
  275. package/dist/src/commands/knowhow.js.map +1 -0
  276. package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
  277. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
  278. package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
  279. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
  280. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
  281. package/dist/src/commands/overlay-ui/index.js +70 -44
  282. package/dist/src/commands/overlay-ui/index.js.map +1 -1
  283. package/dist/src/commands/overlay.d.ts.map +1 -1
  284. package/dist/src/commands/overlay.js +4 -3
  285. package/dist/src/commands/overlay.js.map +1 -1
  286. package/dist/src/core/overlay/applier.d.ts +1 -1
  287. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  288. package/dist/src/core/overlay/applier.js +40 -13
  289. package/dist/src/core/overlay/applier.js.map +1 -1
  290. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  291. package/dist/src/core/overlay/loader.js +6 -0
  292. package/dist/src/core/overlay/loader.js.map +1 -1
  293. package/dist/src/core/overlay/types.d.ts +5 -1
  294. package/dist/src/core/overlay/types.d.ts.map +1 -1
  295. package/dist/src/core/overlay/types.js +1 -1
  296. package/dist/src/core/overlay/types.js.map +1 -1
  297. package/dist/src/hooks/context-monitor.js +1 -1
  298. package/dist/src/hooks/context-monitor.js.map +1 -1
  299. package/dist/src/hooks/skill-context.js +1 -1
  300. package/dist/src/hooks/skill-context.js.map +1 -1
  301. package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
  302. package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
  303. package/dist/src/mcp/delegate-channel-relay.js +73 -4
  304. package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
  305. package/dist/src/tools/index.js +2 -2
  306. package/dist/src/tools/index.js.map +1 -1
  307. package/dist/src/tools/store-knowhow.d.ts +21 -0
  308. package/dist/src/tools/store-knowhow.d.ts.map +1 -0
  309. package/dist/src/tools/store-knowhow.js +295 -0
  310. package/dist/src/tools/store-knowhow.js.map +1 -0
  311. package/package.json +1 -1
  312. package/shared/agent-types.ts +2 -0
  313. package/workflows/analyze.md +61 -185
  314. package/workflows/brainstorm.md +3 -23
  315. package/workflows/codebase-rebuild.md +79 -191
  316. package/workflows/codebase-refresh.md +26 -124
  317. package/workflows/debug.md +21 -141
  318. package/workflows/execute.md +183 -350
  319. package/workflows/fork.md +72 -230
  320. package/workflows/harvest.md +12 -79
  321. package/workflows/init.md +3 -17
  322. package/workflows/integration-test.md +21 -190
  323. package/workflows/issue-analyze.md +35 -153
  324. package/workflows/issue-discover.md +88 -263
  325. package/workflows/issue-execute.md +29 -208
  326. package/workflows/issue-plan.md +33 -154
  327. package/workflows/issue.md +44 -202
  328. package/workflows/knowhow.md +374 -0
  329. package/workflows/learn.md +30 -177
  330. package/workflows/maestro-coordinate.codex.md +77 -362
  331. package/workflows/maestro-link-coordinate.md +12 -61
  332. package/workflows/maestro.codex.md +124 -457
  333. package/workflows/maestro.md +562 -976
  334. package/workflows/map.md +16 -53
  335. package/workflows/merge.md +42 -197
  336. package/workflows/milestone-audit.md +5 -43
  337. package/workflows/milestone-complete.md +11 -60
  338. package/workflows/plan.md +176 -387
  339. package/workflows/quick.md +25 -174
  340. package/workflows/refactor.md +28 -221
  341. package/workflows/retrospective.md +104 -443
  342. package/workflows/review.md +87 -299
  343. package/workflows/roadmap.md +117 -97
  344. package/workflows/spec-generate.md +22 -118
  345. package/workflows/specs-add.md +5 -25
  346. package/workflows/specs-load.md +1 -5
  347. package/workflows/specs-remove.md +0 -11
  348. package/workflows/specs-setup.md +11 -47
  349. package/workflows/status.md +58 -200
  350. package/workflows/sync.md +28 -141
  351. package/workflows/test-gen.md +23 -100
  352. package/workflows/test.md +15 -125
  353. package/workflows/ui-design.md +139 -465
  354. package/workflows/ui-style.md +36 -228
  355. package/workflows/verify.md +52 -273
  356. package/workflows/wiki-connect.md +9 -46
  357. package/workflows/wiki-digest.md +7 -50
  358. package/workflows/wiki-manage.md +11 -108
  359. package/.claude/commands/maestro-coordinate.md +0 -63
  360. package/.claude/commands/manage-memory-capture.md +0 -59
  361. package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
  362. package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
  363. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
  364. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
  365. package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
  366. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
  367. package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
  368. package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
  369. package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
  370. package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
  371. package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
  372. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
  373. package/workflows/maestro-coordinate.md +0 -582
  374. package/workflows/memory.md +0 -451
@@ -28,7 +28,7 @@ Complements `wiki-connect.md` (link discovery) and `wiki-digest.md` (synthesis)
28
28
 
29
29
  | Flag | Effect |
30
30
  |------|--------|
31
- | `--type <type>` | Filter: spec, memory, note, lesson, issue |
31
+ | `--type <type>` | Filter: spec, knowhow, note, lesson, issue |
32
32
  | `--fix` | Auto-fix issues during cleanup |
33
33
  | `--json` | JSON output |
34
34
 
@@ -38,32 +38,11 @@ Complements `wiki-connect.md` (link discovery) and `wiki-digest.md` (synthesis)
38
38
 
39
39
  ### Step 1: Gather Data
40
40
 
41
- Run in parallel:
42
- ```bash
43
- maestro wiki health
44
- maestro wiki list --json
45
- maestro wiki orphans
46
- maestro wiki hubs --top 5
47
- ```
41
+ Run in parallel: `maestro wiki health`, `list --json`, `orphans`, `hubs --top 5`.
48
42
 
49
43
  ### Step 2: Render Dashboard
50
44
 
51
- ```
52
- == Wiki Health Dashboard ==
53
- Score: {score}/100
54
- Entries: {total} ({spec} spec, {memory} memory, {note} note, {lesson} lesson, {issue} issue)
55
- Broken: {broken_count} broken links
56
- Orphans: {orphan_count} entries with no connections
57
- Top Hubs: {hub1} ({degree}), {hub2} ({degree}), ...
58
-
59
- {score < 50 ? "⚠ Graph needs attention" : score < 75 ? "Graph is fair" : "Graph is healthy"}
60
-
61
- Quick actions:
62
- Fix connections: /wiki-connect --fix
63
- Generate digest: /wiki-digest
64
- Cleanup orphans: /manage-wiki cleanup --fix
65
- View full graph: maestro wiki graph
66
- ```
45
+ Display: health score, entry counts by type, broken links, orphan count, top hubs. Include health status message and quick-action commands (`/wiki-connect --fix`, `/wiki-digest`, `/manage-wiki cleanup --fix`, `maestro wiki graph`).
67
46
 
68
47
  ---
69
48
 
@@ -77,20 +56,7 @@ maestro wiki search "<query>" --json
77
56
 
78
57
  ### Step 2: Display Results
79
58
 
80
- ```
81
- == Wiki Search: "{query}" ({count} results) ==
82
-
83
- # ID Type Title Tags
84
- 1 spec-auth-001 spec JWT token rotation auth, security, jwt
85
- 2 memory-auth-flow memory Auth module implementation auth, session
86
- 3 note-auth-review note Auth code review findings auth, review
87
-
88
- Actions:
89
- View: maestro wiki get <id>
90
- Links: maestro wiki backlinks <id>
91
- Follow: /learn-follow <id>
92
- Connect: /wiki-connect --scope <type>
93
- ```
59
+ Show table of results (ID, type, title, tags) with action hints: `maestro wiki get <id>`, `backlinks <id>`, `/learn-follow <id>`, `/wiki-connect --scope <type>`.
94
60
 
95
61
  ### Step 3: Interactive Follow-up
96
62
 
@@ -102,12 +68,7 @@ If not `--json`: offer to view an entry by number selection.
102
68
 
103
69
  ### Step 1: Scan Issues
104
70
 
105
- Gather:
106
- ```bash
107
- maestro wiki health # baseline
108
- maestro wiki orphans --json # orphaned entries
109
- maestro wiki graph # broken links from graph structure
110
- ```
71
+ Gather baseline via `maestro wiki health`, `orphans --json`, `graph`.
111
72
 
112
73
  ### Step 2: Categorize Issues
113
74
 
@@ -120,33 +81,13 @@ maestro wiki graph # broken links from graph structure
120
81
 
121
82
  ### Step 3: Display Issues
122
83
 
123
- ```
124
- == Wiki Cleanup Scan ==
125
- Baseline health: {score}/100
126
-
127
- Issues found:
128
- Broken links: {count}
129
- Orphans: {count}
130
- Stale drafts: {count}
131
- Empty bodies: {count}
132
-
133
- {list of issues with entry IDs and descriptions}
134
- ```
84
+ Show baseline health, issue counts by type, and entry-level details.
135
85
 
136
86
  ### Step 4: Apply Fixes (--fix only)
137
87
 
138
- For each fixable issue:
139
- 1. Broken links: `maestro wiki update <id> --frontmatter '{"related": [filtered_list]}'`
140
- 2. Orphans: run mini wiki-connect for each orphan (BM25 search + tag match)
141
- 3. Stale/empty: flag but don't auto-delete (too destructive)
88
+ Broken links: remove from frontmatter via `maestro wiki update`. Orphans: mini wiki-connect (BM25 + tag match). Stale/empty: flag only (no auto-delete).
142
89
 
143
- Report delta:
144
- ```
145
- == Cleanup Complete ==
146
- Fixed: {fixed_count} issues
147
- Remaining: {remaining_count} (manual review needed)
148
- Health: {old_score} → {new_score} ({delta})
149
- ```
90
+ Report: fixed count, remaining count, health delta.
150
91
 
151
92
  ---
152
93
 
@@ -158,47 +99,9 @@ Health: {old_score} → {new_score} ({delta})
158
99
  maestro wiki list --json
159
100
  ```
160
101
 
161
- ### Step 2: Compute Statistics
162
-
163
- - **Type distribution**: count per type (spec, memory, note, lesson, issue)
164
- - **Tag frequency**: top 20 most-used tags
165
- - **Category distribution**: entries per category (for specs)
166
- - **Connectivity**: average in-degree, average out-degree, max hub size
167
- - **Growth**: entries created per week (from timestamps)
102
+ ### Step 2: Compute & Display Statistics
168
103
 
169
- ### Step 3: Display
170
-
171
- ```
172
- == Wiki Statistics ==
173
-
174
- Type Distribution:
175
- spec ████████████████ 32 (40%)
176
- memory ████████ 16 (20%)
177
- note ██████████ 20 (25%)
178
- lesson ████ 8 (10%)
179
- issue ██ 4 (5%)
180
- Total: 80
181
-
182
- Top Tags:
183
- auth (12), performance (8), error-handling (7), testing (6), ...
184
-
185
- Connectivity:
186
- Avg in-degree: 2.3
187
- Avg out-degree: 1.8
188
- Hub: spec-auth (in=12)
189
-
190
- Growth (last 4 weeks):
191
- Week 1: +5 | Week 2: +8 | Week 3: +3 | Week 4: +12
192
- ```
193
-
194
- ---
104
+ Compute: type distribution (count/%), top 20 tags, category distribution (specs), connectivity (avg in/out-degree, max hub), growth (entries/week).
195
105
 
196
- ## Error Codes
106
+ Display as bar charts and summary tables.
197
107
 
198
- | Code | Severity | Condition | Recovery |
199
- |------|----------|-----------|----------|
200
- | E001 | fatal | `.workflow/` not initialized | Run `/maestro-init` |
201
- | E002 | fatal | No wiki entries found | Create wiki content first |
202
- | E003 | error | Invalid subcommand | Valid: health, search, cleanup, stats |
203
- | W001 | warning | Health score below 50 | Run `/wiki-connect --fix` |
204
- | W002 | warning | Cleanup had partial failures | Retry manually |
@@ -1,63 +0,0 @@
1
- ---
2
- name: maestro-coordinate
3
- description: CLI-based coordinator - analyze intent → select command chain → execute sequentially via maestro delegate with auto-confirm
4
- argument-hint: "\"intent text\" [-y] [-c] [--dry-run] [--chain <name>]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Orchestrate maestro commands via external CLI (`maestro delegate`) with async state machine.
17
- Classifies intent, reads project state, selects command chain, then executes each step
18
- through `maestro delegate --to <tool> --mode write` with a universal prompt template.
19
- Auto-confirm injection ensures non-blocking background execution. Structured return
20
- format enables context propagation between steps.
21
- </purpose>
22
-
23
- <required_reading>
24
- @~/.maestro/workflows/maestro-coordinate.md
25
- </required_reading>
26
-
27
- <deferred_reading>
28
- - [coordinate template](~/.maestro/templates/cli/prompts/coordinate-step.txt) — read when filling step prompts
29
- </deferred_reading>
30
-
31
- <context>
32
- $ARGUMENTS — user intent text, or special keywords (`continue`/`next`/`status`).
33
-
34
- **Flags:**
35
- - `-y` / `--yes` — Auto mode: skip clarification and confirmation
36
- - `-c` / `--continue` — Resume previous session
37
- - `--dry-run` — Show planned chain without executing
38
- - `--chain <name>` — Force a specific chain
39
- </context>
40
-
41
- <execution>
42
- Follow '~/.maestro/workflows/maestro-coordinate.md' completely.
43
- </execution>
44
-
45
- <error_codes>
46
- | Code | Severity | Description | Recovery |
47
- |------|----------|-------------|----------|
48
- | E001 | error | No intent and project not initialized | Suggest maestro-init |
49
- | E002 | error | Clarity too low after 2 rounds | Ask to rephrase |
50
- | E003 | error | Step failed + abort | Suggest resume with -c |
51
- | E004 | error | Resume session not found | Show available sessions |
52
- </error_codes>
53
-
54
- <success_criteria>
55
- - [ ] Intent classified and chain selected via detectTaskType + chainMap
56
- - [ ] Each step executed via `maestro delegate` with coordinate-step template
57
- - [ ] Auto-confirm injected, structured return parsed
58
- - [ ] Each completed step analyzed via `maestro delegate --to gemini --mode analysis`
59
- - [ ] Analysis hints injected into next step prompt via `{{ANALYSIS_HINTS}}`
60
- - [ ] Gemini sessions chained via `--resume` for accumulated context
61
- - [ ] Session state at .workflow/.maestro-coordinate/{session_id}/
62
- - [ ] Completion report with per-step status and quality scores
63
- </success_criteria>
@@ -1,59 +0,0 @@
1
- ---
2
- name: manage-memory-capture
3
- description: Capture session memory (compact mode) into .workflow/memory/ with JSON index
4
- argument-hint: "[compact] [description]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - AskUserQuestion
13
- ---
14
- <purpose>
15
- Capture session working memory into `.workflow/memory/` for cross-session recovery. Compact mode only: full session compression for recovery. Entries are created via `maestro wiki create --type memory` and automatically indexed in `.workflow/wiki-index.json`. Invoked when saving session state before context loss.
16
-
17
- **Note:** Quick tips/notes have been moved to `manage-learn tip <text>`. Use that command for atomic knowledge capture.
18
- </purpose>
19
-
20
- <required_reading>
21
- @~/.maestro/workflows/memory.md
22
- </required_reading>
23
-
24
- <context>
25
- Arguments: $ARGUMENTS
26
-
27
- **Mode:**
28
- - `compact` — Full session memory compression (files, decisions, plan state, pending work)
29
- - No arguments — Defaults to compact mode
30
-
31
- **Storage:**
32
- - `.workflow/memory/` — Memory entries directory (via `maestro wiki create --type memory`)
33
- - `.workflow/wiki-index.json` — Unified wiki index (auto-updated on create)
34
- </context>
35
-
36
- <execution>
37
- Follow '~/.maestro/workflows/memory.md' Part B (Memory Capture) completely.
38
- </execution>
39
-
40
- <error_codes>
41
- | Code | Severity | Description | Stage |
42
- |------|----------|-------------|-------|
43
- | E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
44
- | E002 | error | Tip mode removed — use `/manage-learn tip <text>` instead | parse_input |
45
- | W001 | warning | No active workflow session found — compact will capture conversation only | analyze_session |
46
- | W002 | warning | Plan detection found no explicit plan — using inferred plan | analyze_session |
47
- </error_codes>
48
-
49
- <success_criteria>
50
- - [ ] Compact mode executed
51
- - [ ] Entry markdown file written to `.workflow/memory/`
52
- - [ ] `wiki-index.json` auto-updated via wiki create
53
- - [ ] All session fields populated (objective, files, decisions, plan)
54
- - [ ] Execution plan preserved VERBATIM (not summarized)
55
- - [ ] All file paths are ABSOLUTE
56
- - [ ] Confirmation banner displayed with entry ID
57
- - [ ] Next step: `/manage-status` to resume workflow, or `/manage-memory view <entry_id>` to verify captured memory
58
- - [ ] For tips: redirect user to `/manage-learn tip <text>`
59
- </success_criteria>
@@ -1,213 +0,0 @@
1
- ---
2
- name: maestro-coordinate
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
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
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.
12
-
13
- ```
14
- Intent → Resolve Chain → Step 1 → Analysis → Step 2 → Analysis → … → Report
15
- (chainMap) delegate gemini delegate gemini
16
- callback callback callback callback
17
- ```
18
- </purpose>
19
-
20
- <required_reading>
21
- @~/.maestro/workflows/maestro-coordinate.codex.md — authoritative `detectTaskType`, `detectNextAction`, `chainMap` (35+ intent patterns, 40+ chain types). Read before executing any step.
22
- </required_reading>
23
-
24
- <deferred_reading>
25
- - [coordinate template](~/.maestro/templates/cli/prompts/coordinate-step.txt) — read when filling step prompts
26
- </deferred_reading>
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
-
52
- ### Step 1: Parse Arguments
53
-
54
- ```javascript
55
- const args = $ARGUMENTS.trim();
56
- const AUTO_YES = /\b(-y|--yes)\b/.test(args);
57
- const RESUME = /\b(-c|--continue)\b/.test(args);
58
- const DRY_RUN = /\b--dry-run\b/.test(args);
59
- const forcedChain = args.match(/--chain\s+(\S+)/)?.[1] || null;
60
- const intent = args
61
- .replace(/\b(-y|--yes|-c|--continue|--dry-run)\b/g, '')
62
- .replace(/--chain\s+\S+/g, '')
63
- .trim();
64
- ```
65
-
66
- **If RESUME**: Find latest `state.json` in `.workflow/.maestro-coordinate/`, load → jump to Step 6.
67
-
68
- ### Step 2–4: Classify Intent → Confirm
69
-
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
75
-
76
- ### Step 5: Setup Session
77
-
78
- ```javascript
79
- const sessionId = `coord-${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 15)}`;
80
- const sessionDir = `.workflow/.maestro-coordinate/${sessionId}`;
81
-
82
- const state = {
83
- session_id: sessionId, status: 'running',
84
- created_at: new Date().toISOString(),
85
- intent, task_type: taskType, chain_name: chainName,
86
- auto_mode: AUTO_YES, phase: resolvedPhase,
87
- current_step: 0, gemini_session_id: null, step_analyses: [],
88
- steps: chain.map((s, i) => ({
89
- index: i, cmd: s.cmd, args: s.args || '',
90
- status: 'pending', exec_id: null, analysis: null
91
- }))
92
- };
93
- Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
94
- ```
95
-
96
- ### Step 6: Execute Step via maestro delegate
97
-
98
- #### 6a: Assemble args
99
-
100
- ```javascript
101
- const AUTO_FLAG_MAP = {
102
- 'maestro-analyze': '-y', 'maestro-brainstorm': '-y', 'maestro-ui-design': '-y',
103
- 'maestro-plan': '--auto', 'maestro-spec-generate': '-y', 'quality-test': '--auto-fix',
104
- 'quality-retrospective': '--auto-yes',
105
- };
106
-
107
- function assembleArgs(step) {
108
- let a = (step.args || '')
109
- .replace(/\{phase\}/g, context.phase || '')
110
- .replace(/\{description\}/g, context.user_intent || '')
111
- .replace(/\{issue_id\}/g, context.issue_id || '')
112
- .replace(/\{spec_session_id\}/g, context.spec_session_id || '')
113
- .replace(/\{scratch_dir\}/g, context.scratch_dir || '');
114
- if (state.auto_mode) {
115
- const flag = AUTO_FLAG_MAP[step.cmd];
116
- if (flag && !a.includes(flag)) a = a ? `${a} ${flag}` : flag;
117
- }
118
- return a.trim();
119
- }
120
- ```
121
-
122
- #### 6b: Build prompt from template + launch
123
-
124
- Read `~/.maestro/templates/cli/prompts/coordinate-step.txt`, fill placeholders.
125
- If previous step has analysis hints, inject as `{{ANALYSIS_HINTS}}`.
126
-
127
- ```javascript
128
- const prompt = template
129
- .replace('{{COMMAND}}', `/${step.cmd}`)
130
- .replace('{{ARGS}}', assembledArgs)
131
- .replace('{{STEP_N}}', `${state.current_step + 1}/${state.steps.length}`)
132
- .replace('{{AUTO_DIRECTIVE}}', state.auto_mode ? 'Auto-confirm all prompts. No interactive questions.' : '')
133
- .replace('{{CHAIN_NAME}}', state.chain_name)
134
- .replace('{{ANALYSIS_HINTS}}', analysisHints);
135
-
136
- Bash({
137
- command: `maestro delegate ${escapeForShell(prompt)} --to codex --mode write`,
138
- run_in_background: true, timeout: 600000
139
- });
140
- // ■ STOP — wait for hook callback
141
- ```
142
-
143
- ### Step 7: Post-Step Callback
144
-
145
- ```javascript
146
- // Context propagation from output
147
- const phaseMatch = output.match(/PHASE:\s*(\d+)/m);
148
- if (phaseMatch) context.phase = phaseMatch[1]; // derived from output, not stored in state
149
- const specMatch = output.match(/SPEC-[\w-]+/);
150
- if (specMatch) context.spec_session_id = specMatch[0];
151
- const scratchMatch = output.match(/scratch_dir:\s*(.+)/m);
152
- if (scratchMatch) context.scratch_dir = scratchMatch[1].trim();
153
-
154
- // Success/failure
155
- const failed = /^STATUS:\s*FAILURE/m.test(output);
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 */ }
159
-
160
- Write(`${sessionDir}/step-${stepIdx + 1}-output.txt`, output);
161
- // → Step 7b (gemini analysis) if completed + multi-step chain
162
- // → else advance current_step, loop to Step 6 or Step 8
163
- ```
164
-
165
- ### Step 7b: Analyze Step Output (via gemini)
166
-
167
- ```javascript
168
- let delegateCmd = `maestro delegate ${escapeForShell(analysisPrompt)} --to gemini --mode analysis --rule analysis-review-code-quality`;
169
- if (state.gemini_session_id) delegateCmd += ` --resume ${state.gemini_session_id}`;
170
- Bash({ command: delegateCmd, run_in_background: true, timeout: 300000 });
171
- // ■ STOP — wait for hook callback
172
- ```
173
-
174
- Post-analyze: store quality_score + issues + next_step_hints in `state.step_analyses[]`, chain gemini sessions via `--resume`.
175
-
176
- ### Step 8: Completion Report
177
-
178
- ```
179
- ============================================================
180
- MAESTRO-COORDINATE COMPLETE
181
- ============================================================
182
- Session: {session_id}
183
- Chain: {chain_name} ({done}/{total})
184
-
185
- Steps:
186
- [✓] 1. maestro-plan — completed (quality: 85/100)
187
- [✓] 2. maestro-execute — completed (quality: 78/100)
188
-
189
- Avg Quality: {avg_score}/100
190
- Next: $maestro-coordinate --continue
191
- ============================================================
192
- ```
193
- </execution>
194
-
195
- <error_codes>
196
- | Code | Severity | Description | Recovery |
197
- |------|----------|-------------|----------|
198
- | E001 | error | No intent and project not initialized | Suggest $maestro-init |
199
- | E002 | error | Clarity too low after 2 rounds | Ask to rephrase |
200
- | E003 | error | Step failed + abort | Suggest resume with -c |
201
- | E004 | error | Resume session not found | Show available sessions |
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>
@@ -1,93 +0,0 @@
1
- ---
2
- name: manage-memory-capture
3
- description: Capture session memory (compact or tip) into .workflow/memory/ with JSON index
4
- argument-hint: "[compact|tip] [description] [--tag tag1,tag2]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
- ---
7
-
8
- <purpose>
9
- Capture session memory into `.workflow/memory/` with JSON index. Two modes: `compact` (full session compression) or `tip` (quick note with tags). Auto-detects mode or asks user when ambiguous.
10
- </purpose>
11
-
12
- <context>
13
- $ARGUMENTS — mode token followed by description and optional flags.
14
-
15
- ```bash
16
- $manage-memory-capture
17
- $manage-memory-capture "compact"
18
- $manage-memory-capture "tip Always check state.json before phase operations --tag workflow,state"
19
- $manage-memory-capture "compact Full auth implementation session"
20
- ```
21
-
22
- **Modes**: `compact` (full session compression) or `tip` (quick note with tags).
23
- No arguments: auto-detect or ask user.
24
-
25
- **Flags**:
26
- - `--tag tag1,tag2` — Comma-separated tags for the entry
27
- </context>
28
-
29
- <execution>
30
-
31
- ### Step 1: Validate
32
-
33
- ```bash
34
- test -d .workflow || exit 1 # E001: not initialized
35
- ```
36
-
37
- Create `.workflow/memory/` if it does not exist.
38
-
39
- ### Step 2: Detect Mode
40
-
41
- Parse first token as mode (`compact` or `tip`).
42
- If absent or ambiguous, ask user via AskUserQuestion.
43
-
44
- ### Step 3: Capture Content
45
-
46
- **Compact mode**:
47
- 1. Analyze current conversation for: objective, key decisions, modified files, current plan state, pending work
48
- 2. Generate entry ID: `MEM-{YYYYMMDD}-{NNN}`
49
- 3. Write `.workflow/memory/MEM-{id}.md` with sections:
50
- - Objective, Key Decisions, Files Modified (absolute paths), Execution Plan (verbatim), Pending Work, Context Notes
51
-
52
- **Tip mode**:
53
- 1. Extract content (everything after `tip`) and parse `--tag` flag
54
- 2. Generate entry ID: `TIP-{YYYYMMDD}-{NNN}`
55
- 3. Write `.workflow/memory/TIP-{id}.md` with: content, tags, timestamp, context
56
-
57
- ### Step 4: Wiki Index Invalidation
58
-
59
- Memory files are automatically indexed by WikiIndexer. No manual index update needed — the persistent `wiki-index.json` at `.workflow/` root is regenerated on next `maestro wiki` access.
60
-
61
- For immediate visibility, use:
62
- ```bash
63
- maestro wiki get memory-{slug} # verify entry exists in wiki
64
- maestro wiki list --type memory # list all memory entries
65
- ```
66
-
67
- ### Step 5: Confirm
68
-
69
- ```
70
- === MEMORY CAPTURED ===
71
- ID: {entry_id}
72
- Type: {compact|tip}
73
- File: .workflow/memory/{filename}
74
- ```
75
- </execution>
76
-
77
- <error_codes>
78
- | Code | Severity | Description |
79
- |------|----------|-------------|
80
- | E001 | error | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
81
- | E002 | error | Empty note content in tip mode |
82
- | W001 | warning | No active workflow session -- compact captures conversation only |
83
- | W002 | warning | No explicit plan found -- using inferred plan |
84
- </error_codes>
85
-
86
- <success_criteria>
87
- - [ ] `.workflow/` existence validated; `.workflow/memory/` created if missing
88
- - [ ] Mode detected or prompted (compact vs tip)
89
- - [ ] Compact: conversation analyzed, MEM-id generated, markdown file written with all sections
90
- - [ ] Tip: content extracted, TIP-id generated, markdown file written
91
- - [ ] Index updated with new entry metadata
92
- - [ ] Confirmation displayed with ID, type, and file path
93
- </success_criteria>