maestro-flow 0.3.14 → 0.3.16
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/commands/maestro-amend.md +300 -0
- package/.claude/commands/maestro-analyze.md +1 -49
- package/.claude/commands/maestro-composer.md +354 -0
- package/.claude/commands/maestro-execute.md +2 -56
- package/.claude/commands/maestro-fork.md +3 -50
- package/.claude/commands/maestro-merge.md +2 -26
- package/.claude/commands/maestro-milestone-audit.md +1 -5
- package/.claude/commands/maestro-milestone-complete.md +1 -7
- package/.claude/commands/maestro-plan.md +6 -127
- package/.claude/commands/maestro-player.md +404 -0
- package/.claude/commands/maestro-roadmap.md +3 -101
- package/.claude/commands/maestro-spec-generate.md +1 -25
- package/.claude/commands/maestro-ui-design.md +14 -73
- package/.claude/commands/maestro-verify.md +1 -32
- package/.claude/commands/maestro.md +13 -30
- package/.claude/commands/manage-harvest.md +7 -44
- package/.claude/commands/manage-knowhow-capture.md +193 -0
- package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
- package/.claude/commands/manage-learn.md +3 -28
- package/.claude/commands/manage-status.md +1 -20
- package/.claude/commands/manage-wiki.md +1 -1
- package/.claude/commands/quality-business-test.md +1 -1
- package/.claude/commands/quality-debug.md +3 -18
- package/.claude/commands/quality-integration-test.md +3 -23
- package/.claude/commands/quality-retrospective.md +1 -28
- package/.claude/commands/quality-review.md +3 -52
- package/.claude/commands/quality-test-gen.md +1 -10
- package/.claude/commands/quality-test.md +3 -25
- package/.claude/commands/spec-add.md +1 -21
- package/.claude/commands/spec-load.md +1 -16
- package/.claude/commands/wiki-connect.md +2 -112
- package/.claude/commands/wiki-digest.md +2 -141
- package/.claude/skills/skill-iter-tune/SKILL.md +382 -0
- package/.claude/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.claude/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.claude/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.claude/skills/skill-iter-tune/phases/04-improve.md +186 -0
- package/.claude/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.claude/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.claude/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.claude/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.claude/skills/workflow-skill-designer/SKILL.md +496 -0
- package/.claude/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.claude/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.claude/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.claude/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- package/.codex/skills/learn-decompose/SKILL.md +2 -8
- package/.codex/skills/maestro/SKILL.md +60 -146
- package/.codex/skills/maestro-analyze/SKILL.md +52 -150
- package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
- package/.codex/skills/maestro-composer/SKILL.md +213 -0
- package/.codex/skills/maestro-execute/SKILL.md +46 -177
- package/.codex/skills/maestro-init/SKILL.md +7 -51
- package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
- package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
- package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
- package/.codex/skills/maestro-overlay/SKILL.md +23 -92
- package/.codex/skills/maestro-plan/SKILL.md +42 -166
- package/.codex/skills/maestro-player/SKILL.md +323 -0
- package/.codex/skills/maestro-quick/SKILL.md +5 -48
- package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
- package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
- package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
- package/.codex/skills/maestro-verify/SKILL.md +39 -136
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
- package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
- package/.codex/skills/manage-issue/SKILL.md +1 -6
- package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
- package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
- package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
- package/.codex/skills/manage-learn/SKILL.md +17 -71
- package/.codex/skills/manage-status/SKILL.md +4 -35
- package/.codex/skills/manage-wiki/SKILL.md +1 -1
- package/.codex/skills/quality-business-test/SKILL.md +2 -14
- package/.codex/skills/quality-debug/SKILL.md +41 -133
- package/.codex/skills/quality-integration-test/SKILL.md +36 -145
- package/.codex/skills/quality-refactor/SKILL.md +6 -59
- package/.codex/skills/quality-retrospective/SKILL.md +292 -531
- package/.codex/skills/quality-review/SKILL.md +30 -65
- package/.codex/skills/quality-sync/SKILL.md +2 -11
- package/.codex/skills/quality-test/SKILL.md +4 -45
- package/.codex/skills/quality-test-gen/SKILL.md +33 -121
- package/.codex/skills/spec-add/SKILL.md +2 -9
- package/.codex/skills/spec-load/SKILL.md +4 -14
- package/.codex/skills/spec-map/SKILL.md +4 -37
- package/.codex/skills/spec-remove/SKILL.md +3 -35
- package/.codex/skills/spec-setup/SKILL.md +2 -19
- package/.codex/skills/team-coordinate/SKILL.md +20 -132
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
- package/.codex/skills/team-executor/SKILL.md +7 -66
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
- package/.codex/skills/team-executor/specs/session-schema.md +22 -56
- package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
- package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
- package/.codex/skills/team-review/SKILL.md +12 -86
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
- package/.codex/skills/team-tech-debt/SKILL.md +11 -50
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
- package/.codex/skills/team-testing/SKILL.md +14 -99
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
- package/.codex/skills/wiki-connect/SKILL.md +2 -5
- package/README.md +6 -0
- package/README.zh-CN.md +6 -0
- package/chains/_intent-map.json +7 -7
- package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
- package/chains/singles/{memory.json → knowhow.json} +6 -6
- package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
- package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
- package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
- package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
- package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
- package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
- package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
- package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
- package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
- package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
- package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
- package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
- package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
- package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
- package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
- package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
- package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
- package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
- package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
- package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
- package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
- package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
- package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
- package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
- package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
- package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
- package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
- package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
- package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
- package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
- package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
- package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
- package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
- package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
- package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
- package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
- package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
- package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
- package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
- package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
- package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
- package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
- package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
- package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
- package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
- package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
- package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
- package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
- package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
- package/dashboard/dist-server/src/commands/delegate.js +11 -8
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
- package/dist/shared/agent-types.d.ts +2 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/cli.js +2 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +11 -8
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +1 -1
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/knowhow.d.ts +10 -0
- package/dist/src/commands/knowhow.d.ts.map +1 -0
- package/dist/src/commands/knowhow.js +217 -0
- package/dist/src/commands/knowhow.js.map +1 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
- package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
- package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
- package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
- package/dist/src/commands/overlay-ui/index.js +70 -44
- package/dist/src/commands/overlay-ui/index.js.map +1 -1
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +4 -3
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +1 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +40 -13
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/core/overlay/loader.d.ts.map +1 -1
- package/dist/src/core/overlay/loader.js +6 -0
- package/dist/src/core/overlay/loader.js.map +1 -1
- package/dist/src/core/overlay/types.d.ts +5 -1
- package/dist/src/core/overlay/types.d.ts.map +1 -1
- package/dist/src/core/overlay/types.js +1 -1
- package/dist/src/core/overlay/types.js.map +1 -1
- package/dist/src/hooks/context-monitor.js +1 -1
- package/dist/src/hooks/context-monitor.js.map +1 -1
- package/dist/src/hooks/skill-context.js +1 -1
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +73 -4
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/index.js +2 -2
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts +21 -0
- package/dist/src/tools/store-knowhow.d.ts.map +1 -0
- package/dist/src/tools/store-knowhow.js +295 -0
- package/dist/src/tools/store-knowhow.js.map +1 -0
- package/package.json +1 -1
- package/shared/agent-types.ts +2 -0
- package/templates/workflows/specs/node-catalog.md +170 -0
- package/templates/workflows/specs/template-schema.md +157 -0
- package/workflows/analyze.md +61 -185
- package/workflows/brainstorm.md +3 -23
- package/workflows/codebase-rebuild.md +79 -191
- package/workflows/codebase-refresh.md +26 -124
- package/workflows/debug.md +21 -141
- package/workflows/execute.md +183 -350
- package/workflows/fork.md +72 -230
- package/workflows/harvest.md +12 -79
- package/workflows/init.md +3 -17
- package/workflows/integration-test.md +21 -190
- package/workflows/issue-analyze.md +35 -153
- package/workflows/issue-discover.md +88 -263
- package/workflows/issue-execute.md +29 -208
- package/workflows/issue-plan.md +33 -154
- package/workflows/issue.md +44 -202
- package/workflows/knowhow.md +374 -0
- package/workflows/learn.md +30 -177
- package/workflows/maestro-coordinate.codex.md +77 -362
- package/workflows/maestro-link-coordinate.md +12 -61
- package/workflows/maestro.codex.md +124 -457
- package/workflows/maestro.md +562 -976
- package/workflows/map.md +16 -53
- package/workflows/merge.md +42 -197
- package/workflows/milestone-audit.md +5 -43
- package/workflows/milestone-complete.md +11 -60
- package/workflows/plan.md +176 -387
- package/workflows/quick.md +25 -174
- package/workflows/refactor.md +28 -221
- package/workflows/retrospective.md +104 -443
- package/workflows/review.md +87 -299
- package/workflows/roadmap.md +117 -97
- package/workflows/spec-generate.md +22 -118
- package/workflows/specs-add.md +5 -25
- package/workflows/specs-load.md +1 -5
- package/workflows/specs-remove.md +0 -11
- package/workflows/specs-setup.md +11 -47
- package/workflows/status.md +58 -200
- package/workflows/sync.md +28 -141
- package/workflows/test-gen.md +23 -100
- package/workflows/test.md +15 -125
- package/workflows/ui-design.md +139 -465
- package/workflows/ui-style.md +36 -228
- package/workflows/verify.md +52 -273
- package/workflows/wiki-connect.md +9 -46
- package/workflows/wiki-digest.md +7 -50
- package/workflows/wiki-manage.md +11 -108
- package/.claude/commands/maestro-coordinate.md +0 -63
- package/.claude/commands/manage-memory-capture.md +0 -59
- package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
- package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
- package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
- package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
- package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
- package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
- package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
- package/workflows/maestro-coordinate.md +0 -582
- package/workflows/memory.md +0 -451
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-composer
|
|
3
|
+
description: Semantic workflow composer — parse natural language into DAG of skill/CLI/agent nodes, auto-inject checkpoints, persist as reusable JSON template
|
|
4
|
+
argument-hint: "\"workflow description\" [--resume] [--edit <template-path>]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
Interactive workflow template composer. Parses natural language into a reusable DAG template
|
|
17
|
+
via 5 phases with user confirmation at each boundary. Templates saved globally at
|
|
18
|
+
`~/.maestro/templates/workflows/`. Progressive disclosure — specs loaded only when phase needs them.
|
|
19
|
+
|
|
20
|
+
Three entry modes:
|
|
21
|
+
1. **New design**: Parse → [confirm] → Resolve → [confirm] → Enrich → Confirm pipeline → Persist
|
|
22
|
+
2. **Resume design**: Load in-progress draft from `.workflow/templates/design-drafts/`
|
|
23
|
+
3. **Edit template**: Load existing template, modify, re-save
|
|
24
|
+
</purpose>
|
|
25
|
+
|
|
26
|
+
<deferred_reading>
|
|
27
|
+
- [node-catalog](~/.maestro/templates/workflows/specs/node-catalog.md) — read at Phase 2 (Resolve) when mapping steps to executors
|
|
28
|
+
- [template-schema](~/.maestro/templates/workflows/specs/template-schema.md) — read at Phase 5 (Persist) when assembling final JSON
|
|
29
|
+
</deferred_reading>
|
|
30
|
+
|
|
31
|
+
<context>
|
|
32
|
+
$ARGUMENTS — natural language workflow description, or flags.
|
|
33
|
+
|
|
34
|
+
**Flags:**
|
|
35
|
+
- `--resume` — Resume in-progress design session
|
|
36
|
+
- `--edit <template-path>` — Edit an existing template
|
|
37
|
+
|
|
38
|
+
**Shared constants:**
|
|
39
|
+
|
|
40
|
+
| Constant | Value |
|
|
41
|
+
|----------|-------|
|
|
42
|
+
| Session prefix | `WFD` |
|
|
43
|
+
| Template dir (global) | `~/.maestro/templates/workflows/` |
|
|
44
|
+
| Template index (global) | `~/.maestro/templates/workflows/index.json` |
|
|
45
|
+
| Design drafts dir (local) | `.workflow/templates/design-drafts/` |
|
|
46
|
+
| Template ID format | `wft-<slug>-<YYYYMMDD>` |
|
|
47
|
+
| Node ID format | `N-<seq>` (e.g. N-001), `CP-<seq>` for checkpoints |
|
|
48
|
+
| Max nodes | 20 |
|
|
49
|
+
|
|
50
|
+
**Entry routing:**
|
|
51
|
+
|
|
52
|
+
| Detection | Condition | Handler |
|
|
53
|
+
|-----------|-----------|---------|
|
|
54
|
+
| Resume design | `--resume` flag or existing WFD session | Phase 0: Resume |
|
|
55
|
+
| Edit template | `--edit <template-path>` | Phase 0: Load + Edit |
|
|
56
|
+
| New design | Default | Phase 1: Parse |
|
|
57
|
+
</context>
|
|
58
|
+
|
|
59
|
+
<execution>
|
|
60
|
+
|
|
61
|
+
### Phase 0: Resume / Edit (conditional)
|
|
62
|
+
|
|
63
|
+
**Resume design session** (if `--resume`):
|
|
64
|
+
1. Scan `.workflow/templates/design-drafts/WFD-*/` for in-progress designs
|
|
65
|
+
2. Multiple found → AskUserQuestion for selection
|
|
66
|
+
3. Load draft → skip to last incomplete phase
|
|
67
|
+
|
|
68
|
+
**Edit existing template** (if `--edit <path>`):
|
|
69
|
+
1. Load template from `--edit` path
|
|
70
|
+
2. Show current pipeline visualization (Phase 4 format)
|
|
71
|
+
3. AskUserQuestion: which nodes to modify/add/remove
|
|
72
|
+
4. Re-enter at Phase 3 with edits applied
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### Phase 1: Parse — Semantic Intent Extraction
|
|
77
|
+
|
|
78
|
+
**Step 1.1** — Parse `$ARGUMENTS` as description. If empty, AskUserQuestion:
|
|
79
|
+
```
|
|
80
|
+
"Describe the workflow you want to automate.
|
|
81
|
+
Include: what steps to run, in what order, and what varies each time (inputs).
|
|
82
|
+
Example: 'analyze the code, then plan, implement, and test the feature'"
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**Step 1.2** — Extract sequential actions as candidate nodes using semantic understanding:
|
|
86
|
+
|
|
87
|
+
| Signal | Candidate Type |
|
|
88
|
+
|--------|---------------|
|
|
89
|
+
| "analyze", "review", "explore" | analysis (cli) |
|
|
90
|
+
| "plan", "design", "spec" | planning (skill) |
|
|
91
|
+
| "implement", "build", "code", "fix" | execution (skill) |
|
|
92
|
+
| "test", "validate", "verify" | testing (skill) |
|
|
93
|
+
| "brainstorm", "ideate" | brainstorm (skill) |
|
|
94
|
+
| "review code" | review (skill) |
|
|
95
|
+
| "then", "next", "after" | sequential edge |
|
|
96
|
+
| "parallel", "simultaneously" | parallel edge |
|
|
97
|
+
|
|
98
|
+
**Step 1.3** — Extract variables (inputs that vary per run). Detect from: direct mentions, `{var}` patterns, implicit from task type.
|
|
99
|
+
|
|
100
|
+
**Step 1.4** — Classify task type: `bugfix | feature | tdd | review | brainstorm | spec-driven | roadmap | refactor | integration-test | quick-task | custom`
|
|
101
|
+
|
|
102
|
+
**Step 1.5** — Assess complexity: `simple` (1-3 nodes), `medium` (4-7), `complex` (8+)
|
|
103
|
+
|
|
104
|
+
**Step 1.6** — Write `intent.json` to `.workflow/templates/design-drafts/WFD-<slug>-<date>/`.
|
|
105
|
+
|
|
106
|
+
**Step 1.7 — Interactive confirmation**:
|
|
107
|
+
|
|
108
|
+
Display parsed intent summary:
|
|
109
|
+
```
|
|
110
|
+
============================================================
|
|
111
|
+
COMPOSER — Intent Parsed
|
|
112
|
+
============================================================
|
|
113
|
+
Description: "<original input>"
|
|
114
|
+
Task type: <type>
|
|
115
|
+
Complexity: <level>
|
|
116
|
+
|
|
117
|
+
Detected steps:
|
|
118
|
+
1. <description> → <type_hint>
|
|
119
|
+
2. <description> → <type_hint>
|
|
120
|
+
3. <description> → <type_hint>
|
|
121
|
+
|
|
122
|
+
Variables:
|
|
123
|
+
- goal (required): <inferred description>
|
|
124
|
+
|
|
125
|
+
Draft: .workflow/templates/design-drafts/WFD-<slug>-<date>/
|
|
126
|
+
============================================================
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
AskUserQuestion:
|
|
130
|
+
```
|
|
131
|
+
options:
|
|
132
|
+
- "Looks good, continue to resolution" → Phase 2
|
|
133
|
+
- "Edit steps" → re-describe, re-parse
|
|
134
|
+
- "Add a step" → append, re-parse
|
|
135
|
+
- "Cancel" → save draft, exit
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### Phase 2: Resolve — Map Steps to Executor Nodes
|
|
141
|
+
|
|
142
|
+
**Read deferred**: `~/.maestro/templates/workflows/specs/node-catalog.md` — load node catalog for executor mapping.
|
|
143
|
+
|
|
144
|
+
If the spec file does not exist, use the built-in fallback mapping:
|
|
145
|
+
|
|
146
|
+
| type_hint | Default executor type | Default executor |
|
|
147
|
+
|-----------|----------------------|------------------|
|
|
148
|
+
| `planning` | skill | `maestro-plan` |
|
|
149
|
+
| `execution` | skill | `maestro-execute` |
|
|
150
|
+
| `testing` | skill | `quality-test` |
|
|
151
|
+
| `review` | skill | `quality-review` |
|
|
152
|
+
| `brainstorm` | skill | `maestro-brainstorm` |
|
|
153
|
+
| `analysis` | cli | `maestro delegate --to gemini --mode analysis` |
|
|
154
|
+
| `verify` | skill | `maestro-verify` |
|
|
155
|
+
| `refactor` | skill | `quality-refactor` |
|
|
156
|
+
| `debug` | skill | `quality-debug` |
|
|
157
|
+
| `spec` | skill | `maestro-spec-generate` |
|
|
158
|
+
| `checkpoint` | checkpoint | — |
|
|
159
|
+
|
|
160
|
+
**Step 2.1** — Load `intent.json`.
|
|
161
|
+
|
|
162
|
+
**Step 2.2** — Map each step to executor. Resolution: match `type_hint` → catalog → semantic fit → fallback `cli`.
|
|
163
|
+
|
|
164
|
+
**Step 2.3** — Build `args_template` with variable placeholders. Context injection:
|
|
165
|
+
- Planning after analysis → `--context {prev_output_path}`
|
|
166
|
+
- Execution after planning → `--resume-session {prev_session_id}`
|
|
167
|
+
- Testing after execution → `--session {prev_session_id}`
|
|
168
|
+
|
|
169
|
+
**Step 2.4** — Assign `parallel_group` for steps with `parallel_with` set.
|
|
170
|
+
|
|
171
|
+
**Step 2.5** — Write `nodes.json`.
|
|
172
|
+
|
|
173
|
+
**Step 2.6 — Interactive confirmation**:
|
|
174
|
+
|
|
175
|
+
Display resolved nodes:
|
|
176
|
+
```
|
|
177
|
+
============================================================
|
|
178
|
+
COMPOSER — Nodes Resolved
|
|
179
|
+
============================================================
|
|
180
|
+
N-001 [skill] maestro-plan "{goal}"
|
|
181
|
+
N-002 [skill] maestro-execute {phase}
|
|
182
|
+
N-003 [skill] quality-test {phase}
|
|
183
|
+
|
|
184
|
+
Parallel groups: none
|
|
185
|
+
============================================================
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
AskUserQuestion:
|
|
189
|
+
```
|
|
190
|
+
options:
|
|
191
|
+
- "Continue to checkpoint injection" → Phase 3
|
|
192
|
+
- "Change executor for a node" → select node, pick new executor
|
|
193
|
+
- "Change node type" → skill/cli/agent/command
|
|
194
|
+
- "Back to intent" → Phase 1
|
|
195
|
+
- "Cancel" → save draft, exit
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### Phase 3: Enrich — Inject Checkpoints + Build DAG
|
|
201
|
+
|
|
202
|
+
**Step 3.1** — Load `nodes.json`.
|
|
203
|
+
|
|
204
|
+
**Step 3.2** — Build sequential edges (N-001 → N-002 → ...). For parallel groups: fan-out/fan-in.
|
|
205
|
+
|
|
206
|
+
**Step 3.3** — Auto-inject checkpoint nodes. Inject if ANY rule triggers:
|
|
207
|
+
|
|
208
|
+
| Rule | Condition |
|
|
209
|
+
|------|-----------|
|
|
210
|
+
| Artifact boundary | Source output_ports: plan, spec, analysis, review-findings |
|
|
211
|
+
| Execution gate | Target executor contains `execute` |
|
|
212
|
+
| Agent spawn | Target type is `agent` |
|
|
213
|
+
| Long-running | Target is maestro-plan, maestro-spec-generate |
|
|
214
|
+
| User-defined | Step had `type_hint: checkpoint` |
|
|
215
|
+
| Post-testing | Source executor contains `test` or `integration-test` |
|
|
216
|
+
|
|
217
|
+
Set `auto_continue: false` for checkpoints before user-facing deliverables.
|
|
218
|
+
|
|
219
|
+
**Step 3.4** — Insert checkpoint edges (A → B becomes A → CP-X → B).
|
|
220
|
+
|
|
221
|
+
**Step 3.5** — Finalize `context_schema` from all `{variable}` references.
|
|
222
|
+
|
|
223
|
+
**Step 3.6** — Validate: no cycles, no orphans, all nodes reachable.
|
|
224
|
+
|
|
225
|
+
**Step 3.7** — Write `dag.json`.
|
|
226
|
+
|
|
227
|
+
→ Proceed directly to Phase 4 (confirm is the pipeline visualization).
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
### Phase 4: Confirm — Visualize + User Approval
|
|
232
|
+
|
|
233
|
+
**Step 4.1** — Render ASCII pipeline from `dag.json`:
|
|
234
|
+
```
|
|
235
|
+
============================================================
|
|
236
|
+
COMPOSER — Pipeline Review
|
|
237
|
+
============================================================
|
|
238
|
+
Pipeline: <template-name>
|
|
239
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
240
|
+
N-001 [skill] maestro-plan "{goal}"
|
|
241
|
+
|
|
|
242
|
+
CP-01 [checkpoint] After Plan auto-continue
|
|
243
|
+
|
|
|
244
|
+
N-002 [skill] maestro-execute {phase}
|
|
245
|
+
|
|
|
246
|
+
CP-02 [checkpoint] Before Tests pause-for-user
|
|
247
|
+
|
|
|
248
|
+
N-003 [skill] quality-test {phase}
|
|
249
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
250
|
+
Variables (required): goal
|
|
251
|
+
Checkpoints: 2 (1 auto, 1 pause)
|
|
252
|
+
Nodes: 3 work + 2 checkpoints
|
|
253
|
+
============================================================
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
For parallel groups show fan-out/fan-in:
|
|
257
|
+
```
|
|
258
|
+
N-003a [skill] quality-review ─┐
|
|
259
|
+
├─ N-004 [skill] quality-test
|
|
260
|
+
N-003b [cli] gemini analysis ─┘
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Step 4.2** — AskUserQuestion:
|
|
264
|
+
```
|
|
265
|
+
options:
|
|
266
|
+
- "Confirm & Save" → Phase 5
|
|
267
|
+
- "Edit a node" → select node ID, modify executor/args, re-render
|
|
268
|
+
- "Add a node" → insert position + description, re-resolve + re-enrich, re-render
|
|
269
|
+
- "Remove a node" → select node, re-wire edges, re-render
|
|
270
|
+
- "Rename template" → new name
|
|
271
|
+
- "Re-run checkpoint injection" → back to Phase 3.3
|
|
272
|
+
- "Cancel" → save draft, output resume command
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
**Step 4.3** — On edit: apply change, re-render, re-ask. Loop until Confirm or Cancel.
|
|
276
|
+
|
|
277
|
+
**Step 4.4** — On Confirm: freeze dag.json, proceed to Phase 5. On Cancel: save draft, output `/maestro-composer --resume`.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### Phase 5: Persist — Assemble + Save Template
|
|
282
|
+
|
|
283
|
+
**Read deferred**: `~/.maestro/templates/workflows/specs/template-schema.md` — load full JSON schema for template assembly.
|
|
284
|
+
|
|
285
|
+
If the spec file does not exist, use the built-in template structure:
|
|
286
|
+
```json
|
|
287
|
+
{
|
|
288
|
+
"template_id": "wft-<slug>-<YYYYMMDD>",
|
|
289
|
+
"name": "<name>", "description": "<desc>", "version": "1.0",
|
|
290
|
+
"created_at": "<ISO>", "source_session": "WFD-<slug>-<date>",
|
|
291
|
+
"tags": [], "context_schema": {},
|
|
292
|
+
"nodes": [], "edges": [], "checkpoints": [],
|
|
293
|
+
"execution_mode": "serial",
|
|
294
|
+
"metadata": { "node_count": 0, "checkpoint_count": 0 }
|
|
295
|
+
}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
**Step 5.1** — Load `intent.json` + `dag.json`.
|
|
299
|
+
|
|
300
|
+
**Step 5.2** — Determine template name (from Phase 4 or derive from task_type + description). Slug = kebab-case. If file exists with different content, append `-v2`, `-v3`.
|
|
301
|
+
|
|
302
|
+
**Step 5.3** — Assemble template JSON.
|
|
303
|
+
|
|
304
|
+
**Step 5.4** — Ensure `~/.maestro/templates/workflows/` exists. Write `<slug>.json`.
|
|
305
|
+
|
|
306
|
+
**Step 5.5** — Update `~/.maestro/templates/workflows/index.json`.
|
|
307
|
+
|
|
308
|
+
**Step 5.6** — Output summary:
|
|
309
|
+
```
|
|
310
|
+
============================================================
|
|
311
|
+
COMPOSER — Template Saved
|
|
312
|
+
============================================================
|
|
313
|
+
Path: ~/.maestro/templates/workflows/<slug>.json
|
|
314
|
+
ID: wft-<slug>-<date>
|
|
315
|
+
Nodes: <n> work + <n> checkpoints
|
|
316
|
+
Variables: <required vars>
|
|
317
|
+
|
|
318
|
+
To execute:
|
|
319
|
+
/maestro-player <slug> --context goal="<your goal>"
|
|
320
|
+
|
|
321
|
+
To edit later:
|
|
322
|
+
/maestro-composer --edit ~/.maestro/templates/workflows/<slug>.json
|
|
323
|
+
|
|
324
|
+
To list all templates:
|
|
325
|
+
/maestro-player --list
|
|
326
|
+
============================================================
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**Step 5.7** — Clean up design draft directory.
|
|
330
|
+
</execution>
|
|
331
|
+
|
|
332
|
+
<error_codes>
|
|
333
|
+
| Code | Severity | Description | Recovery |
|
|
334
|
+
|------|----------|-------------|----------|
|
|
335
|
+
| E001 | error | Empty description and no flags | AskUserQuestion for workflow description |
|
|
336
|
+
| E002 | error | Step extraction found 0 steps | Ask user to rephrase with action verbs |
|
|
337
|
+
| E003 | error | Node count exceeds max (20) | Suggest splitting into sub-workflows |
|
|
338
|
+
| E004 | error | DAG cycle detected | Show cycle, ask user to resolve |
|
|
339
|
+
| E005 | error | Resume session not found | Show available design drafts |
|
|
340
|
+
| E006 | error | Edit template not found | Show available templates |
|
|
341
|
+
| W001 | warning | Ambiguous step-to-executor mapping | Show candidates, let user choose |
|
|
342
|
+
| W002 | warning | No checkpoint injection rules triggered | Warn user, offer to add manually |
|
|
343
|
+
| W003 | warning | Deferred spec file not found | Use built-in fallback, continue |
|
|
344
|
+
</error_codes>
|
|
345
|
+
|
|
346
|
+
<success_criteria>
|
|
347
|
+
- [ ] Intent parsed and confirmed by user (Phase 1 interactive gate)
|
|
348
|
+
- [ ] Nodes resolved and confirmed by user (Phase 2 interactive gate)
|
|
349
|
+
- [ ] DAG built with auto-injected checkpoints
|
|
350
|
+
- [ ] Pipeline visualized and confirmed by user (Phase 4 interactive gate)
|
|
351
|
+
- [ ] Template JSON written to `~/.maestro/templates/workflows/<slug>.json`
|
|
352
|
+
- [ ] Template index updated at `~/.maestro/templates/workflows/index.json`
|
|
353
|
+
- [ ] Deferred specs loaded only when phase needs them (not upfront)
|
|
354
|
+
</success_criteria>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-execute
|
|
3
3
|
description: Execute plan with wave-based parallel execution and atomic commits
|
|
4
|
-
argument-hint: "[phase] [--auto-commit] [--method agent|cli|auto] [--executor <tool>] [--dir <path>]"
|
|
4
|
+
argument-hint: "[phase] [--auto-commit] [--method agent|codex|gemini|cli|auto] [--executor <tool>] [--dir <path>] [-y]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -30,61 +30,7 @@ Invoked after /maestro-plan produces a confirmed plan. When called without args
|
|
|
30
30
|
<context>
|
|
31
31
|
$ARGUMENTS — phase number, or no args for milestone-wide execution, with optional flags.
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
- `--auto-commit` -- Automatically commit after each task completion
|
|
35
|
-
- `--method agent|cli|auto` -- Override execution method (default: from config.json)
|
|
36
|
-
- `--executor <tool>` -- Default CLI tool: gemini|codex|qwen|opencode|claude
|
|
37
|
-
- `--dir <path>` -- Execute specific plan directory (e.g., `scratch/20260420-plan-auth`)
|
|
38
|
-
|
|
39
|
-
**Scope routing:**
|
|
40
|
-
|
|
41
|
-
| Invocation | Behavior |
|
|
42
|
-
|-----------|----------|
|
|
43
|
-
| `execute` (no args) | Find all pending plans for current milestone, execute sequentially |
|
|
44
|
-
| `execute 1` | Find pending plans for phase 1, execute sequentially |
|
|
45
|
-
| `execute --dir scratch/plan-xxx` | Execute the specific plan |
|
|
46
|
-
|
|
47
|
-
**Resolution logic (no-args / phase):**
|
|
48
|
-
```
|
|
49
|
-
1. Read state.json.artifacts
|
|
50
|
-
2. Filter: milestone=target, type=plan, status=completed, AND no corresponding EXC artifact
|
|
51
|
-
3. If phase specified: further filter by phase=target
|
|
52
|
-
4. Sort by phase dependency order (roadmap phase order), adhoc last
|
|
53
|
-
5. Execute each plan sequentially
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**Output**: Task summaries written to plan's scratch dir:
|
|
57
|
-
```
|
|
58
|
-
{YYYYMMDD}-plan-P{N}-{slug}/ # phase-scoped
|
|
59
|
-
{YYYYMMDD}-plan-M{N}-{slug}/ # milestone-wide
|
|
60
|
-
{YYYYMMDD}-plan-{slug}/ # adhoc/standalone
|
|
61
|
-
├── plan.json
|
|
62
|
-
├── .task/
|
|
63
|
-
│ ├── TASK-001.json # status updated to completed|blocked
|
|
64
|
-
│ └── TASK-002.json
|
|
65
|
-
└── .summaries/ ← execute writes here
|
|
66
|
-
├── TASK-001-summary.md
|
|
67
|
-
└── TASK-002-summary.md
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Incremental learning extraction**: After each plan completes, extract strategy adjustments / patterns / pitfalls from `.summaries/` and append to `specs/learnings.md` using `<spec-entry>` closed-tag format (category=`learning`, auto-extract keywords, date=today, source=`execute`). Mark artifact `harvested: true`.
|
|
71
|
-
|
|
72
|
-
**Artifact registration**: For each plan executed, register in `state.json.artifacts[]`:
|
|
73
|
-
```jsonc
|
|
74
|
-
{
|
|
75
|
-
"id": "EXC-{NNN}",
|
|
76
|
-
"type": "execute",
|
|
77
|
-
"milestone": "{current_milestone or null}",
|
|
78
|
-
"phase": "{phase or null}",
|
|
79
|
-
"scope": "{inherited from plan}",
|
|
80
|
-
"path": "{same as plan path}", // inherits plan directory name with scope prefix
|
|
81
|
-
"status": "completed",
|
|
82
|
-
"depends_on": "PLN-{NNN}",
|
|
83
|
-
"harvested": false,
|
|
84
|
-
"created_at": "...",
|
|
85
|
-
"completed_at": "..."
|
|
86
|
-
}
|
|
87
|
-
```
|
|
33
|
+
Scope routing, flags, resolution logic, output directory format, artifact registration schema, and incremental learning extraction are defined in workflow `execute.md`.
|
|
88
34
|
</context>
|
|
89
35
|
|
|
90
36
|
<execution>
|
|
@@ -32,62 +32,15 @@ Produces `.workflow/worktrees.json` registry in the main worktree and `.workflow
|
|
|
32
32
|
</deferred_reading>
|
|
33
33
|
|
|
34
34
|
<context>
|
|
35
|
-
$ARGUMENTS -- milestone
|
|
35
|
+
$ARGUMENTS -- milestone number and optional flags.
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
| Mode | Trigger | Behavior |
|
|
40
|
-
|------|---------|----------|
|
|
41
|
-
| Fork | `-m 2` or `2` | Create worktree for milestone 2 |
|
|
42
|
-
| Sync | `-m 2 --sync` | Sync existing milestone 2 worktree with main branch |
|
|
43
|
-
|
|
44
|
-
**Flags:**
|
|
45
|
-
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to `state.json.milestones[]`)
|
|
46
|
-
- `--base <branch>`: Override base branch for worktree creation (default: HEAD)
|
|
47
|
-
- `--sync`: Sync mode — pull main into existing worktree, re-copy shared artifacts
|
|
48
|
-
|
|
49
|
-
**Milestone resolution:** `state.json.milestones[N-1]` → `{id, name, status}`
|
|
50
|
-
|
|
51
|
-
**Worktree layout:**
|
|
52
|
-
```
|
|
53
|
-
.worktrees/m{N}-{slug}/
|
|
54
|
-
├── .workflow/
|
|
55
|
-
│ ├── worktree-scope.json (milestone scope marker)
|
|
56
|
-
│ ├── state.json (scoped — only this milestone's artifacts)
|
|
57
|
-
│ ├── project.md (read-only copy)
|
|
58
|
-
│ ├── roadmap.md (read-only copy)
|
|
59
|
-
│ ├── config.json (read-only copy)
|
|
60
|
-
│ ├── specs/ (read-only copy)
|
|
61
|
-
│ └── scratch/ (milestone's existing + new artifacts)
|
|
62
|
-
│ ├── analyze-auth-2026-04-20/
|
|
63
|
-
│ ├── plan-auth-2026-04-20/
|
|
64
|
-
│ └── ...
|
|
65
|
-
└── <source code> (git worktree checkout)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
**Artifact scoping:**
|
|
69
|
-
Fork copies scratch artifacts that belong to the target milestone (filtered from `state.json.artifacts[]` where `milestone == target`). New work in the worktree creates scratch artifacts normally; they are registered in the worktree's local `state.json`.
|
|
37
|
+
Modes (`Fork` / `Sync`), flags (`-m`, `--base`, `--sync`), milestone resolution, worktree layout, and artifact scoping are defined in workflow `fork.md`.
|
|
70
38
|
</context>
|
|
71
39
|
|
|
72
40
|
<execution>
|
|
73
41
|
Follow '~/.maestro/workflows/fork.md' completely.
|
|
74
42
|
|
|
75
|
-
|
|
76
|
-
1. Validate: project initialized, roadmap exists, not inside worktree, milestone not already forked
|
|
77
|
-
2. Resolve milestone: `state.json.milestones[N-1]`
|
|
78
|
-
3. Create git worktree: `git worktree add -b milestone/{slug} .worktrees/m{N}-{slug} HEAD`
|
|
79
|
-
4. Copy `.workflow/` into worktree:
|
|
80
|
-
- Shared files (read-only): `project.md`, `roadmap.md`, `config.json`, `specs/`
|
|
81
|
-
- Milestone scratch artifacts: filter `state.json.artifacts[]` by `milestone == target`, copy each `scratch/{path}`
|
|
82
|
-
5. Write scope marker: `worktree-scope.json` with milestone number and main path
|
|
83
|
-
6. Write scoped `state.json`: only this milestone's artifacts, `current_milestone` set
|
|
84
|
-
7. Update main: `worktrees.json` registry, mark milestone as `"forked"` in `state.json.milestones[]`
|
|
85
|
-
|
|
86
|
-
**Sync flow:**
|
|
87
|
-
1. Find worktree from `worktrees.json`
|
|
88
|
-
2. `cd worktree && git merge main`
|
|
89
|
-
3. Re-copy shared files: `project.md`, `roadmap.md`, `config.json`, `specs/`
|
|
90
|
-
4. Report conflicts if any
|
|
43
|
+
Fork and sync algorithm steps are defined in workflow `fork.md`.
|
|
91
44
|
|
|
92
45
|
**Next-step routing on completion:**
|
|
93
46
|
|
|
@@ -23,33 +23,9 @@ Includes registry health check, pre-merge rebase (pull main into worktree to min
|
|
|
23
23
|
</required_reading>
|
|
24
24
|
|
|
25
25
|
<context>
|
|
26
|
-
$ARGUMENTS -- milestone
|
|
26
|
+
$ARGUMENTS -- milestone number and optional flags.
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
- `-m <N>` or bare `<N>`: Milestone number (1-based, maps to registry)
|
|
30
|
-
- `--force`: Merge even if milestone has incomplete artifacts
|
|
31
|
-
- `--dry-run`: Show what would be merged without executing
|
|
32
|
-
- `--no-cleanup`: Keep worktree and branch after merge (for inspection)
|
|
33
|
-
- `--continue`: Resume a merge that was paused due to git conflict
|
|
34
|
-
|
|
35
|
-
**Merge sequence:**
|
|
36
|
-
1. Registry health check (remove stale worktree entries)
|
|
37
|
-
2. Validate milestone artifact completeness (all EXC artifacts completed)
|
|
38
|
-
3. Pre-merge rebase (`git merge main` in worktree)
|
|
39
|
-
4. Phase 1: Git merge (source code only)
|
|
40
|
-
5. Phase 2: Scratch artifact sync (only after git merge succeeds)
|
|
41
|
-
6. Atomic artifact registry reconciliation
|
|
42
|
-
7. Cleanup (worktree remove + branch delete)
|
|
43
|
-
|
|
44
|
-
**Phase 2 — Artifact sync detail:**
|
|
45
|
-
- Copy worktree `scratch/*` dirs back to main `.workflow/scratch/`
|
|
46
|
-
- Merge worktree `state.json.artifacts[]` entries into main `state.json.artifacts[]`
|
|
47
|
-
- Dedup by artifact id; worktree version wins for same id
|
|
48
|
-
- Update milestone status in main `state.json.milestones[]` (remove "forked" flag)
|
|
49
|
-
- Mark `harvested` status from worktree artifacts
|
|
50
|
-
|
|
51
|
-
**Conflict handling:**
|
|
52
|
-
If git merge fails, the command saves state to `.workflow/.merge-state.json` and exits. User resolves conflicts, then runs `maestro-merge --continue` to resume artifact sync.
|
|
28
|
+
Flags (`-m`, `--force`, `--dry-run`, `--no-cleanup`, `--continue`), merge sequence, artifact sync detail, and conflict handling are defined in workflow `merge.md`.
|
|
53
29
|
</context>
|
|
54
30
|
|
|
55
31
|
<execution>
|
|
@@ -41,11 +41,7 @@ Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json
|
|
|
41
41
|
<execution>
|
|
42
42
|
Follow '~/.maestro/workflows/milestone-audit.md' completely.
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
1. Phase coverage: each phase in roadmap has analyze → plan → execute chain
|
|
46
|
-
2. Ad-hoc completeness: all adhoc artifacts completed or skipped
|
|
47
|
-
3. Execution completeness: all tasks in executed plans completed
|
|
48
|
-
4. Cross-artifact integration: interface compatibility, data contracts, config consistency
|
|
44
|
+
Audit checklist steps (phase coverage, ad-hoc completeness, execution completeness, cross-artifact integration) are defined in workflow `milestone-audit.md`.
|
|
49
45
|
|
|
50
46
|
**Next-step routing on completion:**
|
|
51
47
|
- Verdict PASS → `/maestro-milestone-complete {milestone}`
|
|
@@ -34,13 +34,7 @@ Milestone: $ARGUMENTS (optional -- defaults to current_milestone from state.json
|
|
|
34
34
|
<execution>
|
|
35
35
|
Follow '~/.maestro/workflows/milestone-complete.md' completely.
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
1. Validate audit passed + all artifacts completed
|
|
39
|
-
2. Move scratch dirs to `milestones/{M}/artifacts/`
|
|
40
|
-
3. Move artifact entries to `milestone_history[M].archived_artifacts`
|
|
41
|
-
4. Extract learnings from summaries → `specs/learnings.md`
|
|
42
|
-
5. Update state.json: advance to next milestone, clear artifacts[]
|
|
43
|
-
6. Clean scratch dirs
|
|
37
|
+
Archive flow steps (validation, directory archival, artifact history, learning extraction, state advancement, cleanup) are defined in workflow `milestone-complete.md`.
|
|
44
38
|
|
|
45
39
|
### Knowledge Promotion Inquiry
|
|
46
40
|
|