maestro-flow 0.3.10 → 0.3.12
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/.claude/agents/conceptual-planning-agent.md +1 -0
- package/.claude/agents/workflow-analyzer.md +114 -114
- package/.claude/agents/workflow-collab-planner.md +144 -144
- package/.claude/agents/workflow-debugger.md +102 -103
- package/.claude/agents/workflow-executor.md +127 -128
- package/.claude/agents/workflow-integration-checker.md +82 -82
- package/.claude/agents/workflow-nyquist-auditor.md +85 -84
- package/.claude/agents/workflow-phase-researcher.md +85 -85
- package/.claude/agents/workflow-plan-checker.md +90 -90
- package/.claude/agents/workflow-planner.md +178 -178
- package/.claude/agents/workflow-roadmapper.md +81 -83
- package/.claude/agents/workflow-verifier.md +119 -119
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-retro.md +3 -3
- package/.claude/commands/learn-second-opinion.md +2 -2
- package/.claude/commands/maestro-brainstorm.md +1 -0
- package/.claude/commands/maestro-coordinate.md +1 -3
- package/.claude/commands/maestro-fork.md +133 -111
- package/.claude/commands/maestro-merge.md +85 -77
- package/.claude/commands/maestro-plan.md +88 -2
- package/.claude/commands/maestro-roadmap.md +113 -2
- package/.claude/commands/maestro.md +1 -0
- package/.claude/commands/manage-harvest.md +131 -131
- package/.claude/commands/manage-issue.md +2 -2
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +3 -2
- package/.claude/commands/quality-retrospective.md +6 -4
- package/.claude/commands/quality-review.md +1 -1
- package/.claude/commands/quality-test-gen.md +5 -4
- package/.claude/commands/spec-add.md +67 -56
- package/.claude/commands/spec-load.md +66 -64
- package/.claude/commands/spec-setup.md +5 -9
- package/.codex/skills/learn-decompose/SKILL.md +119 -0
- package/.codex/skills/learn-follow/SKILL.md +83 -0
- package/.codex/skills/learn-investigate/SKILL.md +83 -0
- package/.codex/skills/learn-retro/SKILL.md +83 -0
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
- package/.codex/skills/maestro/SKILL.md +151 -279
- package/.codex/skills/maestro-analyze/SKILL.md +59 -71
- package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
- package/.codex/skills/maestro-chain/SKILL.md +95 -110
- package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
- package/.codex/skills/maestro-execute/SKILL.md +435 -446
- package/.codex/skills/maestro-fork/SKILL.md +98 -0
- package/.codex/skills/maestro-init/SKILL.md +172 -167
- package/.codex/skills/maestro-learn/SKILL.md +80 -0
- package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
- package/.codex/skills/maestro-merge/SKILL.md +69 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
- package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
- package/.codex/skills/maestro-overlay/SKILL.md +188 -185
- package/.codex/skills/maestro-plan/SKILL.md +58 -69
- package/.codex/skills/maestro-quick/SKILL.md +26 -23
- package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
- package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
- package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
- package/.codex/skills/maestro-verify/SKILL.md +556 -566
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
- package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
- package/.codex/skills/manage-harvest/SKILL.md +82 -0
- package/.codex/skills/manage-issue/SKILL.md +80 -65
- package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
- package/.codex/skills/manage-learn/SKILL.md +190 -186
- package/.codex/skills/manage-memory/SKILL.md +95 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
- package/.codex/skills/manage-status/SKILL.md +102 -89
- package/.codex/skills/quality-business-test/SKILL.md +228 -223
- package/.codex/skills/quality-debug/SKILL.md +54 -66
- package/.codex/skills/quality-integration-test/SKILL.md +532 -544
- package/.codex/skills/quality-refactor/SKILL.md +197 -191
- package/.codex/skills/quality-retrospective/SKILL.md +512 -505
- package/.codex/skills/quality-review/SKILL.md +95 -107
- package/.codex/skills/quality-sync/SKILL.md +101 -89
- package/.codex/skills/quality-test/SKILL.md +202 -198
- package/.codex/skills/quality-test-gen/SKILL.md +94 -105
- package/.codex/skills/spec-add/SKILL.md +58 -39
- package/.codex/skills/spec-load/SKILL.md +45 -40
- package/.codex/skills/spec-map/SKILL.md +180 -182
- package/.codex/skills/spec-setup/SKILL.md +94 -76
- package/.codex/skills/team-coordinate/SKILL.md +346 -357
- package/.codex/skills/team-executor/SKILL.md +70 -112
- package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
- package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
- package/.codex/skills/team-review/SKILL.md +232 -225
- package/.codex/skills/team-tech-debt/SKILL.md +78 -100
- package/.codex/skills/team-testing/SKILL.md +242 -235
- package/.codex/skills/wiki-connect/SKILL.md +75 -0
- package/.codex/skills/wiki-digest/SKILL.md +87 -0
- package/README.md +9 -4
- package/README.zh-CN.md +9 -4
- package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
- package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
- package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
- package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
- package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
- package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
- package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
- package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
- package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
- package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
- package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
- package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
- package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
- package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
- package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
- package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
- package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
- package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
- package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
- package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
- package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
- package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
- package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
- package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
- package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
- package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
- package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
- package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
- package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
- package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
- package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
- package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
- package/dashboard/dist-server/src/hooks/constants.js +4 -2
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dist/shared/agent-types.d.ts +4 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/commands/collab.js +4 -4
- package/dist/src/commands/collab.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +66 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +29 -18
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -2
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
- package/dist/src/hooks/constants.d.ts +3 -1
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +4 -2
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/guards/index.d.ts +1 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -1
- package/dist/src/hooks/guards/index.js +1 -0
- package/dist/src/hooks/guards/index.js.map +1 -1
- package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
- package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
- package/dist/src/hooks/guards/spec-validator.js +66 -0
- package/dist/src/hooks/guards/spec-validator.js.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.js +96 -0
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/skill-context.d.ts +3 -0
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +95 -9
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/spec-bridge.d.ts +40 -0
- package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
- package/dist/src/hooks/spec-bridge.js +97 -0
- package/dist/src/hooks/spec-bridge.js.map +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +18 -12
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +6 -3
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/team/phase-orchestrator.d.ts +52 -0
- package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
- package/dist/src/team/phase-orchestrator.js +165 -0
- package/dist/src/team/phase-orchestrator.js.map +1 -0
- package/dist/src/team/phase-types.d.ts +51 -0
- package/dist/src/team/phase-types.d.ts.map +1 -0
- package/dist/src/team/phase-types.js +41 -0
- package/dist/src/team/phase-types.js.map +1 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/merge-validator.d.ts.map +1 -1
- package/dist/src/tools/merge-validator.js +114 -16
- package/dist/src/tools/merge-validator.js.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +56 -0
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
- package/dist/src/tools/spec-entry-parser.js +196 -0
- package/dist/src/tools/spec-entry-parser.js.map +1 -0
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +66 -92
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-keyword-index.d.ts +30 -0
- package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
- package/dist/src/tools/spec-keyword-index.js +101 -0
- package/dist/src/tools/spec-keyword-index.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +3 -3
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +49 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-agents.d.ts +27 -0
- package/dist/src/tools/team-agents.d.ts.map +1 -0
- package/dist/src/tools/team-agents.js +362 -0
- package/dist/src/tools/team-agents.js.map +1 -0
- package/dist/src/tools/team-mailbox.d.ts +40 -0
- package/dist/src/tools/team-mailbox.d.ts.map +1 -0
- package/dist/src/tools/team-mailbox.js +384 -0
- package/dist/src/tools/team-mailbox.js.map +1 -0
- package/dist/src/tools/team-msg.d.ts +17 -8
- package/dist/src/tools/team-msg.d.ts.map +1 -1
- package/dist/src/tools/team-msg.js +110 -13
- package/dist/src/tools/team-msg.js.map +1 -1
- package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
- package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
- package/dist/src/tools/team-tasks-mcp.js +408 -0
- package/dist/src/tools/team-tasks-mcp.js.map +1 -0
- package/package.json +2 -1
- package/shared/agent-types.ts +4 -0
- package/templates/worktree-scope.json +9 -10
- package/templates/worktrees.json +26 -27
- package/workflows/analyze.md +816 -816
- package/workflows/brainstorm.md +480 -471
- package/workflows/codebase-rebuild.md +332 -332
- package/workflows/codebase-refresh.md +240 -240
- package/workflows/debug.md +16 -6
- package/workflows/execute.md +1 -1
- package/workflows/fork.md +100 -36
- package/workflows/harvest.md +420 -420
- package/workflows/integration-test.md +355 -343
- package/workflows/issue-discover.md +414 -414
- package/workflows/issue.md +14 -4
- package/workflows/learn.md +19 -5
- package/workflows/maestro.md +1 -0
- package/workflows/map.md +111 -111
- package/workflows/merge.md +113 -55
- package/workflows/milestone-complete.md +176 -176
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +497 -497
- package/workflows/refactor.md +300 -300
- package/workflows/retrospective.md +61 -22
- package/workflows/review.md +17 -4
- package/workflows/roadmap.md +335 -335
- package/workflows/spec-generate.md +640 -640
- package/workflows/specs-add.md +46 -81
- package/workflows/specs-load.md +15 -17
- package/workflows/specs-setup.md +40 -161
- package/workflows/test.md +12 -2
- package/workflows/ui-style.md +9 -2
- package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
- package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
- package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
- package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
- package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
- package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
- package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
- package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
- package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
- package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
- package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
|
@@ -1,40 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-chain
|
|
3
|
-
description: Flat chain coordinator — resolve intent, build single CSV with all steps, execute via spawn_agents_on_csv (max_workers=1). Sub-agents self-discover context
|
|
3
|
+
description: Flat chain coordinator — resolve intent, build single CSV with all steps, execute via spawn_agents_on_csv (max_workers=1). Sub-agents self-discover context. No coordinator-side artifact analysis. Simpler than maestro.
|
|
4
4
|
argument-hint: "\"intent text\" [-y] [-c|--continue] [--dry-run] [--chain <name>]"
|
|
5
5
|
allowed-tools: spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
## Usage
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
$maestro-chain "implement user authentication with JWT"
|
|
18
|
-
$maestro-chain -y "refactor the payment module"
|
|
19
|
-
$maestro-chain --continue
|
|
20
|
-
$maestro-chain --dry-run "add rate limiting to API endpoints"
|
|
21
|
-
$maestro-chain --chain feature "add dark mode toggle"
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
**Flags**:
|
|
25
|
-
- `-y, --yes` — Auto mode: skip all prompts; propagate `-y` to each skill
|
|
26
|
-
- `--continue` — Resume latest paused session (re-run from first failed/pending step)
|
|
27
|
-
- `--dry-run` — Display planned chain without executing
|
|
28
|
-
- `--chain <name>` — Force a specific chain (skips intent classification)
|
|
29
|
-
|
|
30
|
-
**Session state**: `.workflow/.maestro-chain/{session-id}/`
|
|
31
|
-
**Core Output**: `tasks.csv` + `results.csv` + `state.json`
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## Overview
|
|
36
|
-
|
|
37
|
-
Flat sequential chain execution — one CSV, one `spawn_agents_on_csv` call, done. Each skill is self-discovering: it reads `.workflow/state.json`, globs for latest artifacts, and resolves its own inputs. The coordinator only assembles initial args and launches.
|
|
8
|
+
<purpose>
|
|
9
|
+
Flat sequential chain coordinator. Resolves intent, builds a single CSV with all steps,
|
|
10
|
+
executes via one `spawn_agents_on_csv` call (max_workers=1). Sub-agents are self-discovering:
|
|
11
|
+
each skill reads `.workflow/state.json` and globs for latest artifacts on its own.
|
|
12
|
+
Coordinator only assembles initial args and launches — no mid-chain artifact analysis.
|
|
38
13
|
|
|
39
14
|
```
|
|
40
15
|
Intent → Resolve Chain → Build tasks.csv → spawn_agents_on_csv(max_workers=1) → Read results → Report
|
|
@@ -43,13 +18,39 @@ Intent → Resolve Chain → Build tasks.csv → spawn_agents_on_csv(max_workers
|
|
|
43
18
|
```
|
|
44
19
|
|
|
45
20
|
**When to use this vs `$maestro`**:
|
|
46
|
-
-
|
|
47
|
-
-
|
|
21
|
+
- `$maestro-chain` — all skills self-discover (read state.json, glob artifacts)
|
|
22
|
+
- `$maestro` — need coordinator-side artifact analysis between steps (dynamic arg resolution)
|
|
23
|
+
</purpose>
|
|
48
24
|
|
|
49
|
-
|
|
25
|
+
<required_reading>
|
|
26
|
+
@~/.maestro/workflows/maestro.codex.md — authoritative `detectTaskType`, `detectNextAction`, `chainMap` (35+ intent patterns, 40+ chain types). Read before executing any step.
|
|
27
|
+
</required_reading>
|
|
50
28
|
|
|
51
|
-
|
|
29
|
+
<context>
|
|
30
|
+
$ARGUMENTS — user intent text, or special flags.
|
|
52
31
|
|
|
32
|
+
**Flags:**
|
|
33
|
+
- `-y, --yes` — Auto mode: skip all prompts; propagate `-y` to each skill
|
|
34
|
+
- `--continue` — Resume latest paused session (re-run from first failed/pending step)
|
|
35
|
+
- `--dry-run` — Display planned chain without executing
|
|
36
|
+
- `--chain <name>` — Force specific chain (skips intent classification)
|
|
37
|
+
|
|
38
|
+
**Session state**: `.workflow/.maestro-chain/{session-id}/`
|
|
39
|
+
**Core output**: `tasks.csv` + `results.csv` + `state.json`
|
|
40
|
+
</context>
|
|
41
|
+
|
|
42
|
+
<invariants>
|
|
43
|
+
1. **ALL skills via spawn_agents_on_csv**: The entire chain is a single `spawn_agents_on_csv` invocation. Coordinator NEVER directly executes any skill. No exceptions.
|
|
44
|
+
2. **Coordinator = prompt assembler only**: Classify intent → build CSV → spawn → read results → report. It never runs skill logic itself.
|
|
45
|
+
3. **One CSV, one call**: All steps go into one `tasks.csv`, one `spawn_agents_on_csv` call.
|
|
46
|
+
4. **max_workers=1**: Strict sequential execution — step N finishes before step N+1 starts.
|
|
47
|
+
5. **Skills self-discover**: Each skill reads `.workflow/state.json` and globs for latest artifacts. No coordinator-side artifact analysis between steps.
|
|
48
|
+
6. **Args resolved once**: All `{phase}`, `{description}` placeholders resolved at CSV build time — no dynamic updates mid-chain.
|
|
49
|
+
7. **Abort tolerance**: A failed step doesn't auto-skip subsequent steps — each skill decides independently whether to proceed.
|
|
50
|
+
8. **Resume = rebuild CSV**: `--continue` rebuilds CSV from first pending/failed step.
|
|
51
|
+
</invariants>
|
|
52
|
+
|
|
53
|
+
<chain_map>
|
|
53
54
|
| Intent keywords | Chain | Steps (skills, in order) |
|
|
54
55
|
|----------------|-------|--------------------------|
|
|
55
56
|
| fix, bug, error, broken, crash | `quality-fix` | $maestro-analyze --gaps → $maestro-plan --gaps → $maestro-execute → $maestro-verify |
|
|
@@ -58,12 +59,9 @@ Intent → Resolve Chain → Build tasks.csv → spawn_agents_on_csv(max_workers
|
|
|
58
59
|
| feature, implement, add, build | `feature` | $maestro-plan → $maestro-execute → $maestro-verify |
|
|
59
60
|
| review, check, audit | `quality-review` | $quality-review |
|
|
60
61
|
| deploy, release, ship | `deploy` | $maestro-verify → $maestro-execute |
|
|
62
|
+
</chain_map>
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
## Implementation
|
|
65
|
-
|
|
66
|
-
> **Full chain map reference**: `~/.maestro/workflows/maestro.codex.md` — read for 35+ intent patterns and 40+ chain definitions.
|
|
64
|
+
<execution>
|
|
67
65
|
|
|
68
66
|
### Phase 1: Resolve Intent and Chain
|
|
69
67
|
|
|
@@ -73,15 +71,13 @@ Intent → Resolve Chain → Build tasks.csv → spawn_agents_on_csv(max_workers
|
|
|
73
71
|
4. If unclear and not AUTO_YES: ask one clarifying question
|
|
74
72
|
5. Resolve phase from intent or state
|
|
75
73
|
|
|
76
|
-
**`--continue
|
|
74
|
+
**`--continue`**: Load latest `state.json` from `.workflow/.maestro-chain/`, rebuild CSV from first pending step.
|
|
77
75
|
|
|
78
76
|
**`--dry-run`**: Display chain and stop.
|
|
79
77
|
|
|
80
|
-
---
|
|
81
|
-
|
|
82
78
|
### Phase 2: Build CSV and Execute
|
|
83
79
|
|
|
84
|
-
####
|
|
80
|
+
#### Skill Call Assembly
|
|
85
81
|
|
|
86
82
|
```javascript
|
|
87
83
|
const AUTO_FLAG_MAP = {
|
|
@@ -96,7 +92,6 @@ function buildSkillCall(step) {
|
|
|
96
92
|
.replace(/{phase}/g, resolvedPhase ?? '')
|
|
97
93
|
.replace(/{description}/g, intent ?? '')
|
|
98
94
|
.replace(/{issue_id}/g, resolvedIssueId ?? '');
|
|
99
|
-
|
|
100
95
|
if (AUTO_YES) {
|
|
101
96
|
const flag = AUTO_FLAG_MAP[step.cmd];
|
|
102
97
|
if (flag && !args.includes(flag)) args = args ? `${args} ${flag}` : flag;
|
|
@@ -105,17 +100,7 @@ function buildSkillCall(step) {
|
|
|
105
100
|
}
|
|
106
101
|
```
|
|
107
102
|
|
|
108
|
-
####
|
|
109
|
-
|
|
110
|
-
```csv
|
|
111
|
-
id,skill_call,topic
|
|
112
|
-
"1","$maestro-analyze --gaps \"fix auth\" -y","Chain quality-fix step 1/4"
|
|
113
|
-
"2","$maestro-plan --gaps -y","Chain quality-fix step 2/4"
|
|
114
|
-
"3","$maestro-execute -y","Chain quality-fix step 3/4"
|
|
115
|
-
"4","$maestro-verify -y","Chain quality-fix step 4/4"
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
#### Write state.json
|
|
103
|
+
#### Session Init + CSV Generation
|
|
119
104
|
|
|
120
105
|
```javascript
|
|
121
106
|
const sessionId = `MC-${dateStr}-${timeStr}`;
|
|
@@ -123,22 +108,24 @@ const sessionDir = `.workflow/.maestro-chain/${sessionId}`;
|
|
|
123
108
|
Bash(`mkdir -p ${sessionDir}`);
|
|
124
109
|
|
|
125
110
|
Write(`${sessionDir}/state.json`, JSON.stringify({
|
|
126
|
-
id: sessionId,
|
|
127
|
-
|
|
128
|
-
chain: chainName,
|
|
129
|
-
auto_yes: AUTO_YES,
|
|
130
|
-
status: "running",
|
|
131
|
-
started_at: new Date().toISOString(),
|
|
111
|
+
id: sessionId, intent, chain: chainName, auto_yes: AUTO_YES,
|
|
112
|
+
status: "running", started_at: new Date().toISOString(),
|
|
132
113
|
steps: chain.map((s, i) => ({
|
|
133
|
-
step_n: i + 1,
|
|
134
|
-
|
|
135
|
-
skill_call: buildSkillCall(s),
|
|
136
|
-
status: "pending"
|
|
114
|
+
step_n: i + 1, cmd: s.cmd,
|
|
115
|
+
skill_call: buildSkillCall(s), status: "pending"
|
|
137
116
|
}))
|
|
138
117
|
}, null, 2));
|
|
139
118
|
```
|
|
140
119
|
|
|
141
|
-
|
|
120
|
+
```csv
|
|
121
|
+
id,skill_call,topic
|
|
122
|
+
"1","$maestro-analyze --gaps \"fix auth\" -y","Chain quality-fix step 1/4"
|
|
123
|
+
"2","$maestro-plan --gaps -y","Chain quality-fix step 2/4"
|
|
124
|
+
"3","$maestro-execute -y","Chain quality-fix step 3/4"
|
|
125
|
+
"4","$maestro-verify -y","Chain quality-fix step 4/4"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### Spawn — ALL execution via spawn_agents_on_csv, never direct
|
|
142
129
|
|
|
143
130
|
```javascript
|
|
144
131
|
spawn_agents_on_csv({
|
|
@@ -148,23 +135,11 @@ spawn_agents_on_csv({
|
|
|
148
135
|
max_workers: 1,
|
|
149
136
|
max_runtime_seconds: 1800,
|
|
150
137
|
output_csv_path: `${sessionDir}/results.csv`,
|
|
151
|
-
output_schema:
|
|
152
|
-
|
|
153
|
-
properties: {
|
|
154
|
-
status: { type: "string", enum: ["completed", "failed"] },
|
|
155
|
-
skill_call: { type: "string" },
|
|
156
|
-
summary: { type: "string" },
|
|
157
|
-
artifacts: { type: "string" },
|
|
158
|
-
error: { type: "string" }
|
|
159
|
-
},
|
|
160
|
-
required: ["status", "skill_call", "summary", "artifacts", "error"]
|
|
161
|
-
}
|
|
162
|
-
})
|
|
138
|
+
output_schema: RESULT_SCHEMA
|
|
139
|
+
});
|
|
163
140
|
```
|
|
164
141
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
### Instruction Template
|
|
142
|
+
### Sub-Agent Instruction Template
|
|
168
143
|
|
|
169
144
|
```
|
|
170
145
|
你是 CSV job 子 agent。
|
|
@@ -183,11 +158,23 @@ spawn_agents_on_csv({
|
|
|
183
158
|
{"status":"completed|failed","skill_call":"{skill_call}","summary":"一句话结果","artifacts":"产物路径或空字符串","error":"失败原因或空字符串"}
|
|
184
159
|
```
|
|
185
160
|
|
|
186
|
-
|
|
161
|
+
### Result Schema
|
|
187
162
|
|
|
188
|
-
|
|
163
|
+
```javascript
|
|
164
|
+
const RESULT_SCHEMA = {
|
|
165
|
+
type: "object",
|
|
166
|
+
properties: {
|
|
167
|
+
status: { type: "string", enum: ["completed", "failed"] },
|
|
168
|
+
skill_call: { type: "string" },
|
|
169
|
+
summary: { type: "string" },
|
|
170
|
+
artifacts: { type: "string" },
|
|
171
|
+
error: { type: "string" }
|
|
172
|
+
},
|
|
173
|
+
required: ["status", "skill_call", "summary", "artifacts", "error"]
|
|
174
|
+
};
|
|
175
|
+
```
|
|
189
176
|
|
|
190
|
-
|
|
177
|
+
### Phase 3: Report
|
|
191
178
|
|
|
192
179
|
```javascript
|
|
193
180
|
const results = parseCSV(Read(`${sessionDir}/results.csv`));
|
|
@@ -206,8 +193,6 @@ for (const row of results) {
|
|
|
206
193
|
Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
|
|
207
194
|
```
|
|
208
195
|
|
|
209
|
-
Display:
|
|
210
|
-
|
|
211
196
|
```
|
|
212
197
|
=== CHAIN COMPLETE ===
|
|
213
198
|
Session: <sessionId>
|
|
@@ -223,26 +208,26 @@ RESULTS:
|
|
|
223
208
|
State: .workflow/.maestro-chain/<sessionId>/state.json
|
|
224
209
|
Resume: $maestro-chain --continue
|
|
225
210
|
```
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
|
232
|
-
|
|
233
|
-
|
|
|
234
|
-
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
211
|
+
</execution>
|
|
212
|
+
|
|
213
|
+
<error_codes>
|
|
214
|
+
| Code | Severity | Condition | Recovery |
|
|
215
|
+
|------|----------|-----------|----------|
|
|
216
|
+
| E001 | error | Intent unclassifiable | Default to `feature` chain |
|
|
217
|
+
| E002 | error | `--chain` not in map | List valid chains, abort |
|
|
218
|
+
| E003 | error | Step timeout | Mark `failed` in results (subsequent steps still attempt) |
|
|
219
|
+
| E004 | error | `--continue`: no session | List sessions, prompt |
|
|
220
|
+
</error_codes>
|
|
221
|
+
|
|
222
|
+
<success_criteria>
|
|
223
|
+
- [ ] Intent classified and chain resolved
|
|
224
|
+
- [ ] Session dir initialized with `state.json` before spawn
|
|
225
|
+
- [ ] All steps in one `tasks.csv`, one `spawn_agents_on_csv` call — no direct skill execution
|
|
226
|
+
- [ ] max_workers=1 enforced (strict sequential)
|
|
227
|
+
- [ ] Each skill self-discovers context (no coordinator-side artifact analysis)
|
|
228
|
+
- [ ] Args resolved at CSV build time, no mid-chain updates
|
|
229
|
+
- [ ] Results read, state.json updated with per-step status
|
|
230
|
+
- [ ] Completion report displayed
|
|
231
|
+
- [ ] `--dry-run` shows chain, no execution
|
|
232
|
+
- [ ] `--continue` rebuilds CSV from first pending/failed step
|
|
233
|
+
</success_criteria>
|