maestro-flow 0.5.3 → 0.5.31

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 (259) hide show
  1. package/.agents/skills/learn-follow/SKILL.md +114 -114
  2. package/.agents/skills/learn-investigate/SKILL.md +138 -139
  3. package/.agents/skills/learn-second-opinion/SKILL.md +105 -109
  4. package/.agents/skills/maestro/SKILL.md +2 -10
  5. package/.agents/skills/maestro-amend/SKILL.md +152 -152
  6. package/.agents/skills/maestro-analyze/SKILL.md +201 -252
  7. package/.agents/skills/maestro-blueprint/SKILL.md +175 -190
  8. package/.agents/skills/maestro-brainstorm/SKILL.md +196 -200
  9. package/.agents/skills/maestro-collab/SKILL.md +159 -159
  10. package/.agents/skills/maestro-companion/SKILL.md +517 -517
  11. package/.agents/skills/maestro-composer/SKILL.md +173 -164
  12. package/.agents/skills/maestro-execute/SKILL.md +169 -170
  13. package/.agents/skills/maestro-fork/SKILL.md +97 -96
  14. package/.agents/skills/maestro-grill/SKILL.md +161 -162
  15. package/.agents/skills/maestro-guard/SKILL.md +93 -92
  16. package/.agents/skills/maestro-impeccable/SKILL.md +296 -253
  17. package/.agents/skills/maestro-init/SKILL.md +117 -118
  18. package/.agents/skills/maestro-merge/SKILL.md +73 -66
  19. package/.agents/skills/maestro-milestone-audit/SKILL.md +4 -10
  20. package/.agents/skills/maestro-milestone-complete/SKILL.md +6 -7
  21. package/.agents/skills/maestro-milestone-release/SKILL.md +122 -131
  22. package/.agents/skills/maestro-next/SKILL.md +241 -245
  23. package/.agents/skills/maestro-overlay/SKILL.md +176 -166
  24. package/.agents/skills/maestro-plan/SKILL.md +211 -197
  25. package/.agents/skills/maestro-player/SKILL.md +167 -167
  26. package/.agents/skills/maestro-quick/SKILL.md +69 -63
  27. package/.agents/skills/maestro-ralph/SKILL.md +2 -36
  28. package/.agents/skills/maestro-ralph-beta/SKILL.md +861 -872
  29. package/.agents/skills/maestro-ralph-execute/SKILL.md +234 -234
  30. package/.agents/skills/maestro-roadmap/SKILL.md +159 -172
  31. package/.agents/skills/maestro-swarm-workflow/SKILL.md +229 -250
  32. package/.agents/skills/maestro-tools-execute/SKILL.md +108 -103
  33. package/.agents/skills/maestro-tools-register/SKILL.md +148 -143
  34. package/.agents/skills/maestro-ui-codify/SKILL.md +103 -86
  35. package/.agents/skills/maestro-universal-workflow/SKILL.md +534 -547
  36. package/.agents/skills/maestro-update/SKILL.md +109 -106
  37. package/.agents/skills/manage-codebase-rebuild/SKILL.md +73 -71
  38. package/.agents/skills/manage-harvest/SKILL.md +83 -81
  39. package/.agents/skills/manage-issue/SKILL.md +59 -60
  40. package/.agents/skills/manage-issue-discover/SKILL.md +70 -68
  41. package/.agents/skills/manage-kg-extractors/SKILL.md +130 -0
  42. package/.agents/skills/manage-knowhow/SKILL.md +70 -66
  43. package/.agents/skills/manage-knowhow-capture/SKILL.md +79 -69
  44. package/.agents/skills/manage-knowledge-audit/SKILL.md +91 -74
  45. package/.agents/skills/manage-status/SKILL.md +52 -42
  46. package/.agents/skills/manage-wiki/SKILL.md +69 -58
  47. package/.agents/skills/odyssey-debug/SKILL.md +445 -459
  48. package/.agents/skills/odyssey-improve/SKILL.md +477 -491
  49. package/.agents/skills/odyssey-planex/SKILL.md +576 -587
  50. package/.agents/skills/odyssey-review-test-fix/SKILL.md +400 -413
  51. package/.agents/skills/odyssey-ui/SKILL.md +431 -448
  52. package/.agents/skills/quality-auto-test/SKILL.md +140 -123
  53. package/.agents/skills/quality-debug/SKILL.md +145 -106
  54. package/.agents/skills/quality-refactor/SKILL.md +91 -53
  55. package/.agents/skills/quality-retrospective/SKILL.md +109 -63
  56. package/.agents/skills/quality-review/SKILL.md +141 -114
  57. package/.agents/skills/quality-sync/SKILL.md +74 -38
  58. package/.agents/skills/quality-test/SKILL.md +133 -103
  59. package/.agents/skills/security-audit/SKILL.md +217 -166
  60. package/.agents/skills/spec-add/SKILL.md +66 -59
  61. package/.agents/skills/spec-load/SKILL.md +68 -68
  62. package/.agents/skills/spec-remove/SKILL.md +42 -42
  63. package/.agents/skills/spec-setup/SKILL.md +38 -41
  64. package/.agy/skills/learn-follow/SKILL.md +114 -114
  65. package/.agy/skills/learn-investigate/SKILL.md +138 -139
  66. package/.agy/skills/learn-second-opinion/SKILL.md +105 -109
  67. package/.agy/skills/maestro/SKILL.md +2 -10
  68. package/.agy/skills/maestro-amend/SKILL.md +152 -152
  69. package/.agy/skills/maestro-analyze/SKILL.md +201 -252
  70. package/.agy/skills/maestro-blueprint/SKILL.md +175 -190
  71. package/.agy/skills/maestro-brainstorm/SKILL.md +196 -200
  72. package/.agy/skills/maestro-collab/SKILL.md +159 -159
  73. package/.agy/skills/maestro-companion/SKILL.md +517 -517
  74. package/.agy/skills/maestro-composer/SKILL.md +173 -164
  75. package/.agy/skills/maestro-execute/SKILL.md +169 -170
  76. package/.agy/skills/maestro-fork/SKILL.md +97 -96
  77. package/.agy/skills/maestro-grill/SKILL.md +161 -162
  78. package/.agy/skills/maestro-guard/SKILL.md +93 -92
  79. package/.agy/skills/maestro-impeccable/SKILL.md +296 -253
  80. package/.agy/skills/maestro-init/SKILL.md +117 -118
  81. package/.agy/skills/maestro-merge/SKILL.md +73 -66
  82. package/.agy/skills/maestro-milestone-audit/SKILL.md +4 -10
  83. package/.agy/skills/maestro-milestone-complete/SKILL.md +6 -7
  84. package/.agy/skills/maestro-milestone-release/SKILL.md +122 -131
  85. package/.agy/skills/maestro-next/SKILL.md +241 -245
  86. package/.agy/skills/maestro-overlay/SKILL.md +176 -166
  87. package/.agy/skills/maestro-plan/SKILL.md +211 -197
  88. package/.agy/skills/maestro-player/SKILL.md +167 -167
  89. package/.agy/skills/maestro-quick/SKILL.md +69 -63
  90. package/.agy/skills/maestro-ralph/SKILL.md +2 -36
  91. package/.agy/skills/maestro-ralph-beta/SKILL.md +861 -872
  92. package/.agy/skills/maestro-ralph-execute/SKILL.md +234 -234
  93. package/.agy/skills/maestro-roadmap/SKILL.md +159 -172
  94. package/.agy/skills/maestro-swarm-workflow/SKILL.md +229 -250
  95. package/.agy/skills/maestro-tools-execute/SKILL.md +108 -103
  96. package/.agy/skills/maestro-tools-register/SKILL.md +148 -143
  97. package/.agy/skills/maestro-ui-codify/SKILL.md +103 -86
  98. package/.agy/skills/maestro-universal-workflow/SKILL.md +534 -547
  99. package/.agy/skills/maestro-update/SKILL.md +109 -106
  100. package/.agy/skills/manage-codebase-rebuild/SKILL.md +73 -71
  101. package/.agy/skills/manage-harvest/SKILL.md +83 -81
  102. package/.agy/skills/manage-issue/SKILL.md +59 -60
  103. package/.agy/skills/manage-issue-discover/SKILL.md +70 -68
  104. package/.agy/skills/manage-kg-extractors/SKILL.md +130 -0
  105. package/.agy/skills/manage-knowhow/SKILL.md +70 -66
  106. package/.agy/skills/manage-knowhow-capture/SKILL.md +79 -69
  107. package/.agy/skills/manage-knowledge-audit/SKILL.md +91 -74
  108. package/.agy/skills/manage-status/SKILL.md +52 -42
  109. package/.agy/skills/manage-wiki/SKILL.md +69 -58
  110. package/.agy/skills/odyssey-debug/SKILL.md +445 -459
  111. package/.agy/skills/odyssey-improve/SKILL.md +477 -491
  112. package/.agy/skills/odyssey-planex/SKILL.md +576 -587
  113. package/.agy/skills/odyssey-review-test-fix/SKILL.md +400 -413
  114. package/.agy/skills/odyssey-ui/SKILL.md +431 -448
  115. package/.agy/skills/quality-auto-test/SKILL.md +140 -123
  116. package/.agy/skills/quality-debug/SKILL.md +145 -106
  117. package/.agy/skills/quality-refactor/SKILL.md +91 -53
  118. package/.agy/skills/quality-retrospective/SKILL.md +109 -63
  119. package/.agy/skills/quality-review/SKILL.md +141 -114
  120. package/.agy/skills/quality-sync/SKILL.md +74 -38
  121. package/.agy/skills/quality-test/SKILL.md +133 -103
  122. package/.agy/skills/security-audit/SKILL.md +217 -166
  123. package/.agy/skills/spec-add/SKILL.md +66 -59
  124. package/.agy/skills/spec-load/SKILL.md +68 -68
  125. package/.agy/skills/spec-remove/SKILL.md +42 -42
  126. package/.agy/skills/spec-setup/SKILL.md +38 -41
  127. package/.claude/commands/learn-follow.md +127 -127
  128. package/.claude/commands/learn-investigate.md +151 -152
  129. package/.claude/commands/learn-second-opinion.md +118 -122
  130. package/.claude/commands/maestro-amend.md +164 -164
  131. package/.claude/commands/maestro-analyze.md +215 -266
  132. package/.claude/commands/maestro-blueprint.md +189 -204
  133. package/.claude/commands/maestro-brainstorm.md +209 -213
  134. package/.claude/commands/maestro-collab.md +172 -172
  135. package/.claude/commands/maestro-companion.md +531 -531
  136. package/.claude/commands/maestro-composer.md +188 -179
  137. package/.claude/commands/maestro-execute.md +183 -184
  138. package/.claude/commands/maestro-fork.md +111 -110
  139. package/.claude/commands/maestro-grill.md +175 -176
  140. package/.claude/commands/maestro-guard.md +103 -102
  141. package/.claude/commands/maestro-impeccable.md +311 -268
  142. package/.claude/commands/maestro-init.md +130 -131
  143. package/.claude/commands/maestro-merge.md +87 -80
  144. package/.claude/commands/maestro-milestone-audit.md +4 -10
  145. package/.claude/commands/maestro-milestone-complete.md +6 -7
  146. package/.claude/commands/maestro-milestone-release.md +136 -145
  147. package/.claude/commands/maestro-next.md +253 -257
  148. package/.claude/commands/maestro-overlay.md +188 -178
  149. package/.claude/commands/maestro-plan.md +225 -211
  150. package/.claude/commands/maestro-player.md +182 -182
  151. package/.claude/commands/maestro-quick.md +83 -77
  152. package/.claude/commands/maestro-ralph-beta.md +875 -886
  153. package/.claude/commands/maestro-ralph-execute.md +247 -247
  154. package/.claude/commands/maestro-ralph.md +2 -36
  155. package/.claude/commands/maestro-roadmap.md +173 -186
  156. package/.claude/commands/maestro-swarm-workflow.md +243 -264
  157. package/.claude/commands/maestro-tools-execute.md +122 -117
  158. package/.claude/commands/maestro-tools-register.md +162 -157
  159. package/.claude/commands/maestro-ui-codify.md +117 -100
  160. package/.claude/commands/maestro-universal-workflow.md +548 -561
  161. package/.claude/commands/maestro-update.md +122 -119
  162. package/.claude/commands/maestro.md +2 -10
  163. package/.claude/commands/manage-codebase-rebuild.md +87 -85
  164. package/.claude/commands/manage-harvest.md +97 -95
  165. package/.claude/commands/manage-issue-discover.md +83 -81
  166. package/.claude/commands/manage-issue.md +72 -73
  167. package/.claude/commands/manage-kg-extractors.md +128 -0
  168. package/.claude/commands/manage-knowhow-capture.md +92 -82
  169. package/.claude/commands/manage-knowhow.md +83 -79
  170. package/.claude/commands/manage-knowledge-audit.md +105 -88
  171. package/.claude/commands/manage-status.md +62 -52
  172. package/.claude/commands/manage-wiki.md +82 -71
  173. package/.claude/commands/odyssey-debug.md +459 -473
  174. package/.claude/commands/odyssey-improve.md +491 -505
  175. package/.claude/commands/odyssey-planex.md +590 -601
  176. package/.claude/commands/odyssey-review-test-fix.md +414 -427
  177. package/.claude/commands/odyssey-ui.md +445 -462
  178. package/.claude/commands/quality-auto-test.md +153 -136
  179. package/.claude/commands/quality-debug.md +159 -120
  180. package/.claude/commands/quality-refactor.md +105 -67
  181. package/.claude/commands/quality-retrospective.md +123 -77
  182. package/.claude/commands/quality-review.md +155 -128
  183. package/.claude/commands/quality-sync.md +88 -52
  184. package/.claude/commands/quality-test.md +147 -117
  185. package/.claude/commands/security-audit.md +230 -179
  186. package/.claude/commands/spec-add.md +77 -70
  187. package/.claude/commands/spec-load.md +78 -78
  188. package/.claude/commands/spec-remove.md +55 -55
  189. package/.claude/commands/spec-setup.md +49 -52
  190. package/dist/src/cli.js +1 -1
  191. package/dist/src/cli.js.map +1 -1
  192. package/dist/src/commands/kg.d.ts.map +1 -1
  193. package/dist/src/commands/kg.js +11 -5
  194. package/dist/src/commands/kg.js.map +1 -1
  195. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +2 -0
  196. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -1
  197. package/dist/src/graph/kg/extraction/code/code-extractor.js +32 -3
  198. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -1
  199. package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts +35 -0
  200. package/dist/src/graph/kg/extraction/code/plugin-engine.d.ts.map +1 -0
  201. package/dist/src/graph/kg/extraction/code/plugin-engine.js +573 -0
  202. package/dist/src/graph/kg/extraction/code/plugin-engine.js.map +1 -0
  203. package/dist/src/graph/kg/extraction/code/plugin-types.d.ts +95 -0
  204. package/dist/src/graph/kg/extraction/code/plugin-types.d.ts.map +1 -0
  205. package/dist/src/graph/kg/extraction/code/plugin-types.js +5 -0
  206. package/dist/src/graph/kg/extraction/code/plugin-types.js.map +1 -0
  207. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -1
  208. package/dist/src/graph/kg/extraction/orchestrator.js +17 -5
  209. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -1
  210. package/dist/src/graph/kg/schema.sql +16 -11
  211. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -1
  212. package/dist/src/graph/kg/surface/cli.js +153 -56
  213. package/dist/src/graph/kg/surface/cli.js.map +1 -1
  214. package/dist/src/hooks/workspace.d.ts +4 -2
  215. package/dist/src/hooks/workspace.d.ts.map +1 -1
  216. package/dist/src/hooks/workspace.js +6 -2
  217. package/dist/src/hooks/workspace.js.map +1 -1
  218. package/package.json +91 -91
  219. package/workflows/analyze.md +25 -49
  220. package/workflows/auto-test.md +699 -699
  221. package/workflows/blueprint.md +403 -431
  222. package/workflows/brainstorm.md +54 -195
  223. package/workflows/business-test.md +570 -570
  224. package/workflows/claude-instructions.md +23 -51
  225. package/workflows/codex-instructions.md +27 -77
  226. package/workflows/coding-philosophy.md +69 -69
  227. package/workflows/command-authoring.md +823 -823
  228. package/workflows/debug.md +43 -98
  229. package/workflows/delegate-usage.md +39 -241
  230. package/workflows/execute.md +4 -53
  231. package/workflows/grill.md +12 -56
  232. package/workflows/harvest.md +22 -68
  233. package/workflows/init.md +148 -148
  234. package/workflows/instruction-authoring-guide.md +97 -0
  235. package/workflows/issue-execute.md +110 -110
  236. package/workflows/issue-gaps-analyze.codex.md +260 -260
  237. package/workflows/issue-gaps-analyze.md +216 -216
  238. package/workflows/issue-plan.md +110 -110
  239. package/workflows/issue.md +338 -346
  240. package/workflows/knowhow.md +0 -32
  241. package/workflows/learn.md +277 -277
  242. package/workflows/maestro-chain-execute.md +20 -20
  243. package/workflows/refactor.md +22 -44
  244. package/workflows/retrospective.md +16 -65
  245. package/workflows/review.md +446 -486
  246. package/workflows/roadmap.md +35 -132
  247. package/workflows/skill-authoring.md +265 -265
  248. package/workflows/spec-generate.md +470 -470
  249. package/workflows/specs-remove.md +104 -104
  250. package/workflows/sync.md +11 -41
  251. package/workflows/test-gen.md +226 -226
  252. package/workflows/test.md +385 -475
  253. package/workflows/ui-design.md +391 -391
  254. package/workflows/ui-style.md +199 -199
  255. package/workflows/wiki-connect.md +151 -151
  256. package/workflows/wiki-digest.md +178 -178
  257. package/workflows/wiki-manage.md +109 -109
  258. package/workflows/cli-tools-usage.md +0 -252
  259. package/workflows/delegate-protocol.codex.md +0 -65
