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
@@ -12,169 +12,179 @@ allowed-tools:
12
12
  ---
13
13
  <!-- Open-standard mirror generated by scripts/build-agents-standard.mjs — do not edit; re-run after editing .claude/ source. -->
14
14
 
15
- <purpose>
16
- Turn a user's natural-language instruction into a command overlaya JSON patch file that augments one or more `.claude/commands/*.md` files non-invasively. Overlays live at `~/.maestro/overlays/` and are auto-applied by every `maestro install` run, so injected steps survive reinstalls. Use this skill when the user says things like "always run CLI verification after `/maestro-execute`", "require reading doc X before `/maestro-plan`", or "add a `ccw cli` quality check at the end of every quality-review".
17
- </purpose>
18
-
19
- <required_reading>
20
- @~/.maestro/workflows/overlays.md
21
- @~/.maestro/cli-tools.json
22
- </required_reading>
23
-
24
- <context>
25
- **Overlay model** — an overlay is a JSON file with a `name`, one or more `targets` (command names without `.md`), and a list of `patches`. Each patch targets an XML section (`execution`, `required_reading`, `context`, `success_criteria`, etc.), a mode (`append`, `prepend`, `replace`, `new-section`), and `content`. On apply, the patcher wraps the content in hashed HTML-comment markers so re-apply is idempotent and removal is surgical.
26
-
27
- **Where overlays live**
28
- - User overlays: `~/.maestro/overlays/*.json` — created by this skill
29
- - Shared docs: `~/.maestro/overlays/docs/*.md` — referenced via `@~/.maestro/overlays/docs/*.md` inside patch content
30
- - Shipped examples: `~/.maestro/overlays/_shipped/`read-only, do not edit
31
-
32
- **Management** — listing and removing overlays is handled by `maestro overlay list` (ink TUI with interactive delete). This skill focuses solely on creation.
33
-
34
- **Available sections** (for `section:` in patches): `purpose`, `required_reading`, `deferred_reading`, `context`, `execution`, `error_codes`, `success_criteria`.
35
- </context>
36
-
37
- <execution>
38
- ### 1. Parse user intent
39
-
40
- Treat the argument as natural-language intent. If unclear, ask up to 2 questions with ask_user: (a) which command(s) to target, (b) where in the command flow the injection should happen.
41
-
42
- ### 2. Identify targets, injection points, and visualize
43
-
44
- For each likely target command, read the pristine source from `$PKG_ROOT/.claude/commands/<name>.md` (preferred — untouched by overlays) or fall back to `~/.claude/commands/<name>.md`. Inspect the XML sections and pick the right one:
45
-
46
- - **New step after execution** → `section: execution`, `mode: append`
47
- - **Required reading** → `section: required_reading`, `mode: append`
48
- - **Preconditions / gating** → `section: context`, `mode: append`
49
- - **Output quality gate** → `section: success_criteria`, `mode: append`
50
-
51
- If the user wants a whole new section, use `mode: new-section` with `afterSection: execution` (or whichever anchor makes sense).
52
-
53
- **Injection point preview** — after selecting section + mode, render the target command's section map showing existing overlays and the new injection point:
54
-
55
- ```
56
- === maestro-execute.md (1 overlay exists) ===
57
-
58
- <purpose>
59
- <required_reading>
60
- <context>
61
- <execution>
62
- ├─ [existing] cli-verify #1 "CLI Verification step"
63
- >>> NEW: append here (your overlay)
64
- <success_criteria>
65
- ```
66
-
67
- Use ask_user to confirm:
68
- - **"Confirm"** proceed with this injection point
69
- - **"Pick different section"** — re-select section/mode
70
- - **"Cancel"** — abort
71
-
72
- ### 2.5. Skill chain configuration
73
-
74
- After confirming the injection point, ask whether this overlay should chain to another skill upon completion. This enables the overlay's injected content to hand off to a skill via ask_user at runtime — similar to how `/maestro` chains commands via `invoke_skill({ skill: "...", args: "..." })`.
75
-
76
- Use ask_user:
77
- - **"No chain"** — standard overlay, no skill handoff
78
- - **"Chain to skill"** ask for the target skill name (e.g., `quality-review`, `maestro-execute`, `quality-test`)
79
- - **"Chain with alternatives"** → ask for primary skill + 1-2 alternative skills
80
-
81
- If chain is selected, record the skill name(s) for use in Step 3.
82
-
83
- ### 3. Draft the overlay JSON
84
-
85
- Build a slug from the user's intent (kebab-case, lowercase). Write to `~/.maestro/overlays/<slug>.json`:
86
-
87
- ```json
88
- {
89
- "name": "<slug>",
90
- "description": "<short summary of what and why>",
91
- "targets": ["maestro-execute"],
92
- "priority": 50,
93
- "enabled": true,
94
- "patches": [
95
- {
96
- "section": "execution",
97
- "mode": "append",
98
- "content": "## CLI Verification (overlay)\n\nAfter execution, run:\n```\nccw cli -p \"PURPOSE: ...\" --mode analysis --rule analysis-review-code-quality\n```"
99
- }
100
- ]
101
- }
102
- ```
103
-
104
- **Content guidelines**
105
- - Lead the injected block with a heading that includes `(overlay)` so readers see it's machine-injected
106
- - Keep content concise overlays should add a step, not rewrite the command
107
- - `@~/.maestro/...` references are encouraged for pointing at docs
108
- - Escape `\n` in JSON strings; use a HEREDOC via Bash if content is long
109
-
110
- **Skill chain content** — if a chain was configured in Step 2.5, append a Skill Handoff block at the end of the patch `content`. The handoff uses ask_user so the user controls whether to proceed:
111
-
112
- ```markdown
113
- ---
114
-
115
- **Skill Handoff** (overlay)
116
-
117
- After the above step completes, use ask_user:
118
- - "Proceed to /quality-review" Hand off to quality review
119
- - "Skip" — Continue with current command flow
120
- - "Alternative: /maestro-execute" — Run execution with built-in verification instead
121
-
122
- On user selection:
123
- - Proceed → invoke_skill({ skill: "quality-review", args: "{phase}" })
124
- - Alternative → invoke_skill({ skill: "maestro-execute", args: "{phase}" })
125
- - Skipcontinue normally
126
- ```
127
-
128
- Handoff rules:
129
- - Always include a **"Skip"** option — the user can always decline the chain
130
- - Use `invoke_skill({ skill: "<name>", args: "..." })` syntax consistent with maestro.md chainMap
131
- - Mark handoff heading with `(overlay)` tag
132
- - Support runtime variable placeholders: `{phase}`, `{description}`, `{session_id}`
133
- - Keep handoff block under 10 lines of markdown
134
-
135
- ### 4. Install via `maestro overlay add`
136
-
137
- Run:
138
-
139
- ```bash
140
- maestro overlay add ~/.maestro/overlays/<slug>.json
141
- ```
142
-
143
- This validates the overlay, copies it into place (idempotent), and applies it across all known install scopes. On validation failure, fix the JSON and re-run.
144
-
145
- ### 5. Report
146
-
147
- Show the user:
148
- - Path of the saved overlay JSON
149
- - Which targets were patched and which were skipped (missing/disabled)
150
- - Skill chain info (if configured)
151
- - A reminder that `maestro install` will auto-reapply on every run
152
- - How to remove: `maestro overlay remove <slug>`
153
-
154
- **Report format**
155
-
156
- ```
157
- === OVERLAY INSTALLED ===
158
- Name: <slug>
159
- Path: ~/.maestro/overlays/<slug>.json
160
- Targets: maestro-execute (applied), maestro-plan (skipped: missing)
161
- Chain: quality-review (via ask_user) | none
162
- Scopes: [global]
163
-
164
- Re-apply: maestro overlay apply
165
- Remove: maestro overlay remove <slug>
166
- Inspect: maestro overlay list
167
- ```
168
-
169
- After the report, remind the user they can run `maestro overlay list` for the interactive TUI showing section maps and overlay management.
170
- </execution>
171
-
172
- <success_criteria>
173
- - [ ] Overlay JSON written to `~/.maestro/overlays/<slug>.json` and validates
174
- - [ ] `maestro overlay add` exited successfully and applied to at least one scope
175
- - [ ] Target command file(s) contain `<!-- maestro-overlay:<slug>#N hash=... -->` markers
176
- - [ ] Re-running `maestro overlay apply` produces no file changes (idempotent)
177
- - [ ] User shown the report with target list and removal instructions
178
- - [ ] Injection point preview shown (with existing overlays + `>>>` marker) and confirmed before drafting
179
- - [ ] If chain configured, `content` includes Skill Handoff block with ask_user + Skip option + `invoke_skill()` calls
180
- </success_criteria>
15
+ <purpose>
16
+ Turn natural-language instructions into command overlays — JSON patch files that augment
17
+ `.claude/commands/*.md` non-invasively. Auto-applied by `maestro install`.
18
+ </purpose>
19
+
20
+ <required_reading>
21
+ @~/.maestro/workflows/overlays.md
22
+ @~/.maestro/cli-tools.json
23
+ </required_reading>
24
+
25
+ <context>
26
+ **Overlay model** — an overlay is a JSON file with a `name`, one or more `targets` (command names without `.md`), and a list of `patches`. Each patch targets an XML section (`execution`, `required_reading`, `context`, `success_criteria`, etc.), a mode (`append`, `prepend`, `replace`, `new-section`), and `content`. On apply, the patcher wraps the content in hashed HTML-comment markers so re-apply is idempotent and removal is surgical.
27
+
28
+ **Where overlays live**
29
+ - User overlays: `~/.maestro/overlays/*.json` — created by this skill
30
+ - Shared docs: `~/.maestro/overlays/docs/*.md`referenced via `@~/.maestro/overlays/docs/*.md` inside patch content
31
+ - Shipped examples: `~/.maestro/overlays/_shipped/` — read-only, do not edit
32
+
33
+ **Management** — listing and removing overlays is handled by `maestro overlay list` (ink TUI with interactive delete). This skill focuses solely on creation.
34
+
35
+ **Available sections** (for `section:` in patches): `purpose`, `required_reading`, `deferred_reading`, `context`, `execution`, `error_codes`, `success_criteria`.
36
+ </context>
37
+
38
+ <execution>
39
+ ### 1. Parse user intent
40
+
41
+ Treat the argument as natural-language intent. If unclear, ask up to 2 questions with ask_user: (a) which command(s) to target, (b) where in the command flow the injection should happen.
42
+
43
+ ### 2. Identify targets, injection points, and visualize
44
+
45
+ For each likely target command, read the pristine source from `$PKG_ROOT/.claude/commands/<name>.md` (preferred — untouched by overlays) or fall back to `~/.claude/commands/<name>.md`. Inspect the XML sections and pick the right one:
46
+
47
+ - **New step after execution** → `section: execution`, `mode: append`
48
+ - **Required reading** → `section: required_reading`, `mode: append`
49
+ - **Preconditions / gating** → `section: context`, `mode: append`
50
+ - **Output quality gate** → `section: success_criteria`, `mode: append`
51
+
52
+ If the user wants a whole new section, use `mode: new-section` with `afterSection: execution` (or whichever anchor makes sense).
53
+
54
+ **Injection point preview** — after selecting section + mode, render the target command's section map showing existing overlays and the new injection point:
55
+
56
+ ```
57
+ === maestro-execute.md (1 overlay exists) ===
58
+
59
+ <purpose>
60
+ <required_reading>
61
+ <context>
62
+ <execution>
63
+ ├─ [existing] cli-verify #1 "CLI Verification step"
64
+ >>> NEW: append here (your overlay)
65
+ <success_criteria>
66
+ ```
67
+
68
+ Use ask_user to confirm:
69
+ - **"Confirm"** — proceed with this injection point
70
+ - **"Pick different section"** — re-select section/mode
71
+ - **"Cancel"** — abort
72
+
73
+ ### 2.5. Skill chain configuration
74
+
75
+ After confirming the injection point, ask whether this overlay should chain to another skill upon completion. This enables the overlay's injected content to hand off to a skill via ask_user at runtime — similar to how `/maestro` chains commands via `invoke_skill({ skill: "...", args: "..." })`.
76
+
77
+ Use ask_user:
78
+ - **"No chain"** standard overlay, no skill handoff
79
+ - **"Chain to skill"** → ask for the target skill name (e.g., `quality-review`, `maestro-execute`, `quality-test`)
80
+ - **"Chain with alternatives"** → ask for primary skill + 1-2 alternative skills
81
+
82
+ If chain is selected, record the skill name(s) for use in Step 3.
83
+
84
+ ### 3. Draft the overlay JSON
85
+
86
+ Build a slug from the user's intent (kebab-case, lowercase). Write to `~/.maestro/overlays/<slug>.json`:
87
+
88
+ ```json
89
+ {
90
+ "name": "<slug>",
91
+ "description": "<short summary of what and why>",
92
+ "targets": ["maestro-execute"],
93
+ "priority": 50,
94
+ "enabled": true,
95
+ "patches": [
96
+ {
97
+ "section": "execution",
98
+ "mode": "append",
99
+ "content": "## CLI Verification (overlay)\n\nAfter execution, run:\n```\nccw cli -p \"PURPOSE: ...\" --mode analysis --rule analysis-review-code-quality\n```"
100
+ }
101
+ ]
102
+ }
103
+ ```
104
+
105
+ **Content guidelines**
106
+ - Lead the injected block with a heading that includes `(overlay)` so readers see it's machine-injected
107
+ - Keep content concise overlays should add a step, not rewrite the command
108
+ - `@~/.maestro/...` references are encouraged for pointing at docs
109
+ - Escape `\n` in JSON strings; use a HEREDOC via Bash if content is long
110
+
111
+ **Skill chain content** — if a chain was configured in Step 2.5, append a Skill Handoff block at the end of the patch `content`. The handoff uses ask_user so the user controls whether to proceed:
112
+
113
+ ```markdown
114
+ ---
115
+
116
+ **Skill Handoff** (overlay)
117
+
118
+ After the above step completes, use ask_user:
119
+ - "Proceed to /quality-review" — Hand off to quality review
120
+ - "Skip" — Continue with current command flow
121
+ - "Alternative: /maestro-execute" — Run execution with built-in verification instead
122
+
123
+ On user selection:
124
+ - Proceed → invoke_skill({ skill: "quality-review", args: "{phase}" })
125
+ - Alternativeinvoke_skill({ skill: "maestro-execute", args: "{phase}" })
126
+ - Skip → continue normally
127
+ ```
128
+
129
+ Handoff rules:
130
+ - Always include a **"Skip"** option the user can always decline the chain
131
+ - Use `invoke_skill({ skill: "<name>", args: "..." })` syntax consistent with maestro.md chainMap
132
+ - Mark handoff heading with `(overlay)` tag
133
+ - Support runtime variable placeholders: `{phase}`, `{description}`, `{session_id}`
134
+ - Keep handoff block under 10 lines of markdown
135
+
136
+ ### 4. Install via `maestro overlay add`
137
+
138
+ Run:
139
+
140
+ ```bash
141
+ maestro overlay add ~/.maestro/overlays/<slug>.json
142
+ ```
143
+
144
+ This validates the overlay, copies it into place (idempotent), and applies it across all known install scopes. On validation failure, fix the JSON and re-run.
145
+
146
+ ### 5. Report
147
+
148
+ Show the user:
149
+ - Path of the saved overlay JSON
150
+ - Which targets were patched and which were skipped (missing/disabled)
151
+ - Skill chain info (if configured)
152
+ - A reminder that `maestro install` will auto-reapply on every run
153
+ - How to remove: `maestro overlay remove <slug>`
154
+
155
+ **Report format**
156
+
157
+ ```
158
+ === OVERLAY INSTALLED ===
159
+ Name: <slug>
160
+ Path: ~/.maestro/overlays/<slug>.json
161
+ Targets: maestro-execute (applied), maestro-plan (skipped: missing)
162
+ Chain: quality-review (via ask_user) | none
163
+ Scopes: [global]
164
+
165
+ Re-apply: maestro overlay apply
166
+ Remove: maestro overlay remove <slug>
167
+ Inspect: maestro overlay list
168
+ ```
169
+
170
+ After the report, remind the user they can run `maestro overlay list` for the interactive TUI showing section maps and overlay management.
171
+ </execution>
172
+
173
+ <success_criteria>
174
+ - [ ] Overlay JSON written to `~/.maestro/overlays/<slug>.json` and validates
175
+ - [ ] `maestro overlay add` exited successfully and applied to at least one scope
176
+ - [ ] Target command file(s) contain `<!-- maestro-overlay:<slug>#N hash=... -->` markers
177
+ - [ ] Re-running `maestro overlay apply` produces no file changes (idempotent)
178
+ - [ ] User shown the report with target list and removal instructions
179
+ - [ ] Injection point preview shown (with existing overlays + `>>>` marker) and confirmed before drafting
180
+ - [ ] If chain configured, `content` includes Skill Handoff block with ask_user + Skip option + `invoke_skill()` calls
181
+ </success_criteria>
182
+
183
+ <completion>
184
+ ### Next-step routing
185
+ | Condition | Suggestion |
186
+ |-----------|-----------|
187
+ | Overlay installed | `maestro overlay list` for interactive management |
188
+ | Want to create another | `/maestro-overlay "<intent>"` |
189
+ | Want to remove | `maestro overlay remove <slug>` |
190
+ </completion>