maestro-flow 0.5.0 → 0.5.2
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.
- package/.agents/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
- package/.agents/skills/manage-knowhow-capture/SKILL.md +4 -2
- package/.agy/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
- package/.agy/skills/manage-knowhow-capture/SKILL.md +4 -2
- package/.claude/commands/manage-knowhow-capture.md +4 -2
- package/.claude/skills/codify-to-knowhow/phases/03-generate-specs.md +2 -1
- package/.codex/skills/codify-to-knowhow/SKILL.md +1 -1
- package/.codex/skills/learn-decompose/SKILL.md +144 -144
- package/.codex/skills/learn-follow/SKILL.md +83 -83
- package/.codex/skills/learn-investigate/SKILL.md +84 -84
- package/.codex/skills/learn-retro/SKILL.md +113 -113
- package/.codex/skills/learn-second-opinion/SKILL.md +116 -116
- package/.codex/skills/maestro/SKILL.md +11 -8
- package/.codex/skills/maestro-amend/SKILL.md +4 -4
- package/.codex/skills/maestro-analyze/SKILL.md +3 -3
- package/.codex/skills/maestro-blueprint/SKILL.md +4 -4
- package/.codex/skills/maestro-collab/SKILL.md +1 -1
- package/.codex/skills/maestro-companion/SKILL.md +4 -4
- package/.codex/skills/maestro-composer/SKILL.md +217 -217
- package/.codex/skills/maestro-grill/SKILL.md +1 -1
- package/.codex/skills/maestro-help/SKILL.md +30 -30
- package/.codex/skills/maestro-init/SKILL.md +1 -1
- package/.codex/skills/maestro-learn/SKILL.md +80 -80
- package/.codex/skills/maestro-merge/SKILL.md +76 -76
- package/.codex/skills/maestro-milestone-release/SKILL.md +74 -74
- package/.codex/skills/maestro-player/SKILL.md +3 -3
- package/.codex/skills/maestro-quick/SKILL.md +129 -129
- package/.codex/skills/maestro-ralph/SKILL.md +9 -9
- package/.codex/skills/maestro-ralph-beta/SKILL.md +34 -34
- package/.codex/skills/maestro-ralph-execute/SKILL.md +5 -5
- package/.codex/skills/maestro-tools-execute/SKILL.md +3 -3
- package/.codex/skills/maestro-tools-register/SKILL.md +3 -3
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +412 -412
- package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
- package/.codex/skills/manage-harvest/SKILL.md +99 -99
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +137 -125
- package/.codex/skills/manage-status/SKILL.md +7 -7
- package/.codex/skills/manage-wiki/SKILL.md +55 -55
- package/.codex/skills/quality-auto-test/SKILL.md +1 -1
- package/.codex/skills/quality-debug/SKILL.md +8 -8
- package/.codex/skills/quality-refactor/SKILL.md +3 -3
- package/.codex/skills/quality-review/SKILL.md +1 -1
- package/.codex/skills/quality-sync/SKILL.md +111 -111
- package/.codex/skills/quality-test/SKILL.md +1 -1
- package/.codex/skills/spec-add/SKILL.md +2 -2
- package/.codex/skills/spec-load/SKILL.md +1 -1
- package/.codex/skills/spec-map/SKILL.md +204 -204
- package/.codex/skills/spec-remove/SKILL.md +75 -75
- package/.codex/skills/spec-setup/SKILL.md +2 -2
- package/.codex/skills/wiki-connect/SKILL.md +73 -73
- package/.codex/skills/wiki-digest/SKILL.md +87 -87
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +40 -10
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +4 -0
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +4 -0
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +4 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
- package/dist/src/ralph/skill-scanner.js +9 -3
- package/dist/src/ralph/skill-scanner.js.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js +3 -1
- package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +20 -0
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.js +13 -5
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.js +10 -0
- package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.js +5 -1
- package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
- package/dist/src/utils/update-notices.js +6 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +1 -1
- package/workflows/agy-instructions.md +1 -1
- package/workflows/finish-work.md +1 -1
- package/workflows/impeccable/design.md +1 -0
- package/workflows/impeccable.md +1 -0
- package/workflows/knowhow.md +14 -8
- package/workflows/specs-add.md +1 -1
- package/workflows/specs-setup.md +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: maestro
|
|
3
3
|
description: Auto-route intent to optimal command chain
|
|
4
4
|
argument-hint: "\"intent text\" [-y] [-c|--continue] [--dry-run] [--super]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep,
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
@@ -120,7 +120,7 @@ S_ABORTED:
|
|
|
120
120
|
→ END DO: A_ABORT_REPORT
|
|
121
121
|
|
|
122
122
|
S_FALLBACK:
|
|
123
|
-
→ S_CLASSIFY WHEN: user provides new intent DO:
|
|
123
|
+
→ S_CLASSIFY WHEN: user provides new intent DO: request_user_input
|
|
124
124
|
→ END WHEN: user cancels
|
|
125
125
|
|
|
126
126
|
</transitions>
|
|
@@ -259,7 +259,7 @@ Read `.workflow/state.json` and route by condition:
|
|
|
259
259
|
|
|
260
260
|
### A_CLARIFY_INTENT
|
|
261
261
|
|
|
262
|
-
1. `
|
|
262
|
+
1. `request_user_input` with available chain types
|
|
263
263
|
2. Re-classify with user response
|
|
264
264
|
|
|
265
265
|
### A_DECOMPOSE_TASKS
|
|
@@ -267,7 +267,7 @@ Read `.workflow/state.json` and route by condition:
|
|
|
267
267
|
与 maestro-ralph `A_DECOMPOSE_TASKS` 共享分解契约。Condensed:
|
|
268
268
|
|
|
269
269
|
1. 分类意图广度。narrow / 单步 / `{status,init,quick}` 链跳过
|
|
270
|
-
2. broad/medium → `
|
|
270
|
+
2. broad/medium → `request_user_input` ≤3 轮:Scope / Constraints / Definition of Done
|
|
271
271
|
3. 派生 `execution_criteria` + `task_decomposition`(每个 sub-goal 含 `done_when` + `evidence` + `lifecycle` + `completion_confirmed: false`)
|
|
272
272
|
4. **status.json 唯一真源**:写入 `boundary_contract` / `execution_criteria` / `task_decomposition`;不生成 markdown 清单
|
|
273
273
|
5. 链路末尾(evidence 产出步骤后、milestone-complete/close-out 前)追加 `decision:post-goal-audit`。S_DECISION_EVAL 据此动态生长 `steps[]`
|
|
@@ -282,7 +282,10 @@ Read `.workflow/state.json` and route by condition:
|
|
|
282
282
|
|
|
283
283
|
1. Read `.workflow/state.json` 获取 phase / milestone(D-007 反查 `phase_slugs`);读最新 macro analyze artifact 注入 `scope_verdict` + `analyze_macro_id`;读最新 blueprint artifact 注入 `blueprint_id`
|
|
284
284
|
2. Resolve chain's skill list from Chain Map (see appendix)
|
|
285
|
-
3.
|
|
285
|
+
3. **Prevalidate via `Bash("maestro ralph skills --platform codex --json --quiet")`** 一次性拉取所有可用 codex skills(global `~/.codex/skills/` + project `.codex/skills/`,project 覆盖 global),匹配 skill 名得到:
|
|
286
|
+
- 命中 → `command_scope = "global" | "project"`,`command_path = <绝对 SKILL.md 路径>`
|
|
287
|
+
- 未命中 → `command_scope = "missing"`, `command_path = null`
|
|
288
|
+
4. Create `.workflow/.maestro/maestro-{YYYYMMDD-HHMMSS}/status.json`(与 ralph 共用 schema):
|
|
286
289
|
```json
|
|
287
290
|
{
|
|
288
291
|
"session_id", "source": "maestro", "intent", "task_type", "chain_name",
|
|
@@ -296,7 +299,7 @@ Read `.workflow/state.json` and route by condition:
|
|
|
296
299
|
"skill": "", "args": "",
|
|
297
300
|
"stage": "", "scope": null,
|
|
298
301
|
"command_scope": "global|project|missing|null",
|
|
299
|
-
"command_path": "~/.
|
|
302
|
+
"command_path": "~/.codex/skills/{name}/SKILL.md | .codex/skills/{name}/SKILL.md | null",
|
|
300
303
|
"milestone_id": null, "source_artifact_ref": null,
|
|
301
304
|
"status": "pending", "goal_ref": null,
|
|
302
305
|
"completion_confirmed": false, "completion_status": null,
|
|
@@ -310,8 +313,8 @@ Read `.workflow/state.json` and route by condition:
|
|
|
310
313
|
}
|
|
311
314
|
```
|
|
312
315
|
Decomposition fields written ONLY if A_DECOMPOSE_TASKS produced them (additive)
|
|
313
|
-
|
|
314
|
-
|
|
316
|
+
5. Validate: 所有 step 的 `command_scope != "missing"`;否则 raise E006 列出缺失 skill
|
|
317
|
+
6. Initialize tracking:
|
|
315
318
|
- If decomposed: goal already registered by A_DECOMPOSE_TASKS. Else: `create_goal({ objective: "Maestro {chain}: {N} steps [{skill list}]" })`
|
|
316
319
|
- `update_plan({ plan: steps.map(step => ({ step, status: "pending" })) })`
|
|
317
320
|
|
|
@@ -7,7 +7,7 @@ allowed-tools: Read, Write, Bash, Glob, Grep, request_user_input
|
|
|
7
7
|
<purpose>
|
|
8
8
|
Signal-driven overlay generator — collect workflow deficiency signals from multiple sources, diagnose which commands need amendment, batch-generate targeted overlays. All amendments use overlay system (`~/.maestro/overlays/*.json`) — non-invasive, idempotent, survives reinstall.
|
|
9
9
|
|
|
10
|
-
Differs from
|
|
10
|
+
Differs from `$maestro-overlay` (single explicit intent). This command **discovers** what needs amending by analyzing workflow artifacts.
|
|
11
11
|
</purpose>
|
|
12
12
|
|
|
13
13
|
<required_reading>
|
|
@@ -29,7 +29,7 @@ $ARGUMENTS — optional description and/or source flags.
|
|
|
29
29
|
| `--scan` | Auto-scan .workflow/ | Discover all workflow-related signals |
|
|
30
30
|
| _(positional text)_ | User description | Direct observation |
|
|
31
31
|
|
|
32
|
-
Multiple combinable. No flags + no description → interactive (scan +
|
|
32
|
+
Multiple combinable. No flags + no description → interactive (scan + request_user_input).
|
|
33
33
|
|
|
34
34
|
**Control**: `--dry-run` (preview, don't install), `-y` (skip confirmations)
|
|
35
35
|
|
|
@@ -112,7 +112,7 @@ Per signal, determine:
|
|
|
112
112
|
| Entirely new concern | _(new section)_ | new-section |
|
|
113
113
|
|
|
114
114
|
Read pristine source from `$PKG_ROOT/.claude/commands/<name>.md` to confirm section.
|
|
115
|
-
Classify: command deficiency → proceed; code bug → skip (suggest
|
|
115
|
+
Classify: command deficiency → proceed; code bug → skip (suggest $maestro-quick).
|
|
116
116
|
|
|
117
117
|
### A_GROUP_OVERLAYS
|
|
118
118
|
|
|
@@ -142,7 +142,7 @@ On validation failure: fix JSON, retry (max 2).
|
|
|
142
142
|
| Code | Condition | Recovery |
|
|
143
143
|
|------|-----------|----------|
|
|
144
144
|
| E001 | No signals from any source | Verify artifact paths or provide description |
|
|
145
|
-
| E003 | All signals are code bugs, not command gaps | Use
|
|
145
|
+
| E003 | All signals are code bugs, not command gaps | Use $maestro-quick or $maestro-plan --gaps |
|
|
146
146
|
| E004 | Overlay validation failed after 2 retries | Review JSON manually |
|
|
147
147
|
| W001 | Some signals skipped (code bugs) | Route to appropriate fix command |
|
|
148
148
|
| W002 | Target command has >= 3 existing overlays | Consider consolidating |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: maestro-analyze
|
|
3
3
|
description: Use when a topic needs structured multi-dimensional investigation before planning or decision-making
|
|
4
4
|
argument-hint: "[-y|--yes] [-c|--concurrency N] [--continue] [--from <source>] \"<phase|topic> [-q|--quick] [--gaps [ISS-ID]]\""
|
|
5
|
-
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep,
|
|
5
|
+
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
@@ -36,7 +36,7 @@ $ARGUMENTS -- phase number, topic text, and optional flags.
|
|
|
36
36
|
<interview_protocol>
|
|
37
37
|
Interview the user relentlessly until shared understanding is reached. Active only in interactive mode; skip when `-y/--yes`, `--continue`, or input is already specific (explicit phase number or unambiguous topic).
|
|
38
38
|
|
|
39
|
-
- One decision per turn via
|
|
39
|
+
- One decision per turn via request_user_input with 2–4 options + a (Recommended) default. The user controls termination — keep interviewing until convergence; they can interrupt naturally at any time.
|
|
40
40
|
- Search-first when uncertain: before asking, resolve via `state.json`, `roadmap.md`, `issues.jsonl`, `maestro spec load`, `maestro search`, Grep, Read, or — for open-ended multi-file scans — `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
41
41
|
- Writeback cadence: each settled decision is immediately appended/updated in `context.md` "Interview Decisions" (and mirrored into `analysis.md` in full mode). Do NOT batch writeback to the end — partial decisions must already be on disk before the next question.
|
|
42
42
|
- Walk the decision dependency tree strictly: scope → depth → dimensions → Go/No-Go threshold. Do not open the next branch until the current one is settled.
|
|
@@ -234,7 +234,7 @@ Gray area detection: domain-aware (things users SEE/CALL/RUN/READ), phase-specif
|
|
|
234
234
|
1. Export results.csv
|
|
235
235
|
2. **Confidence scoring** (full mode): factors -- findings_depth(.30), evidence_strength(.25), coverage_breadth(.20), user_validation(.15), consistency(.10). Thresholds: <60% deeper, 60-80% optional, 80-95% converging, >95% converge.
|
|
236
236
|
3. Auto-create issues from Deferred items -> issues.jsonl
|
|
237
|
-
4. Spec enrichment: Locked decisions -> `maestro spec add arch`; code patterns -> `maestro spec add coding`
|
|
237
|
+
4. Spec enrichment: Locked decisions -> `maestro spec add arch "<title>" "<content>" --keywords <kw> --description "<summary>"`; code patterns -> `maestro spec add coding "<title>" "<content>" --keywords <kw> --description "<summary>"`
|
|
238
238
|
5. Register artifact in state.json (type: analyze, includes context_package field pointing to context-package.json)
|
|
239
239
|
6. Copy outputs to scratchDir, display summary
|
|
240
240
|
7. **Next-step routing** (D-003 §5.3 — macro scope uses `scope_verdict` for downstream chain selection):
|
|
@@ -82,10 +82,10 @@ P6 gate: Pass (>=80%) → Handoff | Review (60-79%) → Handoff w/caveats | Fail
|
|
|
82
82
|
|
|
83
83
|
| Condition | Suggestion |
|
|
84
84
|
|-----------|-----------|
|
|
85
|
-
| Need codebase analysis |
|
|
86
|
-
| Ready for roadmap |
|
|
87
|
-
| Small scope, direct plan |
|
|
88
|
-
| Need project setup |
|
|
85
|
+
| Need codebase analysis | $maestro-analyze {topic} --from blueprint:BLP-xxx |
|
|
86
|
+
| Ready for roadmap | $maestro-roadmap --from blueprint:BLP-xxx |
|
|
87
|
+
| Small scope, direct plan | $maestro-plan --from blueprint:BLP-xxx |
|
|
88
|
+
| Need project setup | $maestro-init |
|
|
89
89
|
</execution>
|
|
90
90
|
|
|
91
91
|
<invariants>
|
|
@@ -275,7 +275,7 @@ Generate 3 output files from cross-verify results:
|
|
|
275
275
|
|
|
276
276
|
1. Copy outputs to scratchDir
|
|
277
277
|
2. Register CLB artifact in state.json (type: collab, scope: adhoc)
|
|
278
|
-
3. Spec enrichment: for each Locked decision → `maestro spec add arch`
|
|
278
|
+
3. Spec enrichment: for each Locked decision → `maestro spec add arch "<title>" "<content>" --keywords <kw> --description "<summary>"`
|
|
279
279
|
4. `update_plan` all steps completed
|
|
280
280
|
5. Display summary:
|
|
281
281
|
```
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: maestro-companion
|
|
3
3
|
description: Knowledge companion — load context, record companion doc, capture insights, route to skills
|
|
4
4
|
argument-hint: "[before|note|after|route] [--task <description>] [--type <task_type>] [--category <cat>]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep,
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|
|
@@ -414,8 +414,8 @@ If promotable entries exist, ask user:
|
|
|
414
414
|
|
|
415
415
|
| Selection | Action |
|
|
416
416
|
|-----------|--------|
|
|
417
|
-
| Spec |
|
|
418
|
-
| Knowhow |
|
|
417
|
+
| Spec | `$spec-add` — guide user through category + content |
|
|
418
|
+
| Knowhow | `$manage-knowhow-capture` — guide through type + content |
|
|
419
419
|
| Both | `spec-add` first, then `manage-knowhow-capture` |
|
|
420
420
|
| Skip | Proceed to Step 4 |
|
|
421
421
|
|
|
@@ -449,7 +449,7 @@ Extract intent text from $ARGUMENTS after removing the `route` keyword.
|
|
|
449
449
|
### Step 2: Delegate to maestro-next
|
|
450
450
|
|
|
451
451
|
```
|
|
452
|
-
|
|
452
|
+
$maestro-next "<intent_text>"
|
|
453
453
|
```
|
|
454
454
|
|
|
455
455
|
Reuses maestro-next routing table and scoring logic to recommend the best single command.
|
|
@@ -1,217 +1,217 @@
|
|
|
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: Read, Write, Edit, Bash, Glob, Grep,
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<purpose>
|
|
9
|
-
Interactive workflow template composer. Parses natural language into a reusable DAG template
|
|
10
|
-
via 5 phases with user confirmation at each boundary. Templates saved globally at
|
|
11
|
-
`~/.maestro/templates/workflows/`. Progressive disclosure — specs loaded only when phase needs them.
|
|
12
|
-
|
|
13
|
-
Sequential interactive flow (no spawn_agents_on_csv — this is design, not execution):
|
|
14
|
-
```
|
|
15
|
-
Parse NL → [confirm] → Resolve to nodes → [confirm] → Inject checkpoints → Confirm pipeline → Persist
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Three entry modes:
|
|
19
|
-
1. **New design**: Phase 1-5
|
|
20
|
-
2. **Resume design**: Load draft from `.workflow/templates/design-drafts/`
|
|
21
|
-
3. **Edit template**: Load existing, modify, re-save
|
|
22
|
-
</purpose>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
$ARGUMENTS — natural language workflow description, or flags.
|
|
26
|
-
|
|
27
|
-
**Flags:**
|
|
28
|
-
- `--resume` — Resume in-progress design session
|
|
29
|
-
- `--edit <template-path>` — Edit an existing template
|
|
30
|
-
|
|
31
|
-
**Shared constants:**
|
|
32
|
-
|
|
33
|
-
| Constant | Value |
|
|
34
|
-
|----------|-------|
|
|
35
|
-
| Session prefix | `WFD` |
|
|
36
|
-
| Template dir (global) | `~/.maestro/templates/workflows/` |
|
|
37
|
-
| Template index (global) | `~/.maestro/templates/workflows/index.json` |
|
|
38
|
-
| Design drafts dir (local) | `.workflow/templates/design-drafts/` |
|
|
39
|
-
| Template ID format | `wft-<slug>-<YYYYMMDD>` |
|
|
40
|
-
| Node ID format | `N-<seq>` (e.g. N-001), `CP-<seq>` for checkpoints |
|
|
41
|
-
| Max nodes | 20 |
|
|
42
|
-
|
|
43
|
-
**Entry routing:**
|
|
44
|
-
|
|
45
|
-
| Detection | Condition | Handler |
|
|
46
|
-
|-----------|-----------|---------|
|
|
47
|
-
| Resume | `--resume` or existing WFD session | Phase 0: Resume |
|
|
48
|
-
| Edit | `--edit <path>` | Phase 0: Load + Edit |
|
|
49
|
-
| New | Default | Phase 1: Parse |
|
|
50
|
-
|
|
51
|
-
**Node catalog**: Read `~/.maestro/templates/workflows/specs/node-catalog.md` at Phase 2 (deferred).
|
|
52
|
-
**Template schema**: Read `~/.maestro/templates/workflows/specs/template-schema.md` at Phase 5 (deferred).
|
|
53
|
-
|
|
54
|
-
### Pre-load specs
|
|
55
|
-
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.
|
|
56
|
-
2. **Coding specs**: Run `maestro spec load --category coding` to load coding conventions. Informs executor argument defaults and context injection.
|
|
57
|
-
3. Optional — proceed without if unavailable.
|
|
58
|
-
</context>
|
|
59
|
-
|
|
60
|
-
<execution>
|
|
61
|
-
|
|
62
|
-
### Phase 0: Resume / Edit (conditional)
|
|
63
|
-
|
|
64
|
-
**Resume** (`--resume`):
|
|
65
|
-
1. Scan `.workflow/templates/design-drafts/WFD-*/` for in-progress designs
|
|
66
|
-
2. Multiple →
|
|
67
|
-
3. Load draft → skip to last incomplete phase
|
|
68
|
-
|
|
69
|
-
**Edit** (`--edit <path>`):
|
|
70
|
-
1. Load template JSON
|
|
71
|
-
2. Show pipeline visualization (Phase 4 format)
|
|
72
|
-
3.
|
|
73
|
-
4. Re-enter at Phase 3
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
### Phase 1: Parse — Semantic Intent Extraction
|
|
78
|
-
|
|
79
|
-
**Step 1.1** — Parse `$ARGUMENTS`. If empty,
|
|
80
|
-
```
|
|
81
|
-
"Describe the workflow you want to automate.
|
|
82
|
-
Include: what steps to run, in what order, and what varies each time.
|
|
83
|
-
Example: 'analyze the code, then plan, implement, and test the feature'"
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Step 1.2** — Extract sequential actions as candidate nodes:
|
|
87
|
-
|
|
88
|
-
| Signal | Candidate Type |
|
|
89
|
-
|--------|---------------|
|
|
90
|
-
| "analyze", "review", "explore" | analysis (cli) |
|
|
91
|
-
| "plan", "design", "spec" | planning (skill) |
|
|
92
|
-
| "implement", "build", "code", "fix" | execution (skill) |
|
|
93
|
-
| "test", "validate", "verify" | testing (skill) |
|
|
94
|
-
| "brainstorm", "ideate" | brainstorm (skill) |
|
|
95
|
-
| "review code" | review (skill) |
|
|
96
|
-
| "then", "next", "after" | sequential edge |
|
|
97
|
-
| "parallel", "simultaneously" | parallel edge |
|
|
98
|
-
|
|
99
|
-
**Step 1.3** — Extract variables (inputs that vary per run).
|
|
100
|
-
|
|
101
|
-
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | integration-test | quick-task | custom`
|
|
102
|
-
|
|
103
|
-
**Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
|
|
104
|
-
|
|
105
|
-
**Step 1.6** — Write `intent.json` to `.workflow/templates/design-drafts/WFD-<slug>-<date>/`.
|
|
106
|
-
|
|
107
|
-
**Step 1.7 — Interactive confirmation**: Display description, task type, complexity, detected steps (numbered with type_hint), and variables.
|
|
108
|
-
|
|
109
|
-
---
|
|
110
|
-
|
|
111
|
-
### Phase 2: Resolve — Map Steps to Executor Nodes
|
|
112
|
-
|
|
113
|
-
**Read deferred**: `~/.maestro/templates/workflows/specs/node-catalog.md`
|
|
114
|
-
|
|
115
|
-
If spec not found, use built-in fallback:
|
|
116
|
-
|
|
117
|
-
| type_hint | executor type | executor |
|
|
118
|
-
|-----------|--------------|----------|
|
|
119
|
-
| `planning` | skill | `maestro-plan` |
|
|
120
|
-
| `execution` | skill | `maestro-execute` |
|
|
121
|
-
| `testing` | skill | `quality-test` |
|
|
122
|
-
| `review` | skill | `quality-review` |
|
|
123
|
-
| `brainstorm` | skill | `maestro-brainstorm` |
|
|
124
|
-
| `analysis` | cli | `maestro delegate --role analyze --mode analysis` |
|
|
125
|
-
| `refactor` | skill | `quality-refactor` |
|
|
126
|
-
| `debug` | skill | `quality-debug` |
|
|
127
|
-
| `spec` | skill | `maestro-blueprint` |
|
|
128
|
-
| `checkpoint` | checkpoint | — |
|
|
129
|
-
|
|
130
|
-
**Step 2.1** — Load `intent.json`, map each step to executor.
|
|
131
|
-
|
|
132
|
-
**Step 2.2** — Build `args_template` with variable placeholders and context injection:
|
|
133
|
-
- Planning after analysis → `--context {prev_output_path}`
|
|
134
|
-
- Execution after planning → inherit phase
|
|
135
|
-
- Testing after execution → inherit phase
|
|
136
|
-
|
|
137
|
-
**Step 2.3** — Assign `parallel_group` for parallel steps.
|
|
138
|
-
|
|
139
|
-
**Step 2.4** — Write `nodes.json`.
|
|
140
|
-
|
|
141
|
-
**Step 2.5 — Interactive confirmation**: Display resolved nodes table (ID, type, executor, args) and parallel groups.
|
|
142
|
-
|
|
143
|
-
---
|
|
144
|
-
|
|
145
|
-
### Phase 3: Enrich — Inject Checkpoints + Build DAG
|
|
146
|
-
|
|
147
|
-
**Step 3.1** — Load `nodes.json`. Build sequential edges. For parallel groups: fan-out/fan-in.
|
|
148
|
-
|
|
149
|
-
**Step 3.2** — Auto-inject checkpoint nodes:
|
|
150
|
-
|
|
151
|
-
| Rule | Condition |
|
|
152
|
-
|------|-----------|
|
|
153
|
-
| Artifact boundary | Source output_ports: plan, spec, analysis, review-findings |
|
|
154
|
-
| Execution gate | Target executor contains `execute` |
|
|
155
|
-
| Agent spawn | Target type is `agent` |
|
|
156
|
-
| Long-running | Target is maestro-plan, maestro-roadmap |
|
|
157
|
-
| User-defined | Step had `type_hint: checkpoint` |
|
|
158
|
-
| Post-testing | Source executor contains `test` or `integration-test` |
|
|
159
|
-
|
|
160
|
-
Set `auto_continue: false` for checkpoints before user-facing deliverables.
|
|
161
|
-
|
|
162
|
-
**Step 3.3** — Finalize `context_schema`, validate DAG (no cycles, no orphans).
|
|
163
|
-
|
|
164
|
-
**Step 3.4** — Write `dag.json`. → Proceed to Phase 4.
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
### Phase 4: Confirm — Visualize + User Approval
|
|
169
|
-
|
|
170
|
-
**Step 4.1** — Render ASCII pipeline: vertical node chain with `|` connectors showing each node (ID, type, executor, args) and checkpoint nodes (auto-continue vs pause-for-user). Footer: required variables, checkpoint counts, node counts.
|
|
171
|
-
|
|
172
|
-
**Step 4.2** —
|
|
173
|
-
|
|
174
|
-
**Step 4.3** — Loop edits until Confirm or Cancel.
|
|
175
|
-
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
### Phase 5: Persist — Assemble + Save Template
|
|
179
|
-
|
|
180
|
-
**Read deferred**: `~/.maestro/templates/workflows/specs/template-schema.md`
|
|
181
|
-
|
|
182
|
-
**Step 5.1** — Load `intent.json` + `dag.json`. Assemble template JSON.
|
|
183
|
-
|
|
184
|
-
**Step 5.2** — Determine slug (kebab-case). If exists, append `-v2`.
|
|
185
|
-
|
|
186
|
-
**Step 5.3** — Write `~/.maestro/templates/workflows/<slug>.json`.
|
|
187
|
-
|
|
188
|
-
**Step 5.4** — Update `~/.maestro/templates/workflows/index.json`.
|
|
189
|
-
|
|
190
|
-
**Step 5.5** — Output summary: path, template ID, node/checkpoint counts, required variables. Include usage commands: `$maestro-player <slug> --context goal="..."`, `$maestro-composer --edit <path>`, `$maestro-player --list`.
|
|
191
|
-
|
|
192
|
-
**Step 5.6** — Clean up design draft directory.
|
|
193
|
-
</execution>
|
|
194
|
-
|
|
195
|
-
<error_codes>
|
|
196
|
-
| Code | Severity | Condition | Recovery |
|
|
197
|
-
|------|----------|-----------|----------|
|
|
198
|
-
| E001 | error | Empty description and no flags |
|
|
199
|
-
| E002 | error | 0 steps extracted | Ask to rephrase with action verbs |
|
|
200
|
-
| E003 | error | Node count exceeds 20 | Suggest splitting into sub-workflows |
|
|
201
|
-
| E004 | error | DAG cycle detected | Show cycle, ask to resolve |
|
|
202
|
-
| E005 | error | Resume session not found | Show available drafts |
|
|
203
|
-
| E006 | error | Edit template not found | Show available templates |
|
|
204
|
-
| W001 | warning | Ambiguous executor mapping | Show candidates, let user choose |
|
|
205
|
-
| W002 | warning | No checkpoint rules triggered | Warn, offer manual add |
|
|
206
|
-
| W003 | warning | Deferred spec not found | Use built-in fallback |
|
|
207
|
-
</error_codes>
|
|
208
|
-
|
|
209
|
-
<success_criteria>
|
|
210
|
-
- [ ] Intent parsed and confirmed by user (Phase 1 gate)
|
|
211
|
-
- [ ] Nodes resolved and confirmed by user (Phase 2 gate)
|
|
212
|
-
- [ ] DAG built with auto-injected checkpoints
|
|
213
|
-
- [ ] Pipeline visualized and confirmed by user (Phase 4 gate)
|
|
214
|
-
- [ ] Template JSON written to `~/.maestro/templates/workflows/<slug>.json`
|
|
215
|
-
- [ ] Template index updated
|
|
216
|
-
- [ ] Deferred specs loaded only when phase needs them
|
|
217
|
-
</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: Read, Write, Edit, Bash, Glob, Grep, request_user_input
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Interactive workflow template composer. Parses natural language into a reusable DAG template
|
|
10
|
+
via 5 phases with user confirmation at each boundary. Templates saved globally at
|
|
11
|
+
`~/.maestro/templates/workflows/`. Progressive disclosure — specs loaded only when phase needs them.
|
|
12
|
+
|
|
13
|
+
Sequential interactive flow (no spawn_agents_on_csv — this is design, not execution):
|
|
14
|
+
```
|
|
15
|
+
Parse NL → [confirm] → Resolve to nodes → [confirm] → Inject checkpoints → Confirm pipeline → Persist
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Three entry modes:
|
|
19
|
+
1. **New design**: Phase 1-5
|
|
20
|
+
2. **Resume design**: Load draft from `.workflow/templates/design-drafts/`
|
|
21
|
+
3. **Edit template**: Load existing, modify, re-save
|
|
22
|
+
</purpose>
|
|
23
|
+
|
|
24
|
+
<context>
|
|
25
|
+
$ARGUMENTS — natural language workflow description, or flags.
|
|
26
|
+
|
|
27
|
+
**Flags:**
|
|
28
|
+
- `--resume` — Resume in-progress design session
|
|
29
|
+
- `--edit <template-path>` — Edit an existing template
|
|
30
|
+
|
|
31
|
+
**Shared constants:**
|
|
32
|
+
|
|
33
|
+
| Constant | Value |
|
|
34
|
+
|----------|-------|
|
|
35
|
+
| Session prefix | `WFD` |
|
|
36
|
+
| Template dir (global) | `~/.maestro/templates/workflows/` |
|
|
37
|
+
| Template index (global) | `~/.maestro/templates/workflows/index.json` |
|
|
38
|
+
| Design drafts dir (local) | `.workflow/templates/design-drafts/` |
|
|
39
|
+
| Template ID format | `wft-<slug>-<YYYYMMDD>` |
|
|
40
|
+
| Node ID format | `N-<seq>` (e.g. N-001), `CP-<seq>` for checkpoints |
|
|
41
|
+
| Max nodes | 20 |
|
|
42
|
+
|
|
43
|
+
**Entry routing:**
|
|
44
|
+
|
|
45
|
+
| Detection | Condition | Handler |
|
|
46
|
+
|-----------|-----------|---------|
|
|
47
|
+
| Resume | `--resume` or existing WFD session | Phase 0: Resume |
|
|
48
|
+
| Edit | `--edit <path>` | Phase 0: Load + Edit |
|
|
49
|
+
| New | Default | Phase 1: Parse |
|
|
50
|
+
|
|
51
|
+
**Node catalog**: Read `~/.maestro/templates/workflows/specs/node-catalog.md` at Phase 2 (deferred).
|
|
52
|
+
**Template schema**: Read `~/.maestro/templates/workflows/specs/template-schema.md` at Phase 5 (deferred).
|
|
53
|
+
|
|
54
|
+
### Pre-load specs
|
|
55
|
+
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.
|
|
56
|
+
2. **Coding specs**: Run `maestro spec load --category coding` to load coding conventions. Informs executor argument defaults and context injection.
|
|
57
|
+
3. Optional — proceed without if unavailable.
|
|
58
|
+
</context>
|
|
59
|
+
|
|
60
|
+
<execution>
|
|
61
|
+
|
|
62
|
+
### Phase 0: Resume / Edit (conditional)
|
|
63
|
+
|
|
64
|
+
**Resume** (`--resume`):
|
|
65
|
+
1. Scan `.workflow/templates/design-drafts/WFD-*/` for in-progress designs
|
|
66
|
+
2. Multiple → request_user_input for selection
|
|
67
|
+
3. Load draft → skip to last incomplete phase
|
|
68
|
+
|
|
69
|
+
**Edit** (`--edit <path>`):
|
|
70
|
+
1. Load template JSON
|
|
71
|
+
2. Show pipeline visualization (Phase 4 format)
|
|
72
|
+
3. request_user_input: which nodes to modify/add/remove
|
|
73
|
+
4. Re-enter at Phase 3
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### Phase 1: Parse — Semantic Intent Extraction
|
|
78
|
+
|
|
79
|
+
**Step 1.1** — Parse `$ARGUMENTS`. If empty, request_user_input:
|
|
80
|
+
```
|
|
81
|
+
"Describe the workflow you want to automate.
|
|
82
|
+
Include: what steps to run, in what order, and what varies each time.
|
|
83
|
+
Example: 'analyze the code, then plan, implement, and test the feature'"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Step 1.2** — Extract sequential actions as candidate nodes:
|
|
87
|
+
|
|
88
|
+
| Signal | Candidate Type |
|
|
89
|
+
|--------|---------------|
|
|
90
|
+
| "analyze", "review", "explore" | analysis (cli) |
|
|
91
|
+
| "plan", "design", "spec" | planning (skill) |
|
|
92
|
+
| "implement", "build", "code", "fix" | execution (skill) |
|
|
93
|
+
| "test", "validate", "verify" | testing (skill) |
|
|
94
|
+
| "brainstorm", "ideate" | brainstorm (skill) |
|
|
95
|
+
| "review code" | review (skill) |
|
|
96
|
+
| "then", "next", "after" | sequential edge |
|
|
97
|
+
| "parallel", "simultaneously" | parallel edge |
|
|
98
|
+
|
|
99
|
+
**Step 1.3** — Extract variables (inputs that vary per run).
|
|
100
|
+
|
|
101
|
+
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | integration-test | quick-task | custom`
|
|
102
|
+
|
|
103
|
+
**Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
|
|
104
|
+
|
|
105
|
+
**Step 1.6** — Write `intent.json` to `.workflow/templates/design-drafts/WFD-<slug>-<date>/`.
|
|
106
|
+
|
|
107
|
+
**Step 1.7 — Interactive confirmation**: Display description, task type, complexity, detected steps (numbered with type_hint), and variables. request_user_input: `Continue to resolution` / `Edit steps` / `Add a step` / `Cancel`
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
### Phase 2: Resolve — Map Steps to Executor Nodes
|
|
112
|
+
|
|
113
|
+
**Read deferred**: `~/.maestro/templates/workflows/specs/node-catalog.md`
|
|
114
|
+
|
|
115
|
+
If spec not found, use built-in fallback:
|
|
116
|
+
|
|
117
|
+
| type_hint | executor type | executor |
|
|
118
|
+
|-----------|--------------|----------|
|
|
119
|
+
| `planning` | skill | `maestro-plan` |
|
|
120
|
+
| `execution` | skill | `maestro-execute` |
|
|
121
|
+
| `testing` | skill | `quality-test` |
|
|
122
|
+
| `review` | skill | `quality-review` |
|
|
123
|
+
| `brainstorm` | skill | `maestro-brainstorm` |
|
|
124
|
+
| `analysis` | cli | `maestro delegate --role analyze --mode analysis` |
|
|
125
|
+
| `refactor` | skill | `quality-refactor` |
|
|
126
|
+
| `debug` | skill | `quality-debug` |
|
|
127
|
+
| `spec` | skill | `maestro-blueprint` |
|
|
128
|
+
| `checkpoint` | checkpoint | — |
|
|
129
|
+
|
|
130
|
+
**Step 2.1** — Load `intent.json`, map each step to executor.
|
|
131
|
+
|
|
132
|
+
**Step 2.2** — Build `args_template` with variable placeholders and context injection:
|
|
133
|
+
- Planning after analysis → `--context {prev_output_path}`
|
|
134
|
+
- Execution after planning → inherit phase
|
|
135
|
+
- Testing after execution → inherit phase
|
|
136
|
+
|
|
137
|
+
**Step 2.3** — Assign `parallel_group` for parallel steps.
|
|
138
|
+
|
|
139
|
+
**Step 2.4** — Write `nodes.json`.
|
|
140
|
+
|
|
141
|
+
**Step 2.5 — Interactive confirmation**: Display resolved nodes table (ID, type, executor, args) and parallel groups. request_user_input: `Continue to checkpoint injection` / `Change executor` / `Change node type` / `Back to intent` / `Cancel`
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Phase 3: Enrich — Inject Checkpoints + Build DAG
|
|
146
|
+
|
|
147
|
+
**Step 3.1** — Load `nodes.json`. Build sequential edges. For parallel groups: fan-out/fan-in.
|
|
148
|
+
|
|
149
|
+
**Step 3.2** — Auto-inject checkpoint nodes:
|
|
150
|
+
|
|
151
|
+
| Rule | Condition |
|
|
152
|
+
|------|-----------|
|
|
153
|
+
| Artifact boundary | Source output_ports: plan, spec, analysis, review-findings |
|
|
154
|
+
| Execution gate | Target executor contains `execute` |
|
|
155
|
+
| Agent spawn | Target type is `agent` |
|
|
156
|
+
| Long-running | Target is maestro-plan, maestro-roadmap |
|
|
157
|
+
| User-defined | Step had `type_hint: checkpoint` |
|
|
158
|
+
| Post-testing | Source executor contains `test` or `integration-test` |
|
|
159
|
+
|
|
160
|
+
Set `auto_continue: false` for checkpoints before user-facing deliverables.
|
|
161
|
+
|
|
162
|
+
**Step 3.3** — Finalize `context_schema`, validate DAG (no cycles, no orphans).
|
|
163
|
+
|
|
164
|
+
**Step 3.4** — Write `dag.json`. → Proceed to Phase 4.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### Phase 4: Confirm — Visualize + User Approval
|
|
169
|
+
|
|
170
|
+
**Step 4.1** — Render ASCII pipeline: vertical node chain with `|` connectors showing each node (ID, type, executor, args) and checkpoint nodes (auto-continue vs pause-for-user). Footer: required variables, checkpoint counts, node counts.
|
|
171
|
+
|
|
172
|
+
**Step 4.2** — request_user_input: `Confirm & Save` / `Edit a node` / `Add a node` / `Remove a node` / `Rename template` / `Re-run checkpoint injection` / `Cancel`
|
|
173
|
+
|
|
174
|
+
**Step 4.3** — Loop edits until Confirm or Cancel.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### Phase 5: Persist — Assemble + Save Template
|
|
179
|
+
|
|
180
|
+
**Read deferred**: `~/.maestro/templates/workflows/specs/template-schema.md`
|
|
181
|
+
|
|
182
|
+
**Step 5.1** — Load `intent.json` + `dag.json`. Assemble template JSON.
|
|
183
|
+
|
|
184
|
+
**Step 5.2** — Determine slug (kebab-case). If exists, append `-v2`.
|
|
185
|
+
|
|
186
|
+
**Step 5.3** — Write `~/.maestro/templates/workflows/<slug>.json`.
|
|
187
|
+
|
|
188
|
+
**Step 5.4** — Update `~/.maestro/templates/workflows/index.json`.
|
|
189
|
+
|
|
190
|
+
**Step 5.5** — Output summary: path, template ID, node/checkpoint counts, required variables. Include usage commands: `$maestro-player <slug> --context goal="..."`, `$maestro-composer --edit <path>`, `$maestro-player --list`.
|
|
191
|
+
|
|
192
|
+
**Step 5.6** — Clean up design draft directory.
|
|
193
|
+
</execution>
|
|
194
|
+
|
|
195
|
+
<error_codes>
|
|
196
|
+
| Code | Severity | Condition | Recovery |
|
|
197
|
+
|------|----------|-----------|----------|
|
|
198
|
+
| E001 | error | Empty description and no flags | request_user_input for description |
|
|
199
|
+
| E002 | error | 0 steps extracted | Ask to rephrase with action verbs |
|
|
200
|
+
| E003 | error | Node count exceeds 20 | Suggest splitting into sub-workflows |
|
|
201
|
+
| E004 | error | DAG cycle detected | Show cycle, ask to resolve |
|
|
202
|
+
| E005 | error | Resume session not found | Show available drafts |
|
|
203
|
+
| E006 | error | Edit template not found | Show available templates |
|
|
204
|
+
| W001 | warning | Ambiguous executor mapping | Show candidates, let user choose |
|
|
205
|
+
| W002 | warning | No checkpoint rules triggered | Warn, offer manual add |
|
|
206
|
+
| W003 | warning | Deferred spec not found | Use built-in fallback |
|
|
207
|
+
</error_codes>
|
|
208
|
+
|
|
209
|
+
<success_criteria>
|
|
210
|
+
- [ ] Intent parsed and confirmed by user (Phase 1 gate)
|
|
211
|
+
- [ ] Nodes resolved and confirmed by user (Phase 2 gate)
|
|
212
|
+
- [ ] DAG built with auto-injected checkpoints
|
|
213
|
+
- [ ] Pipeline visualized and confirmed by user (Phase 4 gate)
|
|
214
|
+
- [ ] Template JSON written to `~/.maestro/templates/workflows/<slug>.json`
|
|
215
|
+
- [ ] Template index updated
|
|
216
|
+
- [ ] Deferred specs loaded only when phase needs them
|
|
217
|
+
</success_criteria>
|
|
@@ -11,7 +11,7 @@ Positioned BEFORE brainstorm in the pipeline: grill stress-tests and sharpens; b
|
|
|
11
11
|
|
|
12
12
|
Codex specifics:
|
|
13
13
|
- **No agent spawning** — codebase exploration runs directly via Glob/Grep/Read in coordinator context.
|
|
14
|
-
- **request_user_input** replaces
|
|
14
|
+
- **request_user_input** replaces request_user_input for Socratic Q&A.
|
|
15
15
|
- **CLI delegation** for auto mode: `exec_command("maestro delegate ... --role analyze --mode analysis")`.
|
|
16
16
|
</purpose>
|
|
17
17
|
|