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,179 +1,188 @@
1
- ---
2
- name: maestro-composer
3
- description: Compose reusable workflow templates from natural language
4
- argument-hint: "<workflow-description> [--resume] [--edit <template-path>]"
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
- Interactive workflow template composer. Parse natural language resolve executors → inject checkpoints → build DAG → persist to `~/.maestro/templates/workflows/`. Progressive disclosure — specs loaded only when phase needs them.
18
-
19
- Three entry modes: **New design** (default), **Resume** (`--resume`), **Edit** (`--edit <path>`).
20
- </purpose>
21
-
22
- <deferred_reading>
23
- - [node-catalog](~/.maestro/templates/workflows/specs/node-catalog.md) — read at Phase 2 (Resolve)
24
- - [template-schema](~/.maestro/templates/workflows/specs/template-schema.md) — read at Phase 5 (Persist)
25
- </deferred_reading>
26
-
27
- <context>
28
- $ARGUMENTS — natural language description, or flags.
29
-
30
- **Flags**: `--resume` (resume in-progress design), `--edit <path>` (edit existing template)
31
-
32
- **Constants**:
33
- - Template dir: `~/.maestro/templates/workflows/`
34
- - Template index: `~/.maestro/templates/workflows/index.json`
35
- - Design drafts: `.workflow/templates/design-drafts/`
36
- - Template ID: `wft-<slug>-<YYYYMMDD>`, Node ID: `N-<seq>`, Checkpoint: `CP-<seq>`
37
- - Max nodes: 20
38
-
39
- ### Pre-load specs
40
- 1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for node resolution — ensures workflow design respects documented patterns.
41
- 2. **Coding specs**: Run `maestro spec load --category coding` to load coding conventions. Informs executor argument defaults and context injection.
42
- 3. Optional — proceed without if unavailable.
43
- </context>
44
-
45
- <state_machine>
46
-
47
- <states>
48
- S_ROUTE入口路由(new/resume/edit) PERSIST:
49
- S_PARSE 语义意图提取 PERSIST: intent.json
50
- S_CONFIRM_1 确认解析结果 PERSIST:
51
- S_RESOLVE 映射步骤到 executor 节点 PERSIST: nodes.json
52
- S_CONFIRM_2 确认节点映射 PERSIST:
53
- S_ENRICH 注入 checkpoint + 构建 DAG PERSIST: dag.json
54
- S_CONFIRM_3 可视化 pipeline + 用户审批 PERSIST:
55
- S_PERSIST — 组装 JSON + 保存模板 PERSIST: template file + index
56
- </states>
57
-
58
- <transitions>
59
-
60
- S_ROUTE:
61
- S_PARSE WHEN: no flags (new design)
62
- S_RESOLVE WHEN: --resume DO: load draft, skip to last incomplete phase
63
- → S_CONFIRM_3 WHEN: --edit <path> DO: load template, show pipeline, ask edits
64
-
65
- S_PARSE:
66
- → S_CONFIRM_1 DO: A_PARSE_INTENT
67
-
68
- S_CONFIRM_1:
69
- S_RESOLVE WHEN: user confirms "Looks good"
70
- S_PARSE WHEN: user selects "Edit steps" or "Add step"
71
- → END WHEN: user cancels DO: save draft
72
-
73
- S_RESOLVE:
74
- → S_CONFIRM_2 DO: A_RESOLVE_NODES (read deferred: node-catalog)
75
-
76
- S_CONFIRM_2:
77
- S_ENRICH WHEN: user confirms "Continue"
78
- S_RESOLVE WHEN: user changes executor or node type
79
- S_PARSE WHEN: user selects "Back to intent"
80
- → END WHEN: user cancels DO: save draft
81
-
82
- S_ENRICH:
83
- → S_CONFIRM_3 DO: A_BUILD_DAG
84
-
85
- S_CONFIRM_3:
86
- S_PERSIST WHEN: user confirms "Confirm & Save"
87
- S_CONFIRM_3 WHEN: user edits/adds/removes node DO: apply change, re-render
88
- S_ENRICH WHEN: user selects "Re-run checkpoints"
89
- → END WHEN: user cancels DO: save draft
90
-
91
- S_PERSIST:
92
- → END DO: A_SAVE_TEMPLATE (read deferred: template-schema)
93
-
94
- </transitions>
95
-
96
- <actions>
97
-
98
- ### A_PARSE_INTENT
99
-
100
- 1. Parse description (if empty: AskUserQuestion for workflow description)
101
- 2. Extract candidate nodes via semantic signals:
102
-
103
- | Signal | Type hint |
104
- |--------|-----------|
105
- | "analyze", "review", "explore" | analysis (cli) |
106
- | "plan", "design", "spec" | planning (skill) |
107
- | "implement", "build", "code", "fix" | execution (skill) |
108
- | "test", "validate", "verify" | testing (skill) |
109
- | "then", "next", "after" | sequential edge |
110
- | "parallel", "simultaneously" | parallel edge |
111
-
112
- 3. Extract variables (inputs that vary per run)
113
- 4. Classify: task type + complexity (simple 1-3 / medium 4-7 / complex 8+)
114
- 5. Write `intent.json` to design drafts dir
115
- 6. Display: parsed steps, variables, task type, complexity
116
-
117
- ### A_RESOLVE_NODES
118
-
119
- Read deferred `node-catalog.md` (fallback to built-in mapping):
120
-
121
- | Type hint | Default executor |
122
- |-----------|-----------------|
123
- | planning | `maestro-plan` |
124
- | execution | `maestro-execute` |
125
- | testing | `quality-test` |
126
- | review | `quality-review` |
127
- | brainstorm | `maestro-brainstorm` |
128
- | analysis | `maestro delegate --role analyze` |
129
- | verify | `maestro-execute` |
130
- | refactor | `quality-refactor` |
131
- | debug | `quality-debug` |
132
-
133
- Build `args_template` with variable placeholders. Context injection: planning-after-analysis → `--context {prev_output_path}`, execution-after-planning → `--resume-session {prev_session_id}`.
134
- Write `nodes.json`. Display resolved node list.
135
-
136
- ### A_BUILD_DAG
137
-
138
- 1. Build sequential edges (fan-out/fan-in for parallel groups)
139
- 2. Auto-inject checkpoints:
140
-
141
- | Rule | Condition |
142
- |------|-----------|
143
- | Artifact boundary | Source outputs plan/spec/analysis/review |
144
- | Execution gate | Target contains `execute` |
145
- | Long-running | Target is maestro-plan, maestro-roadmap --mode full |
146
- | Post-testing | Source contains `test` or `auto-test` |
147
- | User-defined | type_hint == checkpoint |
148
-
149
- 3. Finalize context_schema from {variable} references
150
- 4. Validate: no cycles, no orphans, all reachable
151
- 5. Write `dag.json`
152
- 6. Display ASCII pipeline visualization
153
-
154
- ### A_SAVE_TEMPLATE
155
-
156
- Read deferred `template-schema.md` (fallback to built-in structure).
157
- Assemble template JSON: template_id, name, nodes, edges, checkpoints, context_schema, execution_mode.
158
- Write to `~/.maestro/templates/workflows/<slug>.json`. Update index.json.
159
- Display: path, ID, node count, variables, execute/edit commands. Clean up draft dir.
160
-
161
- </actions>
162
-
163
- </state_machine>
164
-
165
- <error_codes>
166
- | Code | Condition | Recovery |
167
- |------|-----------|----------|
168
- | E002 | 0 steps extracted | Ask user to rephrase with action verbs |
169
- | E003 | Node count > 20 | Suggest splitting into sub-workflows |
170
- | E005 | DAG cycle detected | Show cycle, ask user to resolve |
171
- | E006 | Edit template not found (--edit) | Show available templates |
172
- | W001 | Ambiguous step→executor mapping | Show candidates, let user choose |
173
- </error_codes>
174
-
175
- <success_criteria>
176
- - [ ] Each phase has interactive confirmation gate
177
- - [ ] Template JSON written with nodes, edges, checkpoints, context_schema
178
- - [ ] Index updated; deferred specs loaded only when phase needs them
179
- </success_criteria>
1
+ ---
2
+ name: maestro-composer
3
+ description: Compose reusable workflow templates from natural language
4
+ argument-hint: "<workflow-description> [--resume] [--edit <template-path>]"
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
+ Interactive workflow template composer: natural language to DAG template.
18
+ Three modes: new design (default), resume (`--resume`), edit (`--edit <path>`).
19
+ </purpose>
20
+
21
+ <deferred_reading>
22
+ - [node-catalog](~/.maestro/templates/workflows/specs/node-catalog.md) — read at Phase 2 (Resolve)
23
+ - [template-schema](~/.maestro/templates/workflows/specs/template-schema.md) — read at Phase 5 (Persist)
24
+ </deferred_reading>
25
+
26
+ <context>
27
+ $ARGUMENTS — natural language description, or flags.
28
+
29
+ **Flags**: `--resume` (resume in-progress design), `--edit <path>` (edit existing template)
30
+
31
+ **Constants**:
32
+ - Template dir: `~/.maestro/templates/workflows/`
33
+ - Template index: `~/.maestro/templates/workflows/index.json`
34
+ - Design drafts: `.workflow/templates/design-drafts/`
35
+ - Template ID: `wft-<slug>-<YYYYMMDD>`, Node ID: `N-<seq>`, Checkpoint: `CP-<seq>`
36
+ - Max nodes: 20
37
+
38
+ ### Pre-load specs
39
+ 1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for node resolution — ensures workflow design respects documented patterns.
40
+ 2. **Coding specs**: Run `maestro spec load --category coding` to load coding conventions. Informs executor argument defaults and context injection.
41
+ 3. Optional proceed without if unavailable.
42
+ </context>
43
+
44
+ <state_machine>
45
+
46
+ <states>
47
+ S_ROUTE — 入口路由(new/resume/edit) PERSIST: —
48
+ S_PARSE语义意图提取 PERSIST: intent.json
49
+ S_CONFIRM_1 确认解析结果 PERSIST:
50
+ S_RESOLVE 映射步骤到 executor 节点 PERSIST: nodes.json
51
+ S_CONFIRM_2 确认节点映射 PERSIST:
52
+ S_ENRICH 注入 checkpoint + 构建 DAG PERSIST: dag.json
53
+ S_CONFIRM_3 可视化 pipeline + 用户审批 PERSIST:
54
+ S_PERSIST 组装 JSON + 保存模板 PERSIST: template file + index
55
+ </states>
56
+
57
+ <transitions>
58
+
59
+ S_ROUTE:
60
+ → S_PARSE WHEN: no flags (new design)
61
+ S_RESOLVE WHEN: --resume DO: load draft, skip to last incomplete phase
62
+ S_CONFIRM_3 WHEN: --edit <path> DO: load template, show pipeline, ask edits
63
+
64
+ S_PARSE:
65
+ → S_CONFIRM_1 DO: A_PARSE_INTENT
66
+
67
+ S_CONFIRM_1:
68
+ → S_RESOLVE WHEN: user confirms "Looks good"
69
+ S_PARSE WHEN: user selects "Edit steps" or "Add step"
70
+ END WHEN: user cancels DO: save draft
71
+
72
+ S_RESOLVE:
73
+ → S_CONFIRM_2 DO: A_RESOLVE_NODES (read deferred: node-catalog)
74
+
75
+ S_CONFIRM_2:
76
+ → S_ENRICH WHEN: user confirms "Continue"
77
+ S_RESOLVE WHEN: user changes executor or node type
78
+ S_PARSE WHEN: user selects "Back to intent"
79
+ END WHEN: user cancels DO: save draft
80
+
81
+ S_ENRICH:
82
+ → S_CONFIRM_3 DO: A_BUILD_DAG
83
+
84
+ S_CONFIRM_3:
85
+ → S_PERSIST WHEN: user confirms "Confirm & Save"
86
+ S_CONFIRM_3 WHEN: user edits/adds/removes node DO: apply change, re-render
87
+ S_ENRICH WHEN: user selects "Re-run checkpoints"
88
+ END WHEN: user cancels DO: save draft
89
+
90
+ S_PERSIST:
91
+ → END DO: A_SAVE_TEMPLATE (read deferred: template-schema)
92
+
93
+ </transitions>
94
+
95
+ <actions>
96
+
97
+ ### A_PARSE_INTENT
98
+
99
+ 1. Parse description (if empty: AskUserQuestion for workflow description)
100
+ 2. Extract candidate nodes via semantic signals:
101
+
102
+ | Signal | Type hint |
103
+ |--------|-----------|
104
+ | "analyze", "review", "explore" | analysis (cli) |
105
+ | "plan", "design", "spec" | planning (skill) |
106
+ | "implement", "build", "code", "fix" | execution (skill) |
107
+ | "test", "validate", "verify" | testing (skill) |
108
+ | "then", "next", "after" | sequential edge |
109
+ | "parallel", "simultaneously" | parallel edge |
110
+
111
+ 3. Extract variables (inputs that vary per run)
112
+ 4. Classify: task type + complexity (simple 1-3 / medium 4-7 / complex 8+)
113
+ 5. Write `intent.json` to design drafts dir
114
+ 6. Display: parsed steps, variables, task type, complexity
115
+
116
+ ### A_RESOLVE_NODES
117
+
118
+ Read deferred `node-catalog.md` (fallback to built-in mapping):
119
+
120
+ | Type hint | Default executor |
121
+ |-----------|-----------------|
122
+ | planning | `maestro-plan` |
123
+ | execution | `maestro-execute` |
124
+ | testing | `quality-test` |
125
+ | review | `quality-review` |
126
+ | brainstorm | `maestro-brainstorm` |
127
+ | analysis | `maestro delegate --role analyze` |
128
+ | verify | `maestro-execute` |
129
+ | refactor | `quality-refactor` |
130
+ | debug | `quality-debug` |
131
+
132
+ Build `args_template` with variable placeholders. Context injection: planning-after-analysis → `--context {prev_output_path}`, execution-after-planning → `--resume-session {prev_session_id}`.
133
+ Write `nodes.json`. Display resolved node list.
134
+
135
+ ### A_BUILD_DAG
136
+
137
+ 1. Build sequential edges (fan-out/fan-in for parallel groups)
138
+ 2. Auto-inject checkpoints:
139
+
140
+ | Rule | Condition |
141
+ |------|-----------|
142
+ | Artifact boundary | Source outputs plan/spec/analysis/review |
143
+ | Execution gate | Target contains `execute` |
144
+ | Long-running | Target is maestro-plan, maestro-roadmap --mode full |
145
+ | Post-testing | Source contains `test` or `auto-test` |
146
+ | User-defined | type_hint == checkpoint |
147
+
148
+ 3. Finalize context_schema from {variable} references
149
+ 4. Validate: no cycles, no orphans, all reachable
150
+ 5. Write `dag.json`
151
+ 6. Display ASCII pipeline visualization
152
+
153
+ ### A_SAVE_TEMPLATE
154
+
155
+ Read deferred `template-schema.md` (fallback to built-in structure).
156
+ Assemble template JSON: template_id, name, nodes, edges, checkpoints, context_schema, execution_mode.
157
+ Write to `~/.maestro/templates/workflows/<slug>.json`. Update index.json.
158
+ Display: path, ID, node count, variables, execute/edit commands. Clean up draft dir.
159
+
160
+ </actions>
161
+
162
+ </state_machine>
163
+
164
+ <error_codes>
165
+ | Code | Condition | Recovery |
166
+ |------|-----------|----------|
167
+ | E002 | 0 steps extracted | Ask user to rephrase with action verbs |
168
+ | E003 | Node count > 20 | Suggest splitting into sub-workflows |
169
+ | E005 | DAG cycle detected | Show cycle, ask user to resolve |
170
+ | E006 | Edit template not found (--edit) | Show available templates |
171
+ | W001 | Ambiguous step→executor mapping | Show candidates, let user choose |
172
+ </error_codes>
173
+
174
+ <success_criteria>
175
+ - [ ] Each phase has interactive confirmation gate
176
+ - [ ] Template JSON written with nodes, edges, checkpoints, context_schema
177
+ - [ ] Index updated; deferred specs loaded only when phase needs them
178
+ </success_criteria>
179
+
180
+ <completion>
181
+ ### Next-step routing
182
+
183
+ | Condition | Suggestion |
184
+ |-----------|-----------|
185
+ | Template saved | Execute template with `maestro run <template-id>` |
186
+ | Template needs edits | `maestro composer --edit <template-path>` |
187
+ | Design abandoned mid-flow | `maestro composer --resume` to continue from last draft |
188
+ </completion>