maestro-flow 0.3.9 → 0.3.11

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 (281) hide show
  1. package/.claude/agents/workflow-collab-planner.md +1 -1
  2. package/.claude/agents/workflow-executor.md +1 -1
  3. package/.claude/agents/workflow-plan-checker.md +1 -1
  4. package/.claude/agents/workflow-planner.md +1 -1
  5. package/.claude/commands/learn-decompose.md +176 -176
  6. package/.claude/commands/learn-follow.md +167 -167
  7. package/.claude/commands/learn-retro.md +1 -1
  8. package/.claude/commands/maestro-analyze.md +46 -3
  9. package/.claude/commands/maestro-coordinate.md +1 -3
  10. package/.claude/commands/maestro-execute.md +14 -0
  11. package/.claude/commands/maestro-plan.md +16 -0
  12. package/.claude/commands/manage-harvest.md +131 -131
  13. package/.claude/commands/manage-issue-discover.md +2 -2
  14. package/.claude/commands/manage-issue.md +5 -5
  15. package/.claude/commands/spec-add.md +67 -56
  16. package/.claude/commands/spec-load.md +66 -64
  17. package/.claude/commands/spec-setup.md +5 -9
  18. package/.codex/skills/learn-decompose/SKILL.md +119 -0
  19. package/.codex/skills/learn-follow/SKILL.md +83 -0
  20. package/.codex/skills/learn-investigate/SKILL.md +83 -0
  21. package/.codex/skills/learn-retro/SKILL.md +83 -0
  22. package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
  23. package/.codex/skills/maestro/SKILL.md +335 -0
  24. package/.codex/skills/maestro-analyze/SKILL.md +84 -75
  25. package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
  26. package/.codex/skills/maestro-chain/SKILL.md +233 -0
  27. package/.codex/skills/maestro-coordinate/SKILL.md +167 -278
  28. package/.codex/skills/maestro-execute/SKILL.md +435 -438
  29. package/.codex/skills/maestro-fork/SKILL.md +68 -0
  30. package/.codex/skills/maestro-init/SKILL.md +171 -167
  31. package/.codex/skills/maestro-learn/SKILL.md +80 -0
  32. package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
  33. package/.codex/skills/maestro-merge/SKILL.md +62 -0
  34. package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
  35. package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
  36. package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
  37. package/.codex/skills/maestro-overlay/SKILL.md +188 -185
  38. package/.codex/skills/maestro-plan/SKILL.md +66 -69
  39. package/.codex/skills/maestro-quick/SKILL.md +26 -23
  40. package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
  41. package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
  42. package/.codex/skills/maestro-ui-design/SKILL.md +34 -31
  43. package/.codex/skills/maestro-verify/SKILL.md +556 -566
  44. package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
  45. package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
  46. package/.codex/skills/manage-harvest/SKILL.md +82 -0
  47. package/.codex/skills/manage-issue/SKILL.md +80 -65
  48. package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
  49. package/.codex/skills/manage-learn/SKILL.md +190 -186
  50. package/.codex/skills/manage-memory/SKILL.md +95 -72
  51. package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
  52. package/.codex/skills/manage-status/SKILL.md +102 -89
  53. package/.codex/skills/quality-business-test/SKILL.md +228 -223
  54. package/.codex/skills/quality-debug/SKILL.md +54 -66
  55. package/.codex/skills/quality-integration-test/SKILL.md +532 -544
  56. package/.codex/skills/quality-refactor/SKILL.md +197 -191
  57. package/.codex/skills/quality-retrospective/SKILL.md +512 -505
  58. package/.codex/skills/quality-review/SKILL.md +93 -105
  59. package/.codex/skills/quality-sync/SKILL.md +101 -89
  60. package/.codex/skills/quality-test/SKILL.md +202 -198
  61. package/.codex/skills/quality-test-gen/SKILL.md +93 -104
  62. package/.codex/skills/spec-add/SKILL.md +58 -39
  63. package/.codex/skills/spec-load/SKILL.md +45 -40
  64. package/.codex/skills/spec-map/SKILL.md +180 -182
  65. package/.codex/skills/spec-setup/SKILL.md +94 -76
  66. package/.codex/skills/team-coordinate/SKILL.md +346 -357
  67. package/.codex/skills/team-executor/SKILL.md +70 -112
  68. package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
  69. package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
  70. package/.codex/skills/team-review/SKILL.md +232 -225
  71. package/.codex/skills/team-tech-debt/SKILL.md +78 -100
  72. package/.codex/skills/team-testing/SKILL.md +242 -235
  73. package/.codex/skills/wiki-connect/SKILL.md +75 -0
  74. package/.codex/skills/wiki-digest/SKILL.md +87 -0
  75. package/README.md +14 -11
  76. package/README.zh-CN.md +14 -11
  77. package/chains/issue-lifecycle.json +13 -13
  78. package/chains/singles/issue-analyze.json +3 -3
  79. package/chains/singles/issue-execute.json +3 -3
  80. package/chains/singles/issue-plan.json +3 -3
  81. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +2 -2
  82. package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -1
  83. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  84. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  85. package/dashboard/dist-server/dashboard/src/server/routes/issues.js +34 -0
  86. package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -1
  87. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
  88. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
  89. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  90. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
  91. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
  92. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  93. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +2 -3
  94. package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -1
  95. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  96. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  97. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +5 -0
  98. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  99. package/dashboard/dist-server/dashboard/src/shared/normalize-task.d.ts +2 -0
  100. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js +75 -0
  101. package/dashboard/dist-server/dashboard/src/shared/normalize-task.js.map +1 -0
  102. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +21 -0
  103. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  104. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
  105. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
  106. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  107. package/dashboard/dist-server/src/hooks/constants.d.ts +92 -12
  108. package/dashboard/dist-server/src/hooks/constants.js +151 -16
  109. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  110. package/dashboard/dist-server/src/types/index.d.ts +5 -0
  111. package/dist/src/commands/collab.d.ts +1 -34
  112. package/dist/src/commands/collab.d.ts.map +1 -1
  113. package/dist/src/commands/collab.js +8 -76
  114. package/dist/src/commands/collab.js.map +1 -1
  115. package/dist/src/commands/hooks.d.ts +5 -1
  116. package/dist/src/commands/hooks.d.ts.map +1 -1
  117. package/dist/src/commands/hooks.js +115 -10
  118. package/dist/src/commands/hooks.js.map +1 -1
  119. package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -1
  120. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  121. package/dist/src/commands/install-ui/InstallConfirm.js +3 -1
  122. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  123. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  124. package/dist/src/commands/install-ui/InstallExecution.js +5 -1
  125. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  126. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  127. package/dist/src/commands/install-ui/InstallFlow.js +7 -3
  128. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  129. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +6 -1
  130. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  131. package/dist/src/commands/install-ui/StatuslineConfig.js +27 -5
  132. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  133. package/dist/src/commands/spec.d.ts.map +1 -1
  134. package/dist/src/commands/spec.js +7 -2
  135. package/dist/src/commands/spec.js.map +1 -1
  136. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +7 -0
  137. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -0
  138. package/dist/src/hooks/__tests__/statusline-visual-test.js +236 -0
  139. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -0
  140. package/dist/src/hooks/constants.d.ts +92 -12
  141. package/dist/src/hooks/constants.d.ts.map +1 -1
  142. package/dist/src/hooks/constants.js +151 -16
  143. package/dist/src/hooks/constants.js.map +1 -1
  144. package/dist/src/hooks/guards/index.d.ts +2 -0
  145. package/dist/src/hooks/guards/index.d.ts.map +1 -1
  146. package/dist/src/hooks/guards/index.js +2 -0
  147. package/dist/src/hooks/guards/index.js.map +1 -1
  148. package/dist/src/hooks/guards/preflight-guard.d.ts +29 -0
  149. package/dist/src/hooks/guards/preflight-guard.d.ts.map +1 -0
  150. package/dist/src/hooks/guards/preflight-guard.js +95 -0
  151. package/dist/src/hooks/guards/preflight-guard.js.map +1 -0
  152. package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
  153. package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
  154. package/dist/src/hooks/guards/spec-validator.js +66 -0
  155. package/dist/src/hooks/guards/spec-validator.js.map +1 -0
  156. package/dist/src/hooks/index.d.ts +1 -0
  157. package/dist/src/hooks/index.d.ts.map +1 -1
  158. package/dist/src/hooks/index.js +1 -0
  159. package/dist/src/hooks/index.js.map +1 -1
  160. package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
  161. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
  162. package/dist/src/hooks/keyword-spec-injector.js +96 -0
  163. package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
  164. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
  165. package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
  166. package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
  167. package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
  168. package/dist/src/hooks/preflight-core.d.ts +37 -0
  169. package/dist/src/hooks/preflight-core.d.ts.map +1 -0
  170. package/dist/src/hooks/preflight-core.js +86 -0
  171. package/dist/src/hooks/preflight-core.js.map +1 -0
  172. package/dist/src/hooks/spec-bridge.d.ts +40 -0
  173. package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
  174. package/dist/src/hooks/spec-bridge.js +97 -0
  175. package/dist/src/hooks/spec-bridge.js.map +1 -0
  176. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  177. package/dist/src/hooks/spec-injector.js +18 -12
  178. package/dist/src/hooks/spec-injector.js.map +1 -1
  179. package/dist/src/hooks/statusline.d.ts +8 -17
  180. package/dist/src/hooks/statusline.d.ts.map +1 -1
  181. package/dist/src/hooks/statusline.js +269 -112
  182. package/dist/src/hooks/statusline.js.map +1 -1
  183. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  184. package/dist/src/i18n/locales/en.js +5 -0
  185. package/dist/src/i18n/locales/en.js.map +1 -1
  186. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  187. package/dist/src/i18n/locales/zh.js +5 -0
  188. package/dist/src/i18n/locales/zh.js.map +1 -1
  189. package/dist/src/i18n/types.d.ts +5 -0
  190. package/dist/src/i18n/types.d.ts.map +1 -1
  191. package/dist/src/team/phase-orchestrator.d.ts +52 -0
  192. package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
  193. package/dist/src/team/phase-orchestrator.js +165 -0
  194. package/dist/src/team/phase-orchestrator.js.map +1 -0
  195. package/dist/src/team/phase-types.d.ts +51 -0
  196. package/dist/src/team/phase-types.d.ts.map +1 -0
  197. package/dist/src/team/phase-types.js +41 -0
  198. package/dist/src/team/phase-types.js.map +1 -0
  199. package/dist/src/tools/collab-adapter.d.ts +17 -0
  200. package/dist/src/tools/collab-adapter.d.ts.map +1 -1
  201. package/dist/src/tools/collab-adapter.js +138 -0
  202. package/dist/src/tools/collab-adapter.js.map +1 -1
  203. package/dist/src/tools/index.d.ts.map +1 -1
  204. package/dist/src/tools/index.js +6 -0
  205. package/dist/src/tools/index.js.map +1 -1
  206. package/dist/src/tools/merge-validator.d.ts +24 -0
  207. package/dist/src/tools/merge-validator.d.ts.map +1 -0
  208. package/dist/src/tools/merge-validator.js +220 -0
  209. package/dist/src/tools/merge-validator.js.map +1 -0
  210. package/dist/src/tools/spec-entry-parser.d.ts +56 -0
  211. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
  212. package/dist/src/tools/spec-entry-parser.js +196 -0
  213. package/dist/src/tools/spec-entry-parser.js.map +1 -0
  214. package/dist/src/tools/spec-init.d.ts.map +1 -1
  215. package/dist/src/tools/spec-init.js +66 -92
  216. package/dist/src/tools/spec-init.js.map +1 -1
  217. package/dist/src/tools/spec-keyword-index.d.ts +30 -0
  218. package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
  219. package/dist/src/tools/spec-keyword-index.js +101 -0
  220. package/dist/src/tools/spec-keyword-index.js.map +1 -0
  221. package/dist/src/tools/spec-loader.d.ts +3 -3
  222. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  223. package/dist/src/tools/spec-loader.js +49 -23
  224. package/dist/src/tools/spec-loader.js.map +1 -1
  225. package/dist/src/tools/team-agents.d.ts +27 -0
  226. package/dist/src/tools/team-agents.d.ts.map +1 -0
  227. package/dist/src/tools/team-agents.js +362 -0
  228. package/dist/src/tools/team-agents.js.map +1 -0
  229. package/dist/src/tools/team-mailbox.d.ts +40 -0
  230. package/dist/src/tools/team-mailbox.d.ts.map +1 -0
  231. package/dist/src/tools/team-mailbox.js +384 -0
  232. package/dist/src/tools/team-mailbox.js.map +1 -0
  233. package/dist/src/tools/team-msg.d.ts +17 -8
  234. package/dist/src/tools/team-msg.d.ts.map +1 -1
  235. package/dist/src/tools/team-msg.js +110 -13
  236. package/dist/src/tools/team-msg.js.map +1 -1
  237. package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
  238. package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
  239. package/dist/src/tools/team-tasks-mcp.js +408 -0
  240. package/dist/src/tools/team-tasks-mcp.js.map +1 -0
  241. package/dist/src/types/index.d.ts +5 -0
  242. package/dist/src/types/index.d.ts.map +1 -1
  243. package/package.json +2 -1
  244. package/templates/cli/prompts/workflow-skill-conflict-patterns.txt +3 -3
  245. package/templates/cli/prompts/workflow-skill-lessons-learned.txt +3 -3
  246. package/templates/search-tools.md +1 -1
  247. package/workflows/analyze.md +816 -816
  248. package/workflows/brainstorm.md +471 -471
  249. package/workflows/cli-tools-usage.md +44 -27
  250. package/workflows/codebase-rebuild.md +332 -332
  251. package/workflows/codebase-refresh.md +240 -240
  252. package/workflows/delegate-usage.md +3 -3
  253. package/workflows/execute.md +1 -1
  254. package/workflows/harvest.md +420 -420
  255. package/workflows/integration-test.md +343 -343
  256. package/workflows/issue-analyze.md +6 -2
  257. package/workflows/issue-discover.md +414 -414
  258. package/workflows/issue-execute.md +6 -3
  259. package/workflows/issue-plan.md +5 -2
  260. package/workflows/maestro-coordinate.codex.md +281 -470
  261. package/workflows/maestro-coordinate.md +14 -14
  262. package/workflows/maestro-link-coordinate.md +2 -2
  263. package/workflows/maestro.codex.md +710 -0
  264. package/workflows/maestro.md +10 -11
  265. package/workflows/map.md +111 -111
  266. package/workflows/milestone-complete.md +176 -176
  267. package/workflows/plan.md +1 -1
  268. package/workflows/quick.md +497 -497
  269. package/workflows/refactor.md +300 -300
  270. package/workflows/retrospective.md +1 -1
  271. package/workflows/roadmap.md +335 -335
  272. package/workflows/spec-generate.md +640 -640
  273. package/workflows/specs-add.md +46 -81
  274. package/workflows/specs-load.md +15 -17
  275. package/workflows/specs-setup.md +40 -161
  276. package/.claude/commands/manage-issue-analyze.md +0 -62
  277. package/.claude/commands/manage-issue-execute.md +0 -73
  278. package/.claude/commands/manage-issue-plan.md +0 -62
  279. package/.codex/skills/manage-issue-analyze/SKILL.md +0 -207
  280. package/.codex/skills/manage-issue-execute/SKILL.md +0 -200
  281. package/.codex/skills/manage-issue-plan/SKILL.md +0 -186