@@ -1,182 +1,182 @@
1
- ---
2
- name: maestro-player
3
- description: Play workflow templates with checkpoint 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 workflow template (from maestro-composer) → bind context variables → execute DAG nodes in topological order → persist state at checkpoints → support resume.
18
-
19
- Session: `.workflow/.maestro/player-{YYYYMMDD-HHmmss}/status.json`
20
- </purpose>
21
-
22
- <context>
23
- $ARGUMENTS — template slug/path, or flags.
24
-
25
- **Flags**:
26
- - `--context key=value`: Bind context variables (repeatable)
27
- - `-c [session-id]`: Resume paused/interrupted session
28
- - `--list`: List available templates from index.json
29
- - `--dry-run`: Show execution plan without executing
30
-
31
- **Node execution mechanisms**:
32
-
33
- | Node type | Mechanism | Blocking |
34
- |-----------|-----------|----------|
35
- | skill | `Skill(skill, args)` | sync |
36
- | command | `Skill(skill, args)` | sync |
37
- | cli | `maestro delegate --to tool --mode mode` via `Bash(run_in_background: true)` | async, STOP + wait |
38
- | agent | `Agent(subagent_type, prompt)` | configurable |
39
- | checkpoint | State save + optional user pause | — |
40
-
41
- **Runtime reference resolution** in args_template:
42
-
43
- | Reference | Resolves to |
44
- |-----------|-------------|
45
- | `{variable}` | session context[variable] |
46
- | `{N-001.session_id}` | node's session_id |
47
- | `{N-001.output_path}` | node's output_path |
48
- | `{prev_session_id}` | previous non-checkpoint node's session_id |
49
- | `{prev_output_path}` | previous non-checkpoint node's output_path |
50
-
51
- **Session schema** (status.json — must align with maestro.md tracking):
52
- ```json
53
- {
54
- "session_id": "player-<YYYYMMDD>-<HHmmss>",
55
- "status": "running|paused|completed|failed|aborted",
56
- "template_id": "wft-<slug>-<date>",
57
- "template_path": "<path>",
58
- "auto_mode": false,
59
- "context": { "goal": "..." },
60
- "steps": [{
61
- "index": 0, "node_id": "N-001", "skill": "<executor>",
62
- "args": "<resolved>", "type": "skill|cli|agent|checkpoint",
63
- "status": "pending|running|completed|skipped|failed",
64
- "session_id": null, "output_path": null, "artifacts": []
65
- }],
66
- "current_step": 0,
67
- "last_checkpoint": null
68
- }
69
- ```
70
- </context>
71
-
72
- <state_machine>
73
-
74
- <states>
75
- S_ROUTE — 入口路由(list/resume/dry-run/normal) PERSIST: —
76
- S_RESUME — 恢复已暂停 session PERSIST: —
77
- S_LOAD — 加载模板、收集变量、绑定引用 PERSIST: —
78
- S_INIT — 创建 session、拓扑排序、初始化 steps PERSIST: status.json
79
- S_EXEC_LOOP — 逐步执行(核心循环) PERSIST: status.json (每步更新)
80
- S_COMPLETE — 标记完成、输出摘要 PERSIST: status.json (final)
81
- </states>
82
-
83
- <transitions>
84
-
85
- S_ROUTE:
86
- → handleList WHEN: --list DO: scan index.json, display templates
87
- → S_RESUME WHEN: -c flag
88
- → S_LOAD WHEN: template slug/path provided
89
- → handleList WHEN: no args DO: display templates + AskUserQuestion
90
-
91
- S_RESUME:
92
- → S_EXEC_LOOP WHEN: session found DO: A_RESUME_SESSION
93
- → ERROR(E004) WHEN: no session found
94
-
95
- S_LOAD:
96
- → S_INIT DO: A_LOAD_AND_BIND
97
-
98
- S_INIT:
99
- → END WHEN: --dry-run DO: display execution plan
100
- → S_EXEC_LOOP DO: A_INIT_SESSION (topological sort → steps[], write status.json, display banner)
101
-
102
- S_EXEC_LOOP:
103
- → S_EXEC_LOOP WHEN: step completed, more steps DO: A_EXECUTE_STEP → advance current_step
104
- → S_COMPLETE WHEN: all steps completed
105
- → END WHEN: checkpoint pause DO: set status=paused, display resume command
106
- → END WHEN: abort chosen DO: set status=aborted, save progress
107
- GUARD: cli nodes → Bash(run_in_background: true) + STOP, wait for callback
108
- GUARD: on failure → on_fail: skip (log, advance) | retry (once) | abort (AskUserQuestion: Retry/Skip/Abort)
109
- GUARD: after step 3+ → display context hint "可随时 /maestro-player -c 恢复"
110
-
111
- S_COMPLETE:
112
- → END DO: A_COMPLETE_SESSION
113
-
114
- </transitions>
115
-
116
- <actions>
117
-
118
- ### A_RESUME_SESSION
119
-
120
- 1. If session-id: load status.json. If none: scan player-*/status.json for running|paused.
121
- 2. Reset any "running" steps to "pending" (interrupted mid-execution)
122
- 3. Set current_step to resume point after last_checkpoint
123
- 4. Enter S_EXEC_LOOP
124
-
125
- ### A_LOAD_AND_BIND
126
-
127
- 1. Resolve template: absolute path → as-is; relative → from cwd; slug → index.json lookup
128
- 2. Parse `--context key=value` pairs
129
- 3. Validate template (template_id, nodes, edges, context_schema required)
130
- 4. Collect missing required variables via AskUserQuestion
131
- 5. Bind {variable} placeholders (leave {N-xxx.field} and {prev_*} for runtime)
132
-
133
- ### A_INIT_SESSION
134
-
135
- 1. Generate session_id: player-{YYYYMMDD-HHmmss}
136
- 2. Topological sort (Kahn's algorithm) → flatten to steps[] (parallel nodes share batch index)
137
- 3. All steps status: "pending"
138
- 4. Write status.json
139
-
140
- ### A_EXECUTE_STEP
141
-
142
- 1. Resolve runtime references ({N-xxx.field}, {prev_*}) in args
143
- 2. Set step status="running", write status.json
144
- 3. Execute by type:
145
- - **skill/command**: `Skill(skill, resolved_args)` → extract session_id, output_path, artifacts
146
- - **cli**: `Bash(run_in_background: true)` → STOP, wait for callback → `maestro delegate output <id>`
147
- - **agent**: `Agent(subagent_type, resolved_args)`
148
- - **checkpoint**: write checkpoint snapshot. If auto_continue==false:
149
- AskUserQuestion (single-select, header: "Checkpoint"):
150
- - **Continue** — proceed to next step
151
- - **Pause** — save progress, exit (resume with `-c`)
152
- - **Abort** — stop workflow
153
- 4. Set step status="completed" (or "skipped"/"failed"), write status.json
154
-
155
- ### A_COMPLETE_SESSION
156
-
157
- Set status="completed", completed_at. Display summary: session, template, steps completed, context, per-step results, artifacts, session dir.
158
- AskUserQuestion (single-select, header: "完成"):
159
- - **Keep session** — preserve artifacts for reference
160
- - **Run again** — re-execute with same template
161
- - **Done** — clean up and exit
162
-
163
- </actions>
164
-
165
- </state_machine>
166
-
167
- <error_codes>
168
- | Code | Condition | Recovery |
169
- |------|-----------|----------|
170
- | E001 | Template not found | Show --list, suggest closest match |
171
- | E002 | Template JSON invalid (missing template_id/nodes/edges) | Point to template file for fix |
172
- | E004 | Resume session not found | List available player-*/ sessions |
173
- | E005 | DAG cycle in template | Point to template, suggest --edit |
174
- | E006 | Node execution failed + abort chosen | Save state, suggest `-c` resume |
175
- </error_codes>
176
-
177
- <success_criteria>
178
- - [ ] Template loaded, variables bound, session created with topological steps
179
- - [ ] status.json written after every step change (resume-safe)
180
- - [ ] CLI nodes use Bash(run_in_background) + STOP pattern
181
- - [ ] Checkpoints saved, resume via -c works
182
- </success_criteria>
1
+ ---
2
+ name: maestro-player
3
+ description: Play workflow templates with checkpoint 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 workflow template (from maestro-composer) → bind context variables → execute DAG nodes in topological order → persist state at checkpoints → support resume.
18
+
19
+ Session: `.workflow/.maestro/player-{YYYYMMDD-HHmmss}/status.json`
20
+ </purpose>
21
+
22
+ <context>
23
+ $ARGUMENTS — template slug/path, or flags.
24
+
25
+ **Flags**:
26
+ - `--context key=value`: Bind context variables (repeatable)
27
+ - `-c [session-id]`: Resume paused/interrupted session
28
+ - `--list`: List available templates from index.json
29
+ - `--dry-run`: Show execution plan without executing
30
+
31
+ **Node execution mechanisms**:
32
+
33
+ | Node type | Mechanism | Blocking |
34
+ |-----------|-----------|----------|
35
+ | skill | `Skill(skill, args)` | sync |
36
+ | command | `Skill(skill, args)` | sync |
37
+ | cli | `maestro delegate --to tool --mode mode` via `Bash(run_in_background: true)` | async, STOP + wait |
38
+ | agent | `Agent(subagent_type, prompt)` | configurable |
39
+ | checkpoint | State save + optional user pause | — |
40
+
41
+ **Runtime reference resolution** in args_template:
42
+
43
+ | Reference | Resolves to |
44
+ |-----------|-------------|
45
+ | `{variable}` | session context[variable] |
46
+ | `{N-001.session_id}` | node's session_id |
47
+ | `{N-001.output_path}` | node's output_path |
48
+ | `{prev_session_id}` | previous non-checkpoint node's session_id |
49
+ | `{prev_output_path}` | previous non-checkpoint node's output_path |
50
+
51
+ **Session schema** (status.json — must align with maestro.md tracking):
52
+ ```json
53
+ {
54
+ "session_id": "player-<YYYYMMDD>-<HHmmss>",
55
+ "status": "running|paused|completed|failed|aborted",
56
+ "template_id": "wft-<slug>-<date>",
57
+ "template_path": "<path>",
58
+ "auto_mode": false,
59
+ "context": { "goal": "..." },
60
+ "steps": [{
61
+ "index": 0, "node_id": "N-001", "skill": "<executor>",
62
+ "args": "<resolved>", "type": "skill|cli|agent|checkpoint",
63
+ "status": "pending|running|completed|skipped|failed",
64
+ "session_id": null, "output_path": null, "artifacts": []
65
+ }],
66
+ "current_step": 0,
67
+ "last_checkpoint": null
68
+ }
69
+ ```
70
+ </context>
71
+
72
+ <state_machine>
73
+
74
+ <states>
75
+ S_ROUTE — 入口路由(list/resume/dry-run/normal) PERSIST: —
76
+ S_RESUME — 恢复已暂停 session PERSIST: —
77
+ S_LOAD — 加载模板、收集变量、绑定引用 PERSIST: —
78
+ S_INIT — 创建 session、拓扑排序、初始化 steps PERSIST: status.json
79
+ S_EXEC_LOOP — 逐步执行(核心循环) PERSIST: status.json (每步更新)
80
+ S_COMPLETE — 标记完成、输出摘要 PERSIST: status.json (final)
81
+ </states>
82
+
83
+ <transitions>
84
+
85
+ S_ROUTE:
86
+ → handleList WHEN: --list DO: scan index.json, display templates
87
+ → S_RESUME WHEN: -c flag
88
+ → S_LOAD WHEN: template slug/path provided
89
+ → handleList WHEN: no args DO: display templates + AskUserQuestion
90
+
91
+ S_RESUME:
92
+ → S_EXEC_LOOP WHEN: session found DO: A_RESUME_SESSION
93
+ → ERROR(E004) WHEN: no session found
94
+
95
+ S_LOAD:
96
+ → S_INIT DO: A_LOAD_AND_BIND
97
+
98
+ S_INIT:
99
+ → END WHEN: --dry-run DO: display execution plan
100
+ → S_EXEC_LOOP DO: A_INIT_SESSION (topological sort → steps[], write status.json, display banner)
101
+
102
+ S_EXEC_LOOP:
103
+ → S_EXEC_LOOP WHEN: step completed, more steps DO: A_EXECUTE_STEP → advance current_step
104
+ → S_COMPLETE WHEN: all steps completed
105
+ → END WHEN: checkpoint pause DO: set status=paused, display resume command
106
+ → END WHEN: abort chosen DO: set status=aborted, save progress
107
+ GUARD: cli nodes → Bash(run_in_background: true) + STOP, wait for callback
108
+ GUARD: on failure → on_fail: skip (log, advance) | retry (once) | abort (AskUserQuestion: Retry/Skip/Abort)
109
+ GUARD: after step 3+ → display context hint "可随时 /maestro-player -c 恢复"
110
+
111
+ S_COMPLETE:
112
+ → END DO: A_COMPLETE_SESSION
113
+
114
+ </transitions>
115
+
116
+ <actions>
117
+
118
+ ### A_RESUME_SESSION
119
+
120
+ 1. If session-id: load status.json. If none: scan player-*/status.json for running|paused.
121
+ 2. Reset any "running" steps to "pending" (interrupted mid-execution)
122
+ 3. Set current_step to resume point after last_checkpoint
123
+ 4. Enter S_EXEC_LOOP
124
+
125
+ ### A_LOAD_AND_BIND
126
+
127
+ 1. Resolve template: absolute path → as-is; relative → from cwd; slug → index.json lookup
128
+ 2. Parse `--context key=value` pairs
129
+ 3. Validate template (template_id, nodes, edges, context_schema required)
130
+ 4. Collect missing required variables via AskUserQuestion
131
+ 5. Bind {variable} placeholders (leave {N-xxx.field} and {prev_*} for runtime)
132
+
133
+ ### A_INIT_SESSION
134
+
135
+ 1. Generate session_id: player-{YYYYMMDD-HHmmss}
136
+ 2. Topological sort (Kahn's algorithm) → flatten to steps[] (parallel nodes share batch index)
137
+ 3. All steps status: "pending"
138
+ 4. Write status.json
139
+
140
+ ### A_EXECUTE_STEP
141
+
142
+ 1. Resolve runtime references ({N-xxx.field}, {prev_*}) in args
143
+ 2. Set step status="running", write status.json
144
+ 3. Execute by type:
145
+ - **skill/command**: `Skill(skill, resolved_args)` → extract session_id, output_path, artifacts
146
+ - **cli**: `Bash(run_in_background: true)` → STOP, wait for callback → `maestro delegate output <id>`
147
+ - **agent**: `Agent(subagent_type, resolved_args)`
148
+ - **checkpoint**: write checkpoint snapshot. If auto_continue==false:
149
+ AskUserQuestion (single-select, header: "Checkpoint"):
150
+ - **Continue** — proceed to next step
151
+ - **Pause** — save progress, exit (resume with `-c`)
152
+ - **Abort** — stop workflow
153
+ 4. Set step status="completed" (or "skipped"/"failed"), write status.json
154
+
155
+ ### A_COMPLETE_SESSION
156
+
157
+ Set status="completed", completed_at. Display summary: session, template, steps completed, context, per-step results, artifacts, session dir.
158
+ AskUserQuestion (single-select, header: "完成"):
159
+ - **Keep session** — preserve artifacts for reference
160
+ - **Run again** — re-execute with same template
161
+ - **Done** — clean up and exit
162
+
163
+ </actions>
164
+
165
+ </state_machine>
166
+
167
+ <error_codes>
168
+ | Code | Condition | Recovery |
169
+ |------|-----------|----------|
170
+ | E001 | Template not found | Show --list, suggest closest match |
171
+ | E002 | Template JSON invalid (missing template_id/nodes/edges) | Point to template file for fix |
172
+ | E004 | Resume session not found | List available player-*/ sessions |
173
+ | E005 | DAG cycle in template | Point to template, suggest --edit |
174
+ | E006 | Node execution failed + abort chosen | Save state, suggest `-c` resume |
175
+ </error_codes>
176
+
177
+ <success_criteria>
178
+ - [ ] Template loaded, variables bound, session created with topological steps
179
+ - [ ] status.json written after every step change (resume-safe)
180
+ - [ ] CLI nodes use Bash(run_in_background) + STOP pattern
181
+ - [ ] Checkpoints saved, resume via -c works
182
+ </success_criteria>
@@ -1,77 +1,83 @@
1
- ---
2
- name: maestro-quick
3
- description: Quick task execution, skip optional agents
4
- argument-hint: "[description] [--full] [--discuss]"
5
- allowed-tools:
6
- - Read
7
- - Write
8
- - Edit
9
- - Bash
10
- - Glob
11
- - Grep
12
- - Agent
13
- - AskUserQuestion
14
- ---
15
- <purpose>
16
- Execute small, ad-hoc tasks with workflow guarantees (atomic commits, state tracking) using a shortened pipeline. Invoked for tasks that are well-understood and do not require full phase-level planning. Produces scratch task directory with plan, execution results, and optional verification. Flags --discuss and --full enable additional pipeline stages.
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/quick.md
21
- </required_reading>
22
-
23
- <context>
24
- $ARGUMENTS
25
-
26
- Parse for:
27
- - `--full` flag -- Enables plan-checking (max 2 iterations) and post-execution verification
28
- - `--discuss` flag -- Decision extraction before planning (gray areas, Locked/Free/Deferred classification)
29
- - Remaining text as task description
30
-
31
- ### Pre-load context
32
-
33
- 1. **Coding specs + tools**: Run `maestro spec load --category coding` to load coding conventions and discoverable tools. Apply to implementation.
34
- 2. **UI specs (conditional)**: If the task involves frontend/UI work (description contains component, page, style, layout, CSS, HTML, frontend), also run `maestro spec load --category ui`.
35
- 3. **Role Knowledge**:
36
- - Browse: `maestro search --category coding`
37
- - Load task-relevant entries: `maestro wiki load <id1> [id2...]`
38
- 3. All are optional proceed without if unavailable.
39
- </context>
40
-
41
- <execution>
42
- Follow '~/.maestro/workflows/quick.md' completely.
43
-
44
- ### Artifact Verification (before completion)
45
-
46
- ```
47
- REQUIRED_ARTIFACTS = [
48
- "plan.json", // Task definitions
49
- ".summaries/TASK-*-summary.md" (per task) // Execution results
50
- ]
51
- ```
52
- If any artifact is missing: DO NOT report completion. Complete the missing step first.
53
-
54
- Task summaries MUST include concrete evidence of completion (files changed, tests run, commands executed) — not just "task completed successfully."
55
-
56
- **Next-step routing on completion:**
57
- - Task done, --full verification passed → /manage-status
58
- - Task done, verification found gaps → /quality-debug {issue}
59
- - Task done, want to sync docs → /quality-sync
60
- - Need a full phase workflow instead → /maestro-plan {phase}
61
- </execution>
62
-
63
- <error_codes>
64
- | Code | Severity | Condition | Recovery |
65
- |------|----------|-----------|----------|
66
- | E001 | error | Task description required (no text provided) | Check arguments format, re-run with correct input |
67
- | E002 | error | Scratch directory creation failed | Check disk space and .workflow/ permissions |
68
- | W001 | warning | Verification found minor gaps | Review gaps and determine if they need fixing |
69
- </error_codes>
70
-
71
- <success_criteria>
72
- - [ ] Scratch task directory created under .workflow/scratch/
73
- - [ ] plan.json written with task definitions
74
- - [ ] All tasks executed with summaries written
75
- - [ ] state.json updated with scratch task entry
76
- - [ ] Commit created with task changes
77
- </success_criteria>
1
+ ---
2
+ name: maestro-quick
3
+ description: Quick task execution, skip optional agents
4
+ argument-hint: "[description] [--full] [--discuss]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Edit
9
+ - Bash
10
+ - Glob
11
+ - Grep
12
+ - Agent
13
+ - AskUserQuestion
14
+ ---
15
+ <purpose>
16
+ Execute small, ad-hoc tasks with workflow guarantees (atomic commits, state tracking) via a shortened pipeline.
17
+ Flags --discuss and --full enable additional pipeline stages.
18
+ </purpose>
19
+
20
+ <required_reading>
21
+ @~/.maestro/workflows/quick.md
22
+ </required_reading>
23
+
24
+ <context>
25
+ $ARGUMENTS
26
+
27
+ Parse for:
28
+ - `--full` flag -- Enables plan-checking (max 2 iterations) and post-execution verification
29
+ - `--discuss` flag -- Decision extraction before planning (gray areas, Locked/Free/Deferred classification)
30
+ - Remaining text as task description
31
+
32
+ ### Pre-load context
33
+
34
+ 1. **Coding specs + tools**: Run `maestro spec load --category coding` to load coding conventions and discoverable tools. Apply to implementation.
35
+ 2. **UI specs (conditional)**: If the task involves frontend/UI work (description contains component, page, style, layout, CSS, HTML, frontend), also run `maestro spec load --category ui`.
36
+ 3. **Role Knowledge**:
37
+ - Browse: `maestro search --category coding`
38
+ - Load task-relevant entries: `maestro wiki load <id1> [id2...]`
39
+ 3. All are optional — proceed without if unavailable.
40
+ </context>
41
+
42
+ <execution>
43
+ Follow '~/.maestro/workflows/quick.md' completely.
44
+
45
+ ### Artifact Verification (before completion)
46
+
47
+ ```
48
+ REQUIRED_ARTIFACTS = [
49
+ "plan.json", // Task definitions
50
+ ".summaries/TASK-*-summary.md" (per task) // Execution results
51
+ ]
52
+ ```
53
+ If any artifact is missing: DO NOT report completion. Complete the missing step first.
54
+
55
+ Task summaries MUST include concrete evidence of completion (files changed, tests run, commands executed) — not just "task completed successfully."
56
+
57
+ </execution>
58
+
59
+ <completion>
60
+ ### Next-step routing
61
+ | Condition | Suggestion |
62
+ |-----------|-----------|
63
+ | Task done, --full verification passed | `/manage-status` |
64
+ | Task done, verification found gaps | `/quality-debug {issue}` |
65
+ | Task done, want to sync docs | `/quality-sync` |
66
+ | Need a full phase workflow instead | `/maestro-plan {phase}` |
67
+ </completion>
68
+
69
+ <error_codes>
70
+ | Code | Severity | Condition | Recovery |
71
+ |------|----------|-----------|----------|
72
+ | E001 | error | Task description required (no text provided) | Check arguments format, re-run with correct input |
73
+ | E002 | error | Scratch directory creation failed | Check disk space and .workflow/ permissions |
74
+ | W001 | warning | Verification found minor gaps | Review gaps and determine if they need fixing |
75
+ </error_codes>
76
+
77
+ <success_criteria>
78
+ - [ ] Scratch task directory created under .workflow/scratch/
79
+ - [ ] plan.json written with task definitions
80
+ - [ ] All tasks executed with summaries written
81
+ - [ ] state.json updated with scratch task entry
82
+ - [ ] Commit created with task changes
83
+ </success_criteria>