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
package/workflows/wiki-manage.md
CHANGED
|
@@ -28,7 +28,7 @@ Complements `wiki-connect.md` (link discovery) and `wiki-digest.md` (synthesis)
|
|
|
28
28
|
|
|
29
29
|
| Flag | Effect |
|
|
30
30
|
|------|--------|
|
|
31
|
-
| `--type <type>` | Filter: spec,
|
|
31
|
+
| `--type <type>` | Filter: spec, knowhow, note, lesson, issue |
|
|
32
32
|
| `--fix` | Auto-fix issues during cleanup |
|
|
33
33
|
| `--json` | JSON output |
|
|
34
34
|
|
|
@@ -38,32 +38,11 @@ Complements `wiki-connect.md` (link discovery) and `wiki-digest.md` (synthesis)
|
|
|
38
38
|
|
|
39
39
|
### Step 1: Gather Data
|
|
40
40
|
|
|
41
|
-
Run in parallel:
|
|
42
|
-
```bash
|
|
43
|
-
maestro wiki health
|
|
44
|
-
maestro wiki list --json
|
|
45
|
-
maestro wiki orphans
|
|
46
|
-
maestro wiki hubs --top 5
|
|
47
|
-
```
|
|
41
|
+
Run in parallel: `maestro wiki health`, `list --json`, `orphans`, `hubs --top 5`.
|
|
48
42
|
|
|
49
43
|
### Step 2: Render Dashboard
|
|
50
44
|
|
|
51
|
-
|
|
52
|
-
== Wiki Health Dashboard ==
|
|
53
|
-
Score: {score}/100
|
|
54
|
-
Entries: {total} ({spec} spec, {memory} memory, {note} note, {lesson} lesson, {issue} issue)
|
|
55
|
-
Broken: {broken_count} broken links
|
|
56
|
-
Orphans: {orphan_count} entries with no connections
|
|
57
|
-
Top Hubs: {hub1} ({degree}), {hub2} ({degree}), ...
|
|
58
|
-
|
|
59
|
-
{score < 50 ? "⚠ Graph needs attention" : score < 75 ? "Graph is fair" : "Graph is healthy"}
|
|
60
|
-
|
|
61
|
-
Quick actions:
|
|
62
|
-
Fix connections: /wiki-connect --fix
|
|
63
|
-
Generate digest: /wiki-digest
|
|
64
|
-
Cleanup orphans: /manage-wiki cleanup --fix
|
|
65
|
-
View full graph: maestro wiki graph
|
|
66
|
-
```
|
|
45
|
+
Display: health score, entry counts by type, broken links, orphan count, top hubs. Include health status message and quick-action commands (`/wiki-connect --fix`, `/wiki-digest`, `/manage-wiki cleanup --fix`, `maestro wiki graph`).
|
|
67
46
|
|
|
68
47
|
---
|
|
69
48
|
|
|
@@ -77,20 +56,7 @@ maestro wiki search "<query>" --json
|
|
|
77
56
|
|
|
78
57
|
### Step 2: Display Results
|
|
79
58
|
|
|
80
|
-
|
|
81
|
-
== Wiki Search: "{query}" ({count} results) ==
|
|
82
|
-
|
|
83
|
-
# ID Type Title Tags
|
|
84
|
-
1 spec-auth-001 spec JWT token rotation auth, security, jwt
|
|
85
|
-
2 memory-auth-flow memory Auth module implementation auth, session
|
|
86
|
-
3 note-auth-review note Auth code review findings auth, review
|
|
87
|
-
|
|
88
|
-
Actions:
|
|
89
|
-
View: maestro wiki get <id>
|
|
90
|
-
Links: maestro wiki backlinks <id>
|
|
91
|
-
Follow: /learn-follow <id>
|
|
92
|
-
Connect: /wiki-connect --scope <type>
|
|
93
|
-
```
|
|
59
|
+
Show table of results (ID, type, title, tags) with action hints: `maestro wiki get <id>`, `backlinks <id>`, `/learn-follow <id>`, `/wiki-connect --scope <type>`.
|
|
94
60
|
|
|
95
61
|
### Step 3: Interactive Follow-up
|
|
96
62
|
|
|
@@ -102,12 +68,7 @@ If not `--json`: offer to view an entry by number selection.
|
|
|
102
68
|
|
|
103
69
|
### Step 1: Scan Issues
|
|
104
70
|
|
|
105
|
-
Gather
|
|
106
|
-
```bash
|
|
107
|
-
maestro wiki health # baseline
|
|
108
|
-
maestro wiki orphans --json # orphaned entries
|
|
109
|
-
maestro wiki graph # broken links from graph structure
|
|
110
|
-
```
|
|
71
|
+
Gather baseline via `maestro wiki health`, `orphans --json`, `graph`.
|
|
111
72
|
|
|
112
73
|
### Step 2: Categorize Issues
|
|
113
74
|
|
|
@@ -120,33 +81,13 @@ maestro wiki graph # broken links from graph structure
|
|
|
120
81
|
|
|
121
82
|
### Step 3: Display Issues
|
|
122
83
|
|
|
123
|
-
|
|
124
|
-
== Wiki Cleanup Scan ==
|
|
125
|
-
Baseline health: {score}/100
|
|
126
|
-
|
|
127
|
-
Issues found:
|
|
128
|
-
Broken links: {count}
|
|
129
|
-
Orphans: {count}
|
|
130
|
-
Stale drafts: {count}
|
|
131
|
-
Empty bodies: {count}
|
|
132
|
-
|
|
133
|
-
{list of issues with entry IDs and descriptions}
|
|
134
|
-
```
|
|
84
|
+
Show baseline health, issue counts by type, and entry-level details.
|
|
135
85
|
|
|
136
86
|
### Step 4: Apply Fixes (--fix only)
|
|
137
87
|
|
|
138
|
-
|
|
139
|
-
1. Broken links: `maestro wiki update <id> --frontmatter '{"related": [filtered_list]}'`
|
|
140
|
-
2. Orphans: run mini wiki-connect for each orphan (BM25 search + tag match)
|
|
141
|
-
3. Stale/empty: flag but don't auto-delete (too destructive)
|
|
88
|
+
Broken links: remove from frontmatter via `maestro wiki update`. Orphans: mini wiki-connect (BM25 + tag match). Stale/empty: flag only (no auto-delete).
|
|
142
89
|
|
|
143
|
-
Report delta
|
|
144
|
-
```
|
|
145
|
-
== Cleanup Complete ==
|
|
146
|
-
Fixed: {fixed_count} issues
|
|
147
|
-
Remaining: {remaining_count} (manual review needed)
|
|
148
|
-
Health: {old_score} → {new_score} ({delta})
|
|
149
|
-
```
|
|
90
|
+
Report: fixed count, remaining count, health delta.
|
|
150
91
|
|
|
151
92
|
---
|
|
152
93
|
|
|
@@ -158,47 +99,9 @@ Health: {old_score} → {new_score} ({delta})
|
|
|
158
99
|
maestro wiki list --json
|
|
159
100
|
```
|
|
160
101
|
|
|
161
|
-
### Step 2: Compute Statistics
|
|
162
|
-
|
|
163
|
-
- **Type distribution**: count per type (spec, memory, note, lesson, issue)
|
|
164
|
-
- **Tag frequency**: top 20 most-used tags
|
|
165
|
-
- **Category distribution**: entries per category (for specs)
|
|
166
|
-
- **Connectivity**: average in-degree, average out-degree, max hub size
|
|
167
|
-
- **Growth**: entries created per week (from timestamps)
|
|
102
|
+
### Step 2: Compute & Display Statistics
|
|
168
103
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
== Wiki Statistics ==
|
|
173
|
-
|
|
174
|
-
Type Distribution:
|
|
175
|
-
spec ████████████████ 32 (40%)
|
|
176
|
-
memory ████████ 16 (20%)
|
|
177
|
-
note ██████████ 20 (25%)
|
|
178
|
-
lesson ████ 8 (10%)
|
|
179
|
-
issue ██ 4 (5%)
|
|
180
|
-
Total: 80
|
|
181
|
-
|
|
182
|
-
Top Tags:
|
|
183
|
-
auth (12), performance (8), error-handling (7), testing (6), ...
|
|
184
|
-
|
|
185
|
-
Connectivity:
|
|
186
|
-
Avg in-degree: 2.3
|
|
187
|
-
Avg out-degree: 1.8
|
|
188
|
-
Hub: spec-auth (in=12)
|
|
189
|
-
|
|
190
|
-
Growth (last 4 weeks):
|
|
191
|
-
Week 1: +5 | Week 2: +8 | Week 3: +3 | Week 4: +12
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
---
|
|
104
|
+
Compute: type distribution (count/%), top 20 tags, category distribution (specs), connectivity (avg in/out-degree, max hub), growth (entries/week).
|
|
195
105
|
|
|
196
|
-
|
|
106
|
+
Display as bar charts and summary tables.
|
|
197
107
|
|
|
198
|
-
| Code | Severity | Condition | Recovery |
|
|
199
|
-
|------|----------|-----------|----------|
|
|
200
|
-
| E001 | fatal | `.workflow/` not initialized | Run `/maestro-init` |
|
|
201
|
-
| E002 | fatal | No wiki entries found | Create wiki content first |
|
|
202
|
-
| E003 | error | Invalid subcommand | Valid: health, search, cleanup, stats |
|
|
203
|
-
| W001 | warning | Health score below 50 | Run `/wiki-connect --fix` |
|
|
204
|
-
| W002 | warning | Cleanup had partial failures | Retry manually |
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-coordinate
|
|
3
|
-
description: CLI-based coordinator - analyze intent → select command chain → execute sequentially via maestro delegate with auto-confirm
|
|
4
|
-
argument-hint: "\"intent text\" [-y] [-c] [--dry-run] [--chain <name>]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Orchestrate maestro commands via external CLI (`maestro delegate`) with async state machine.
|
|
17
|
-
Classifies intent, reads project state, selects command chain, then executes each step
|
|
18
|
-
through `maestro delegate --to <tool> --mode write` with a universal prompt template.
|
|
19
|
-
Auto-confirm injection ensures non-blocking background execution. Structured return
|
|
20
|
-
format enables context propagation between steps.
|
|
21
|
-
</purpose>
|
|
22
|
-
|
|
23
|
-
<required_reading>
|
|
24
|
-
@~/.maestro/workflows/maestro-coordinate.md
|
|
25
|
-
</required_reading>
|
|
26
|
-
|
|
27
|
-
<deferred_reading>
|
|
28
|
-
- [coordinate template](~/.maestro/templates/cli/prompts/coordinate-step.txt) — read when filling step prompts
|
|
29
|
-
</deferred_reading>
|
|
30
|
-
|
|
31
|
-
<context>
|
|
32
|
-
$ARGUMENTS — user intent text, or special keywords (`continue`/`next`/`status`).
|
|
33
|
-
|
|
34
|
-
**Flags:**
|
|
35
|
-
- `-y` / `--yes` — Auto mode: skip clarification and confirmation
|
|
36
|
-
- `-c` / `--continue` — Resume previous session
|
|
37
|
-
- `--dry-run` — Show planned chain without executing
|
|
38
|
-
- `--chain <name>` — Force a specific chain
|
|
39
|
-
</context>
|
|
40
|
-
|
|
41
|
-
<execution>
|
|
42
|
-
Follow '~/.maestro/workflows/maestro-coordinate.md' completely.
|
|
43
|
-
</execution>
|
|
44
|
-
|
|
45
|
-
<error_codes>
|
|
46
|
-
| Code | Severity | Description | Recovery |
|
|
47
|
-
|------|----------|-------------|----------|
|
|
48
|
-
| E001 | error | No intent and project not initialized | Suggest maestro-init |
|
|
49
|
-
| E002 | error | Clarity too low after 2 rounds | Ask to rephrase |
|
|
50
|
-
| E003 | error | Step failed + abort | Suggest resume with -c |
|
|
51
|
-
| E004 | error | Resume session not found | Show available sessions |
|
|
52
|
-
</error_codes>
|
|
53
|
-
|
|
54
|
-
<success_criteria>
|
|
55
|
-
- [ ] Intent classified and chain selected via detectTaskType + chainMap
|
|
56
|
-
- [ ] Each step executed via `maestro delegate` with coordinate-step template
|
|
57
|
-
- [ ] Auto-confirm injected, structured return parsed
|
|
58
|
-
- [ ] Each completed step analyzed via `maestro delegate --to gemini --mode analysis`
|
|
59
|
-
- [ ] Analysis hints injected into next step prompt via `{{ANALYSIS_HINTS}}`
|
|
60
|
-
- [ ] Gemini sessions chained via `--resume` for accumulated context
|
|
61
|
-
- [ ] Session state at .workflow/.maestro-coordinate/{session_id}/
|
|
62
|
-
- [ ] Completion report with per-step status and quality scores
|
|
63
|
-
</success_criteria>
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-memory-capture
|
|
3
|
-
description: Capture session memory (compact mode) into .workflow/memory/ with JSON index
|
|
4
|
-
argument-hint: "[compact] [description]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Capture session working memory into `.workflow/memory/` for cross-session recovery. Compact mode only: full session compression for recovery. Entries are created via `maestro wiki create --type memory` and automatically indexed in `.workflow/wiki-index.json`. Invoked when saving session state before context loss.
|
|
16
|
-
|
|
17
|
-
**Note:** Quick tips/notes have been moved to `manage-learn tip <text>`. Use that command for atomic knowledge capture.
|
|
18
|
-
</purpose>
|
|
19
|
-
|
|
20
|
-
<required_reading>
|
|
21
|
-
@~/.maestro/workflows/memory.md
|
|
22
|
-
</required_reading>
|
|
23
|
-
|
|
24
|
-
<context>
|
|
25
|
-
Arguments: $ARGUMENTS
|
|
26
|
-
|
|
27
|
-
**Mode:**
|
|
28
|
-
- `compact` — Full session memory compression (files, decisions, plan state, pending work)
|
|
29
|
-
- No arguments — Defaults to compact mode
|
|
30
|
-
|
|
31
|
-
**Storage:**
|
|
32
|
-
- `.workflow/memory/` — Memory entries directory (via `maestro wiki create --type memory`)
|
|
33
|
-
- `.workflow/wiki-index.json` — Unified wiki index (auto-updated on create)
|
|
34
|
-
</context>
|
|
35
|
-
|
|
36
|
-
<execution>
|
|
37
|
-
Follow '~/.maestro/workflows/memory.md' Part B (Memory Capture) completely.
|
|
38
|
-
</execution>
|
|
39
|
-
|
|
40
|
-
<error_codes>
|
|
41
|
-
| Code | Severity | Description | Stage |
|
|
42
|
-
|------|----------|-------------|-------|
|
|
43
|
-
| E001 | error | `.workflow/` not initialized — run `/maestro-init` first | parse_input |
|
|
44
|
-
| E002 | error | Tip mode removed — use `/manage-learn tip <text>` instead | parse_input |
|
|
45
|
-
| W001 | warning | No active workflow session found — compact will capture conversation only | analyze_session |
|
|
46
|
-
| W002 | warning | Plan detection found no explicit plan — using inferred plan | analyze_session |
|
|
47
|
-
</error_codes>
|
|
48
|
-
|
|
49
|
-
<success_criteria>
|
|
50
|
-
- [ ] Compact mode executed
|
|
51
|
-
- [ ] Entry markdown file written to `.workflow/memory/`
|
|
52
|
-
- [ ] `wiki-index.json` auto-updated via wiki create
|
|
53
|
-
- [ ] All session fields populated (objective, files, decisions, plan)
|
|
54
|
-
- [ ] Execution plan preserved VERBATIM (not summarized)
|
|
55
|
-
- [ ] All file paths are ABSOLUTE
|
|
56
|
-
- [ ] Confirmation banner displayed with entry ID
|
|
57
|
-
- [ ] Next step: `/manage-status` to resume workflow, or `/manage-memory view <entry_id>` to verify captured memory
|
|
58
|
-
- [ ] For tips: redirect user to `/manage-learn tip <text>`
|
|
59
|
-
</success_criteria>
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-coordinate
|
|
3
|
-
description: CLI-based coordinator — analyze intent → select command chain → execute sequentially via maestro delegate with auto-confirm. Async state machine with template-driven prompts and gemini analysis between steps.
|
|
4
|
-
argument-hint: "\"intent text\" [-y] [-c] [--dry-run] [--chain <name>]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<purpose>
|
|
9
|
-
Sequential CLI-delegate coordinator. Each chain step executes via `maestro delegate "prompt" --to <tool> --mode write`
|
|
10
|
-
with a template-driven prompt. After each step, gemini analysis evaluates output quality and generates
|
|
11
|
-
optimization hints for subsequent steps. All execution is background-async with hook callbacks.
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Intent → Resolve Chain → Step 1 → Analysis → Step 2 → Analysis → … → Report
|
|
15
|
-
(chainMap) delegate gemini delegate gemini
|
|
16
|
-
callback callback callback callback
|
|
17
|
-
```
|
|
18
|
-
</purpose>
|
|
19
|
-
|
|
20
|
-
<required_reading>
|
|
21
|
-
@~/.maestro/workflows/maestro-coordinate.codex.md — authoritative `detectTaskType`, `detectNextAction`, `chainMap` (35+ intent patterns, 40+ chain types). Read before executing any step.
|
|
22
|
-
</required_reading>
|
|
23
|
-
|
|
24
|
-
<deferred_reading>
|
|
25
|
-
- [coordinate template](~/.maestro/templates/cli/prompts/coordinate-step.txt) — read when filling step prompts
|
|
26
|
-
</deferred_reading>
|
|
27
|
-
|
|
28
|
-
<context>
|
|
29
|
-
$ARGUMENTS — user intent text, or special flags.
|
|
30
|
-
|
|
31
|
-
**Flags:**
|
|
32
|
-
- `-y, --yes` — Auto mode: skip all prompts, inject auto-confirm into delegates
|
|
33
|
-
- `-c, --continue` — Resume previous session from last incomplete step
|
|
34
|
-
- `--dry-run` — Show planned chain without executing
|
|
35
|
-
- `--chain <name>` — Force specific chain (skips intent classification)
|
|
36
|
-
|
|
37
|
-
**Session state**: `.workflow/.maestro-coordinate/{session-id}/state.json`
|
|
38
|
-
</context>
|
|
39
|
-
|
|
40
|
-
<invariants>
|
|
41
|
-
1. **STOP after each delegate call**: Background execution via `run_in_background: true`, wait for hook callback.
|
|
42
|
-
2. **State machine**: Advance via `current_step`, no sync loops for async operations.
|
|
43
|
-
3. **Template-driven**: All steps use `coordinate-step.txt`, no per-command prompt assembly.
|
|
44
|
-
4. **Context propagation**: Parse PHASE / spec session ID / scratch_dir / issue_id from each step output, feed to next step.
|
|
45
|
-
5. **Gemini analysis after each step**: Evaluate output quality, generate hints for next step, chain via `--resume`.
|
|
46
|
-
6. **Auto-confirm injection**: `{{AUTO_DIRECTIVE}}` in template prevents blocking during background execution.
|
|
47
|
-
7. **Resumable**: `-c` reads `state.json`, jumps to first pending step.
|
|
48
|
-
8. **Delegate tool**: `maestro delegate --to codex` for all execution steps; `--to gemini` only for post-step analysis.</invariants>
|
|
49
|
-
|
|
50
|
-
<execution>
|
|
51
|
-
|
|
52
|
-
### Step 1: Parse Arguments
|
|
53
|
-
|
|
54
|
-
```javascript
|
|
55
|
-
const args = $ARGUMENTS.trim();
|
|
56
|
-
const AUTO_YES = /\b(-y|--yes)\b/.test(args);
|
|
57
|
-
const RESUME = /\b(-c|--continue)\b/.test(args);
|
|
58
|
-
const DRY_RUN = /\b--dry-run\b/.test(args);
|
|
59
|
-
const forcedChain = args.match(/--chain\s+(\S+)/)?.[1] || null;
|
|
60
|
-
const intent = args
|
|
61
|
-
.replace(/\b(-y|--yes|-c|--continue|--dry-run)\b/g, '')
|
|
62
|
-
.replace(/--chain\s+\S+/g, '')
|
|
63
|
-
.trim();
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
**If RESUME**: Find latest `state.json` in `.workflow/.maestro-coordinate/`, load → jump to Step 6.
|
|
67
|
-
|
|
68
|
-
### Step 2–4: Classify Intent → Confirm
|
|
69
|
-
|
|
70
|
-
1. Read `.workflow/state.json` + `.workflow/roadmap.md` + current phase
|
|
71
|
-
2. If `--chain` given → use directly; else classify via `detectTaskType` + `chainMap`
|
|
72
|
-
3. If clarity < 2 and not AUTO_YES → clarify via AskUserQuestion (max 2 rounds)
|
|
73
|
-
4. **`--dry-run`**: Display chain and exit
|
|
74
|
-
5. **User confirmation** (skip if AUTO_YES): Execute / Execute from step N / Cancel
|
|
75
|
-
|
|
76
|
-
### Step 5: Setup Session
|
|
77
|
-
|
|
78
|
-
```javascript
|
|
79
|
-
const sessionId = `coord-${new Date().toISOString().replace(/[-:T]/g, '').slice(0, 15)}`;
|
|
80
|
-
const sessionDir = `.workflow/.maestro-coordinate/${sessionId}`;
|
|
81
|
-
|
|
82
|
-
const state = {
|
|
83
|
-
session_id: sessionId, status: 'running',
|
|
84
|
-
created_at: new Date().toISOString(),
|
|
85
|
-
intent, task_type: taskType, chain_name: chainName,
|
|
86
|
-
auto_mode: AUTO_YES, phase: resolvedPhase,
|
|
87
|
-
current_step: 0, gemini_session_id: null, step_analyses: [],
|
|
88
|
-
steps: chain.map((s, i) => ({
|
|
89
|
-
index: i, cmd: s.cmd, args: s.args || '',
|
|
90
|
-
status: 'pending', exec_id: null, analysis: null
|
|
91
|
-
}))
|
|
92
|
-
};
|
|
93
|
-
Write(`${sessionDir}/state.json`, JSON.stringify(state, null, 2));
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
### Step 6: Execute Step via maestro delegate
|
|
97
|
-
|
|
98
|
-
#### 6a: Assemble args
|
|
99
|
-
|
|
100
|
-
```javascript
|
|
101
|
-
const AUTO_FLAG_MAP = {
|
|
102
|
-
'maestro-analyze': '-y', 'maestro-brainstorm': '-y', 'maestro-ui-design': '-y',
|
|
103
|
-
'maestro-plan': '--auto', 'maestro-spec-generate': '-y', 'quality-test': '--auto-fix',
|
|
104
|
-
'quality-retrospective': '--auto-yes',
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
function assembleArgs(step) {
|
|
108
|
-
let a = (step.args || '')
|
|
109
|
-
.replace(/\{phase\}/g, context.phase || '')
|
|
110
|
-
.replace(/\{description\}/g, context.user_intent || '')
|
|
111
|
-
.replace(/\{issue_id\}/g, context.issue_id || '')
|
|
112
|
-
.replace(/\{spec_session_id\}/g, context.spec_session_id || '')
|
|
113
|
-
.replace(/\{scratch_dir\}/g, context.scratch_dir || '');
|
|
114
|
-
if (state.auto_mode) {
|
|
115
|
-
const flag = AUTO_FLAG_MAP[step.cmd];
|
|
116
|
-
if (flag && !a.includes(flag)) a = a ? `${a} ${flag}` : flag;
|
|
117
|
-
}
|
|
118
|
-
return a.trim();
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
#### 6b: Build prompt from template + launch
|
|
123
|
-
|
|
124
|
-
Read `~/.maestro/templates/cli/prompts/coordinate-step.txt`, fill placeholders.
|
|
125
|
-
If previous step has analysis hints, inject as `{{ANALYSIS_HINTS}}`.
|
|
126
|
-
|
|
127
|
-
```javascript
|
|
128
|
-
const prompt = template
|
|
129
|
-
.replace('{{COMMAND}}', `/${step.cmd}`)
|
|
130
|
-
.replace('{{ARGS}}', assembledArgs)
|
|
131
|
-
.replace('{{STEP_N}}', `${state.current_step + 1}/${state.steps.length}`)
|
|
132
|
-
.replace('{{AUTO_DIRECTIVE}}', state.auto_mode ? 'Auto-confirm all prompts. No interactive questions.' : '')
|
|
133
|
-
.replace('{{CHAIN_NAME}}', state.chain_name)
|
|
134
|
-
.replace('{{ANALYSIS_HINTS}}', analysisHints);
|
|
135
|
-
|
|
136
|
-
Bash({
|
|
137
|
-
command: `maestro delegate ${escapeForShell(prompt)} --to codex --mode write`,
|
|
138
|
-
run_in_background: true, timeout: 600000
|
|
139
|
-
});
|
|
140
|
-
// ■ STOP — wait for hook callback
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
### Step 7: Post-Step Callback
|
|
144
|
-
|
|
145
|
-
```javascript
|
|
146
|
-
// Context propagation from output
|
|
147
|
-
const phaseMatch = output.match(/PHASE:\s*(\d+)/m);
|
|
148
|
-
if (phaseMatch) context.phase = phaseMatch[1]; // derived from output, not stored in state
|
|
149
|
-
const specMatch = output.match(/SPEC-[\w-]+/);
|
|
150
|
-
if (specMatch) context.spec_session_id = specMatch[0];
|
|
151
|
-
const scratchMatch = output.match(/scratch_dir:\s*(.+)/m);
|
|
152
|
-
if (scratchMatch) context.scratch_dir = scratchMatch[1].trim();
|
|
153
|
-
|
|
154
|
-
// Success/failure
|
|
155
|
-
const failed = /^STATUS:\s*FAILURE/m.test(output);
|
|
156
|
-
if (!failed) { step.status = 'completed'; }
|
|
157
|
-
else if (state.auto_mode && !step.retried) { step.retried = true; /* re-execute Step 6 */ return; }
|
|
158
|
-
else { step.status = 'skipped'; /* or AskUserQuestion: Retry / Skip / Abort */ }
|
|
159
|
-
|
|
160
|
-
Write(`${sessionDir}/step-${stepIdx + 1}-output.txt`, output);
|
|
161
|
-
// → Step 7b (gemini analysis) if completed + multi-step chain
|
|
162
|
-
// → else advance current_step, loop to Step 6 or Step 8
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
### Step 7b: Analyze Step Output (via gemini)
|
|
166
|
-
|
|
167
|
-
```javascript
|
|
168
|
-
let delegateCmd = `maestro delegate ${escapeForShell(analysisPrompt)} --to gemini --mode analysis --rule analysis-review-code-quality`;
|
|
169
|
-
if (state.gemini_session_id) delegateCmd += ` --resume ${state.gemini_session_id}`;
|
|
170
|
-
Bash({ command: delegateCmd, run_in_background: true, timeout: 300000 });
|
|
171
|
-
// ■ STOP — wait for hook callback
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
Post-analyze: store quality_score + issues + next_step_hints in `state.step_analyses[]`, chain gemini sessions via `--resume`.
|
|
175
|
-
|
|
176
|
-
### Step 8: Completion Report
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
============================================================
|
|
180
|
-
MAESTRO-COORDINATE COMPLETE
|
|
181
|
-
============================================================
|
|
182
|
-
Session: {session_id}
|
|
183
|
-
Chain: {chain_name} ({done}/{total})
|
|
184
|
-
|
|
185
|
-
Steps:
|
|
186
|
-
[✓] 1. maestro-plan — completed (quality: 85/100)
|
|
187
|
-
[✓] 2. maestro-execute — completed (quality: 78/100)
|
|
188
|
-
|
|
189
|
-
Avg Quality: {avg_score}/100
|
|
190
|
-
Next: $maestro-coordinate --continue
|
|
191
|
-
============================================================
|
|
192
|
-
```
|
|
193
|
-
</execution>
|
|
194
|
-
|
|
195
|
-
<error_codes>
|
|
196
|
-
| Code | Severity | Description | Recovery |
|
|
197
|
-
|------|----------|-------------|----------|
|
|
198
|
-
| E001 | error | No intent and project not initialized | Suggest $maestro-init |
|
|
199
|
-
| E002 | error | Clarity too low after 2 rounds | Ask to rephrase |
|
|
200
|
-
| E003 | error | Step failed + abort | Suggest resume with -c |
|
|
201
|
-
| E004 | error | Resume session not found | Show available sessions |
|
|
202
|
-
</error_codes>
|
|
203
|
-
|
|
204
|
-
<success_criteria>
|
|
205
|
-
- [ ] Intent classified and chain selected via detectTaskType + chainMap
|
|
206
|
-
- [ ] Each step executed via `maestro delegate` with coordinate-step template
|
|
207
|
-
- [ ] Auto-confirm injected, structured return parsed
|
|
208
|
-
- [ ] Each completed step analyzed via `maestro delegate --to gemini --mode analysis`
|
|
209
|
-
- [ ] Analysis hints injected into next step prompt via `{{ANALYSIS_HINTS}}`
|
|
210
|
-
- [ ] Gemini sessions chained via `--resume` for accumulated context
|
|
211
|
-
- [ ] Session state at .workflow/.maestro-coordinate/{session_id}/
|
|
212
|
-
- [ ] Completion report with per-step status and quality scores
|
|
213
|
-
</success_criteria>
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: manage-memory-capture
|
|
3
|
-
description: Capture session memory (compact or tip) into .workflow/memory/ with JSON index
|
|
4
|
-
argument-hint: "[compact|tip] [description] [--tag tag1,tag2]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<purpose>
|
|
9
|
-
Capture session memory into `.workflow/memory/` with JSON index. Two modes: `compact` (full session compression) or `tip` (quick note with tags). Auto-detects mode or asks user when ambiguous.
|
|
10
|
-
</purpose>
|
|
11
|
-
|
|
12
|
-
<context>
|
|
13
|
-
$ARGUMENTS — mode token followed by description and optional flags.
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
$manage-memory-capture
|
|
17
|
-
$manage-memory-capture "compact"
|
|
18
|
-
$manage-memory-capture "tip Always check state.json before phase operations --tag workflow,state"
|
|
19
|
-
$manage-memory-capture "compact Full auth implementation session"
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Modes**: `compact` (full session compression) or `tip` (quick note with tags).
|
|
23
|
-
No arguments: auto-detect or ask user.
|
|
24
|
-
|
|
25
|
-
**Flags**:
|
|
26
|
-
- `--tag tag1,tag2` — Comma-separated tags for the entry
|
|
27
|
-
</context>
|
|
28
|
-
|
|
29
|
-
<execution>
|
|
30
|
-
|
|
31
|
-
### Step 1: Validate
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
test -d .workflow || exit 1 # E001: not initialized
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Create `.workflow/memory/` if it does not exist.
|
|
38
|
-
|
|
39
|
-
### Step 2: Detect Mode
|
|
40
|
-
|
|
41
|
-
Parse first token as mode (`compact` or `tip`).
|
|
42
|
-
If absent or ambiguous, ask user via AskUserQuestion.
|
|
43
|
-
|
|
44
|
-
### Step 3: Capture Content
|
|
45
|
-
|
|
46
|
-
**Compact mode**:
|
|
47
|
-
1. Analyze current conversation for: objective, key decisions, modified files, current plan state, pending work
|
|
48
|
-
2. Generate entry ID: `MEM-{YYYYMMDD}-{NNN}`
|
|
49
|
-
3. Write `.workflow/memory/MEM-{id}.md` with sections:
|
|
50
|
-
- Objective, Key Decisions, Files Modified (absolute paths), Execution Plan (verbatim), Pending Work, Context Notes
|
|
51
|
-
|
|
52
|
-
**Tip mode**:
|
|
53
|
-
1. Extract content (everything after `tip`) and parse `--tag` flag
|
|
54
|
-
2. Generate entry ID: `TIP-{YYYYMMDD}-{NNN}`
|
|
55
|
-
3. Write `.workflow/memory/TIP-{id}.md` with: content, tags, timestamp, context
|
|
56
|
-
|
|
57
|
-
### Step 4: Wiki Index Invalidation
|
|
58
|
-
|
|
59
|
-
Memory files are automatically indexed by WikiIndexer. No manual index update needed — the persistent `wiki-index.json` at `.workflow/` root is regenerated on next `maestro wiki` access.
|
|
60
|
-
|
|
61
|
-
For immediate visibility, use:
|
|
62
|
-
```bash
|
|
63
|
-
maestro wiki get memory-{slug} # verify entry exists in wiki
|
|
64
|
-
maestro wiki list --type memory # list all memory entries
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### Step 5: Confirm
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
=== MEMORY CAPTURED ===
|
|
71
|
-
ID: {entry_id}
|
|
72
|
-
Type: {compact|tip}
|
|
73
|
-
File: .workflow/memory/{filename}
|
|
74
|
-
```
|
|
75
|
-
</execution>
|
|
76
|
-
|
|
77
|
-
<error_codes>
|
|
78
|
-
| Code | Severity | Description |
|
|
79
|
-
|------|----------|-------------|
|
|
80
|
-
| E001 | error | `.workflow/` not initialized -- run `Skill({ skill: "maestro-init" })` first |
|
|
81
|
-
| E002 | error | Empty note content in tip mode |
|
|
82
|
-
| W001 | warning | No active workflow session -- compact captures conversation only |
|
|
83
|
-
| W002 | warning | No explicit plan found -- using inferred plan |
|
|
84
|
-
</error_codes>
|
|
85
|
-
|
|
86
|
-
<success_criteria>
|
|
87
|
-
- [ ] `.workflow/` existence validated; `.workflow/memory/` created if missing
|
|
88
|
-
- [ ] Mode detected or prompted (compact vs tip)
|
|
89
|
-
- [ ] Compact: conversation analyzed, MEM-id generated, markdown file written with all sections
|
|
90
|
-
- [ ] Tip: content extracted, TIP-id generated, markdown file written
|
|
91
|
-
- [ ] Index updated with new entry metadata
|
|
92
|
-
- [ ] Confirmation displayed with ID, type, and file path
|
|
93
|
-
</success_criteria>
|