@@ -1,220 +1,224 @@
1
- ---
2
- name: maestro-link-coordinate
3
- description: Step-mode graph coordinator via maestro coordinate CLI endpoint. Walks chain graphs node by node using start/next/status subcommands. Decision and gate nodes auto-resolve between steps. Session persisted for resume via -c.
4
- argument-hint: "\"intent text\" [--list] [-c [sessionId]] [--chain <name>] [--tool <tool>] [-y]"
5
- allowed-tools: Read, Write, Bash, Glob, Grep
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `-y` or `--yes`: Skip step confirmations between nodes. Runs to completion without pausing.
11
-
12
- # Maestro Link Coordinate
13
-
14
- ## Usage
15
-
16
- ```bash
17
- $maestro-link-coordinate "implement OAuth2 authentication"
18
- $maestro-link-coordinate "--list"
19
- $maestro-link-coordinate -c "MLC-20260401-143022"
20
- $maestro-link-coordinate --chain quality-full-cycle "fix all test failures"
21
- $maestro-link-coordinate -y "refactor auth module"
22
- ```
23
-
24
- **Flags**:
25
- - `--list` List all available chain graphs (uses `maestro coordinate list`)
26
- - `-c / --continue [sessionId]` — Resume `step_paused` session; uses last session if no id given
27
- - `--chain <name>` — Force a specific chain graph
28
- - `--tool <tool>` CLI tool override for command nodes (default: claude)
29
- - `-y / --yes` — Auto mode: no step confirmations
30
-
31
- **CLI endpoints used**:
32
- - `maestro coordinate list` enumerate available chains
33
- - `maestro coordinate start "intent" --chain X` — begin step-mode session
34
- - `maestro coordinate next [sessionId]` — advance one step
35
- - `maestro coordinate status [sessionId]` — query current state
36
- - `maestro coordinate run "intent"` — autonomous full run (used when `-y`)
37
- - `maestro coordinate watch <sessionId> [--follow]` — read-only event tail
38
- - `maestro coordinate report` — agent-invoked result writer (authoritative result channel)
39
-
40
- ---
41
-
42
- ## Overview
43
-
44
- Step-mode coordinator that drives `maestro coordinate` CLI subcommands one node at a time. Each call to `maestro coordinate next` advances the walker one graph node forward. Decision nodes resolve via `strategy: 'expr'` fast-path with LLM decider fallback. Gate nodes auto-bypass when conditions are met. The driver loop calls `next` until session status is `completed` or `step_paused` (on user checkpoint). Sessions are persisted by the server; `-c` resumes from the last paused node.
45
-
46
- ```
47
- +-------------------------------------------------------------------+
48
- | maestro-link-coordinate Driver Loop |
49
- +-------------------------------------------------------------------+
50
- | |
51
- | Phase 1: Session Start |
52
- | +-- Parse flags |
53
- | +-- [--list] exec: coordinate list → display → stop |
54
- | +-- [-c] exec: coordinate status [sessionId] → resume loop |
55
- | +-- exec: coordinate start "intent" --chain X |
56
- | +-- Parse sessionId from output |
57
- | |
58
- | Phase 2: Step Driver Loop |
59
- | +-- while (status != completed): |
60
- | | +-- exec: coordinate next [sessionId] |
61
- | | +-- Parse node type from output: |
62
- | | | command → display result, [confirm?] |
63
- | | | decision → auto-resolved by walker (expr / llm) |
64
- | | | gate → auto-bypassed if conditions met |
65
- | | | checkpoint pause, display status, await user |
66
- | | +-- Update progress display |
67
- | +-- exec: coordinate status [sessionId] after completion |
68
- | |
69
- | Phase 3: Completion Summary |
70
- | +-- Display per-node execution results |
71
- | +-- Show final session state |
72
- +-------------------------------------------------------------------+
73
- ```
74
-
75
- ---
76
-
77
- ## Implementation
78
-
79
- ### Phase 1: Session Start
80
-
81
- ```javascript
82
- functions.update_plan({
83
- explanation: "Starting link-coordinate session",
84
- plan: [
85
- { step: "Phase 1: Session start", status: "in_progress" },
86
- { step: "Phase 2: Step driver loop", status: "pending" },
87
- { step: "Phase 3: Completion summary", status: "pending" }
88
- ]
89
- })
90
- ```
91
-
92
- **Quick-exit: `--list`**
93
- ```javascript
94
- functions.exec_command({
95
- cmd: "maestro coordinate list",
96
- workdir: "."
97
- })
98
- // Display output and stop
99
- ```
100
-
101
- **Resume mode: `-c [sessionId]`**
102
- ```javascript
103
- functions.exec_command({
104
- cmd: `maestro coordinate status ${sessionId || ''}`,
105
- workdir: "."
106
- })
107
- // Parse sessionId from output, skip to Phase 2 driver loop
108
- ```
109
-
110
- **Fresh session**:
111
- ```javascript
112
- functions.exec_command({
113
- cmd: `maestro coordinate start "${intent}"${chain ? ' --chain ' + chain : ''}`,
114
- workdir: "."
115
- })
116
- // Parse sessionId from JSON output: { "session_id": "...", "chain": "...", "first_node": "..." }
117
- ```
118
-
119
- ### Phase 2: Step Driver Loop
120
-
121
- ```javascript
122
- functions.update_plan({
123
- explanation: "Stepping through chain graph",
124
- plan: [
125
- { step: "Phase 1: Session start", status: "completed" },
126
- { step: "Phase 2: Step driver loop", status: "in_progress" },
127
- { step: "Phase 3: Completion summary", status: "pending" }
128
- ]
129
- })
130
- ```
131
-
132
- Main loop:
133
- ```javascript
134
- while (status !== 'completed' && status !== 'failed') {
135
- functions.exec_command({
136
- cmd: `maestro coordinate next ${sessionId}`,
137
- workdir: "."
138
- })
139
- // Parse response JSON: { node_type, node_id, status, result, next_status }
140
- }
141
- ```
142
-
143
- **Node type handling**:
144
-
145
- | node_type | Action |
146
- |-----------|--------|
147
- | `command` | Display result summary; if `!AUTO_YES`, call `request_user_input` to confirm before next |
148
- | `decision` | Auto-resolved by walker (expr fast-path or LLM). Display resolved edge. |
149
- | `gate` | Auto-bypassed if conditions met. Display gate status. |
150
- | `checkpoint` | Pause loop, display current state, await explicit user `$maestro-link-coordinate -c` |
151
- | `eval` | Display evaluation result and score |
152
-
153
- **Auto mode (`-y`)**: Use `maestro coordinate run "${intent}"` instead of start + next loop for autonomous execution.
154
-
155
- **Watch mode** (optional, for long-running steps):
156
- ```javascript
157
- functions.exec_command({
158
- cmd: `maestro coordinate watch ${sessionId} --follow`,
159
- workdir: "."
160
- })
161
- ```
162
-
163
- ### Phase 3: Completion Summary
164
-
165
- ```javascript
166
- functions.exec_command({
167
- cmd: `maestro coordinate status ${sessionId}`,
168
- workdir: "."
169
- })
170
- ```
171
-
172
- ```javascript
173
- functions.update_plan({
174
- explanation: "Link-coordinate complete",
175
- plan: [
176
- { step: "Phase 1: Session start", status: "completed" },
177
- { step: "Phase 2: Step driver loop", status: "completed" },
178
- { step: "Phase 3: Completion summary", status: "completed" }
179
- ]
180
- })
181
- ```
182
-
183
- Display:
184
- ```
185
- === GRAPH WALK COMPLETE ===
186
- Session: <sessionId>
187
- Chain: <chain>
188
- Nodes: <N> executed
189
-
190
- NODE RESULTS:
191
- [1] <node_id> (command) — completed
192
- [2] <node_id> (decision) — resolved: <edge>
193
- [3] <node_id> (command) — completed ✓
194
-
195
- To re-run: $maestro-link-coordinate "<intent>" --chain <chain>
196
- ```
197
-
198
- ---
199
-
200
- ## Error Handling
201
-
202
- | Code | Severity | Description | Recovery |
203
- |------|----------|-------------|----------|
204
- | E001 | error | No intent and no `--list`/`--chain` provided | Suggest `--list` to see available chains |
205
- | E002 | error | Chain graph not found | Display `maestro coordinate list` output |
206
- | E003 | error | Step execution failed on a command node | Check node result, use `-c` to retry from that node |
207
- | E004 | error | Resume session not found | List sessions in coordinate status |
208
- | E005 | error | `maestro coordinate` CLI endpoint unavailable | Check maestro installation |
209
-
210
- ---
211
-
212
- ## Core Rules
213
-
214
- 1. **Quick-exit for `--list`**: Never start a session if user only wants to list chains
215
- 2. **One step at a time**: Drive with `coordinate next` calls — never batch-advance multiple nodes
216
- 3. **Decision nodes are walker-owned**: Never try to resolve decision nodes manually; trust walker output
217
- 4. **Checkpoint is a hard pause**: Never auto-advance past a checkpoint node without explicit user confirmation
218
- 5. **Resume is server-side**: Session state is held by the server; `-c` only provides the sessionId — the walker has all state
219
- 6. **Auto mode uses `run`**: When `-y`, use `coordinate run` directly rather than the start + next loop
220
- 7. **Status is authoritative**: After loop exits, always call `coordinate status` to get the canonical final state
1
+ ---
2
+ name: maestro-link-coordinate
3
+ description: Step-mode graph coordinator via maestro coordinate CLI endpoint. Walks chain graphs node by node using start/next/status subcommands. Decision and gate nodes auto-resolve between steps. Session persisted for resume via -c.
4
+ argument-hint: "\"intent text\" [--list] [-c [sessionId]] [--chain <name>] [--tool <tool>] [-y]"
5
+ allowed-tools: Read, Write, Bash, Glob, Grep
6
+ ---
7
+
8
+ <purpose>
9
+ Step-mode coordinator that drives `maestro coordinate` CLI subcommands one node at a time. Each call to `maestro coordinate next` advances the walker one graph node forward. Decision nodes resolve via `strategy: 'expr'` fast-path with LLM decider fallback. Gate nodes auto-bypass when conditions are met. The driver loop calls `next` until session status is `completed` or `step_paused` (on user checkpoint). Sessions are persisted by the server; `-c` resumes from the last paused node.
10
+
11
+ ```
12
+ +-------------------------------------------------------------------+
13
+ | maestro-link-coordinate Driver Loop |
14
+ +-------------------------------------------------------------------+
15
+ | |
16
+ | Phase 1: Session Start |
17
+ | +-- Parse flags |
18
+ | +-- [--list] exec: coordinate list -> display -> stop |
19
+ | +-- [-c] exec: coordinate status [sessionId] -> resume loop |
20
+ | +-- exec: coordinate start "intent" --chain X |
21
+ | +-- Parse sessionId from output |
22
+ | |
23
+ | Phase 2: Step Driver Loop |
24
+ | +-- while (status != completed): |
25
+ | | +-- exec: coordinate next [sessionId] |
26
+ | | +-- Parse node type from output: |
27
+ | | | command -> display result, [confirm?] |
28
+ | | | decision -> auto-resolved by walker (expr / llm) |
29
+ | | | gate -> auto-bypassed if conditions met |
30
+ | | | checkpoint -> pause, display status, await user |
31
+ | | +-- Update progress display |
32
+ | +-- exec: coordinate status [sessionId] after completion |
33
+ | |
34
+ | Phase 3: Completion Summary |
35
+ | +-- Display per-node execution results |
36
+ | +-- Show final session state |
37
+ +-------------------------------------------------------------------+
38
+ ```
39
+ </purpose>
40
+
41
+ <context>
42
+ $ARGUMENTS -- user intent text, or special flags.
43
+
44
+ **Usage**:
45
+
46
+ ```bash
47
+ $maestro-link-coordinate "implement OAuth2 authentication"
48
+ $maestro-link-coordinate "--list"
49
+ $maestro-link-coordinate -c "MLC-20260401-143022"
50
+ $maestro-link-coordinate --chain quality-full-cycle "fix all test failures"
51
+ $maestro-link-coordinate -y "refactor auth module"
52
+ ```
53
+
54
+ **Flags**:
55
+ - `--list` -- List all available chain graphs (uses `maestro coordinate list`)
56
+ - `-c / --continue [sessionId]` -- Resume `step_paused` session; uses last session if no id given
57
+ - `--chain <name>` -- Force a specific chain graph
58
+ - `--tool <tool>` -- CLI tool override for command nodes (default: claude)
59
+ - `-y / --yes` -- Auto mode: no step confirmations
60
+
61
+ When `-y` or `--yes`: Skip step confirmations between nodes. Runs to completion without pausing.
62
+
63
+ **CLI endpoints used**:
64
+ - `maestro coordinate list` -- enumerate available chains
65
+ - `maestro coordinate start "intent" --chain X` -- begin step-mode session
66
+ - `maestro coordinate next [sessionId]` -- advance one step
67
+ - `maestro coordinate status [sessionId]` -- query current state
68
+ - `maestro coordinate run "intent"` -- autonomous full run (used when `-y`)
69
+ - `maestro coordinate watch <sessionId> [--follow]` -- read-only event tail
70
+ - `maestro coordinate report` -- agent-invoked result writer (authoritative result channel)
71
+ </context>
72
+
73
+ <invariants>
74
+ 1. **Quick-exit for `--list`**: Never start a session if user only wants to list chains
75
+ 2. **One step at a time**: Drive with `coordinate next` calls -- never batch-advance multiple nodes
76
+ 3. **Decision nodes are walker-owned**: Never try to resolve decision nodes manually; trust walker output
77
+ 4. **Checkpoint is a hard pause**: Never auto-advance past a checkpoint node without explicit user confirmation
78
+ 5. **Resume is server-side**: Session state is held by the server; `-c` only provides the sessionId -- the walker has all state
79
+ 6. **Auto mode uses `run`**: When `-y`, use `coordinate run` directly rather than the start + next loop
80
+ 7. **Status is authoritative**: After loop exits, always call `coordinate status` to get the canonical final state
81
+ </invariants>
82
+
83
+ <execution>
84
+
85
+ ### Phase 1: Session Start
86
+
87
+ ```javascript
88
+ functions.update_plan({
89
+ explanation: "Starting link-coordinate session",
90
+ plan: [
91
+ { step: "Phase 1: Session start", status: "in_progress" },
92
+ { step: "Phase 2: Step driver loop", status: "pending" },
93
+ { step: "Phase 3: Completion summary", status: "pending" }
94
+ ]
95
+ })
96
+ ```
97
+
98
+ **Quick-exit: `--list`**
99
+ ```javascript
100
+ functions.exec_command({
101
+ cmd: "maestro coordinate list",
102
+ workdir: "."
103
+ })
104
+ // Display output and stop
105
+ ```
106
+
107
+ **Resume mode: `-c [sessionId]`**
108
+ ```javascript
109
+ functions.exec_command({
110
+ cmd: `maestro coordinate status ${sessionId || ''}`,
111
+ workdir: "."
112
+ })
113
+ // Parse sessionId from output, skip to Phase 2 driver loop
114
+ ```
115
+
116
+ **Fresh session**:
117
+ ```javascript
118
+ functions.exec_command({
119
+ cmd: `maestro coordinate start "${intent}"${chain ? ' --chain ' + chain : ''}`,
120
+ workdir: "."
121
+ })
122
+ // Parse sessionId from JSON output: { "session_id": "...", "chain": "...", "first_node": "..." }
123
+ ```
124
+
125
+ ### Phase 2: Step Driver Loop
126
+
127
+ ```javascript
128
+ functions.update_plan({
129
+ explanation: "Stepping through chain graph",
130
+ plan: [
131
+ { step: "Phase 1: Session start", status: "completed" },
132
+ { step: "Phase 2: Step driver loop", status: "in_progress" },
133
+ { step: "Phase 3: Completion summary", status: "pending" }
134
+ ]
135
+ })
136
+ ```
137
+
138
+ Main loop:
139
+ ```javascript
140
+ while (status !== 'completed' && status !== 'failed') {
141
+ functions.exec_command({
142
+ cmd: `maestro coordinate next ${sessionId}`,
143
+ workdir: "."
144
+ })
145
+ // Parse response JSON: { node_type, node_id, status, result, next_status }
146
+ }
147
+ ```
148
+
149
+ **Node type handling**:
150
+
151
+ | node_type | Action |
152
+ |-----------|--------|
153
+ | `command` | Display result summary; if `!AUTO_YES`, call `request_user_input` to confirm before next |
154
+ | `decision` | Auto-resolved by walker (expr fast-path or LLM). Display resolved edge. |
155
+ | `gate` | Auto-bypassed if conditions met. Display gate status. |
156
+ | `checkpoint` | Pause loop, display current state, await explicit user `$maestro-link-coordinate -c` |
157
+ | `eval` | Display evaluation result and score |
158
+
159
+ **Auto mode (`-y`)**: Use `maestro coordinate run "${intent}"` instead of start + next loop for autonomous execution.
160
+
161
+ **Watch mode** (optional, for long-running steps):
162
+ ```javascript
163
+ functions.exec_command({
164
+ cmd: `maestro coordinate watch ${sessionId} --follow`,
165
+ workdir: "."
166
+ })
167
+ ```
168
+
169
+ ### Phase 3: Completion Summary
170
+
171
+ ```javascript
172
+ functions.exec_command({
173
+ cmd: `maestro coordinate status ${sessionId}`,
174
+ workdir: "."
175
+ })
176
+ ```
177
+
178
+ ```javascript
179
+ functions.update_plan({
180
+ explanation: "Link-coordinate complete",
181
+ plan: [
182
+ { step: "Phase 1: Session start", status: "completed" },
183
+ { step: "Phase 2: Step driver loop", status: "completed" },
184
+ { step: "Phase 3: Completion summary", status: "completed" }
185
+ ]
186
+ })
187
+ ```
188
+
189
+ Display:
190
+ ```
191
+ === GRAPH WALK COMPLETE ===
192
+ Session: <sessionId>
193
+ Chain: <chain>
194
+ Nodes: <N> executed
195
+
196
+ NODE RESULTS:
197
+ [1] <node_id> (command) -- completed
198
+ [2] <node_id> (decision) -- resolved: <edge>
199
+ [3] <node_id> (command) -- completed
200
+
201
+ To re-run: $maestro-link-coordinate "<intent>" --chain <chain>
202
+ ```
203
+ </execution>
204
+
205
+ <error_codes>
206
+ | Code | Severity | Description | Recovery |
207
+ |------|----------|-------------|----------|
208
+ | E001 | error | No intent and no `--list`/`--chain` provided | Suggest `--list` to see available chains |
209
+ | E002 | error | Chain graph not found | Display `maestro coordinate list` output |
210
+ | E003 | error | Step execution failed on a command node | Check node result, use `-c` to retry from that node |
211
+ | E004 | error | Resume session not found | List sessions in coordinate status |
212
+ | E005 | error | `maestro coordinate` CLI endpoint unavailable | Check maestro installation |
213
+ </error_codes>
214
+
215
+ <success_criteria>
216
+ - [ ] Session started or resumed successfully
217
+ - [ ] Each node advanced one at a time via `coordinate next`
218
+ - [ ] Decision and gate nodes auto-resolved by walker
219
+ - [ ] Checkpoint nodes pause execution and await explicit resume
220
+ - [ ] Auto mode (`-y`) uses `coordinate run` for unattended execution
221
+ - [ ] Completion summary displays per-node results
222
+ - [ ] `--list` quick-exits without starting a session
223
+ - [ ] `-c` resumes from last paused node
224
+ </success_criteria>
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: maestro-merge
3
+ description: Two-phase merge of milestone worktree branch back — git merge first, artifact sync only on success. Registry health check, pre-merge rebase, atomic state reconciliation.
4
+ argument-hint: "-m <milestone-number> [--force] [--dry-run] [--no-cleanup] [--continue]"
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
+ ---
7
+
8
+ <purpose>
9
+ Merge a completed milestone worktree branch back into main, sync workflow artifacts,
10
+ and reconcile project state. Two-phase approach: git merge first (source code),
11
+ artifact sync second (only after git succeeds). Prevents partial state corruption
12
+ when merge conflicts occur.
13
+ </purpose>
14
+
15
+ <required_reading>
16
+ @~/.maestro/workflows/merge.md
17
+ </required_reading>
18
+
19
+ <context>
20
+ $ARGUMENTS — milestone number and optional flags.
21
+
22
+ **Flags:**
23
+ - `-m <N>` or bare `<N>`: Milestone number
24
+ - `--force`: Merge even if not all phases completed
25
+ - `--dry-run`: Show what would be merged
26
+ - `--no-cleanup`: Keep worktree and branch after merge
27
+ - `--continue`: Resume merge paused due to git conflict
28
+
29
+ **Merge sequence:**
30
+ 1. Registry health check → 2. Phase readiness validation → 3. Pre-merge rebase →
31
+ 4. Git merge (source) → 5. Artifact sync (.workflow/) → 6. State reconciliation → 7. Cleanup
32
+ </context>
33
+
34
+ <execution>
35
+ Follow '~/.maestro/workflows/merge.md' completely.
36
+
37
+ **Next steps:**
38
+ - View dashboard → `$manage-status`
39
+ - Audit milestone → `$maestro-milestone-audit`
40
+ </execution>
41
+
42
+ <error_codes>
43
+ | Code | Severity | Condition | Recovery |
44
+ |------|----------|-----------|----------|
45
+ | E001 | error | Running inside a worktree | Run from main worktree |
46
+ | E002 | error | No worktree registry found | Nothing to merge |
47
+ | E003 | error | --continue but no merge state | Start fresh merge |
48
+ | E004 | error | No milestone number | Provide `-m <N>` |
49
+ | W001 | warning | Stale registry entries | Auto-cleaned |
50
+ | W002 | warning | Incomplete phases without --force | Confirm or use --force |
51
+ | W003 | warning | Conflict pulling main into worktree | Resolve first |
52
+ </error_codes>
53
+
54
+ <success_criteria>
55
+ - [ ] Registry health check passed
56
+ - [ ] Pre-merge rebase successful
57
+ - [ ] Git merge completed (or conflicts resolved via --continue)
58
+ - [ ] Phase artifacts synced to main `.workflow/`
59
+ - [ ] `state.json` reconciled
60
+ - [ ] Worktree removed and branch deleted (unless --no-cleanup)
61
+ - [ ] Registry updated
62
+ </success_criteria>