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
|
@@ -145,30 +145,15 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
145
145
|
|
|
146
146
|
### Session Initialization
|
|
147
147
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
// Clean requirement text
|
|
159
|
-
const requirementArg = $ARGUMENTS
|
|
160
|
-
.replace(/--yes|-y|--phases\s+\d+|--from-brainstorm\s+\S+/g, '')
|
|
161
|
-
.trim()
|
|
162
|
-
|
|
163
|
-
const slug = requirementArg.toLowerCase()
|
|
164
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
165
|
-
.substring(0, 40)
|
|
166
|
-
const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
|
|
167
|
-
const sessionId = `${dateStr}-roadmap-${slug}`
|
|
168
|
-
const sessionFolder = `.workflow/.csv-wave/${sessionId}`
|
|
169
|
-
|
|
170
|
-
Bash(`mkdir -p ${sessionFolder}`)
|
|
171
|
-
```
|
|
148
|
+
Parse `$ARGUMENTS` to extract:
|
|
149
|
+
- `AUTO_YES` from `--yes` / `-y`
|
|
150
|
+
- `targetPhases` from `--phases N` (default: auto-determined)
|
|
151
|
+
- `brainstormSession` from `--from-brainstorm <SESSION-ID>`
|
|
152
|
+
- `requirementArg` = remaining text after stripping all flags
|
|
153
|
+
- `slug` = requirementArg lowercased, non-alphanumeric → `-`, max 40 chars
|
|
154
|
+
|
|
155
|
+
Session ID: `{YYYYMMDD}-roadmap-{slug}`
|
|
156
|
+
Session folder: `.workflow/.csv-wave/{sessionId}/` — create via `mkdir -p`
|
|
172
157
|
|
|
173
158
|
### Phase 1: Requirement Parsing + CSV Generation
|
|
174
159
|
|
|
@@ -205,11 +190,7 @@ Strategy: >= 3 high -> progressive, >= 3 low -> direct, else -> ask user (or aut
|
|
|
205
190
|
|
|
206
191
|
#### Wave 1: Requirement Analysis (Parallel)
|
|
207
192
|
|
|
208
|
-
|
|
209
|
-
2. Filter rows where `wave == 1` AND `status == pending`
|
|
210
|
-
3. No prev_context needed (wave 1 has no predecessors)
|
|
211
|
-
4. Write `wave-1.csv`
|
|
212
|
-
5. Execute:
|
|
193
|
+
Filter master `tasks.csv` for `wave == 1 AND status == pending` → write `wave-1.csv` (no prev_context needed).
|
|
213
194
|
|
|
214
195
|
```javascript
|
|
215
196
|
spawn_agents_on_csv({
|
|
@@ -232,43 +213,24 @@ spawn_agents_on_csv({
|
|
|
232
213
|
})
|
|
233
214
|
```
|
|
234
215
|
|
|
235
|
-
|
|
236
|
-
7. Delete `wave-1.csv`
|
|
216
|
+
Merge `wave-1-results.csv` into master `tasks.csv`, delete `wave-1.csv`.
|
|
237
217
|
|
|
238
218
|
#### Wave 2: Roadmap Assembly (Sequential)
|
|
239
219
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
```
|
|
245
|
-
[Task 1: Scope Analysis] Features: auth, OAuth, 2FA. MVP: basic auth + OAuth. Size: M...
|
|
246
|
-
[Task 2: Risk Analysis] High risk: OAuth provider integration. Medium: 2FA delivery...
|
|
247
|
-
[Task 3: Dependency Analysis] Critical path: auth -> OAuth -> 2FA. Parallel: UI + API...
|
|
248
|
-
```
|
|
249
|
-
5. Inject strategy and `--phases N` constraint into assembly prompt
|
|
250
|
-
6. Write `wave-2.csv` with `prev_context` column
|
|
251
|
-
7. Execute `spawn_agents_on_csv` for assembly agent
|
|
252
|
-
8. Merge results into master `tasks.csv`
|
|
253
|
-
9. Delete `wave-2.csv`
|
|
220
|
+
Filter master `tasks.csv` for `wave == 2 AND status == pending`. If all wave 1 tasks failed, use degraded mode (requirement text only).
|
|
221
|
+
|
|
222
|
+
Build `prev_context` from wave 1 findings (format: `[Task N: Title] summary...` per task). Inject strategy and `--phases N` constraint into assembly prompt.
|
|
223
|
+
Write `wave-2.csv` with `prev_context` column → execute `spawn_agents_on_csv` → merge results → delete `wave-2.csv`.
|
|
254
224
|
|
|
255
225
|
### Phase 3: Results Aggregation
|
|
256
226
|
|
|
257
227
|
**Objective**: Generate final results, optional refinement, and write roadmap.
|
|
258
228
|
|
|
259
|
-
|
|
260
|
-
2. Export as `results.csv`
|
|
229
|
+
Export master `tasks.csv` as `results.csv`.
|
|
261
230
|
|
|
262
|
-
|
|
263
|
-
- Present roadmap overview: phase count, milestone structure, dependency graph
|
|
264
|
-
- User feedback via AskUserQuestion (max 3 rounds):
|
|
265
|
-
- **Approve**: Proceed to output
|
|
266
|
-
- **Adjust Scope**: Move features between phases
|
|
267
|
-
- **Reorder**: Change phase sequencing
|
|
268
|
-
- **Split/Merge**: Break large phases or combine small ones
|
|
269
|
-
- Each round: update roadmap draft
|
|
231
|
+
**Interactive refinement** (skip if AUTO_YES): Present roadmap overview, collect user feedback via AskUserQuestion (max 3 rounds). Options: Approve, Adjust Scope, Reorder, Split/Merge. Update draft each round.
|
|
270
232
|
|
|
271
|
-
|
|
233
|
+
Generate `context.md`:
|
|
272
234
|
|
|
273
235
|
```markdown
|
|
274
236
|
# Roadmap Generation Report
|
|
@@ -297,12 +259,9 @@ spawn_agents_on_csv({
|
|
|
297
259
|
- Deferred: {deferred_items}
|
|
298
260
|
```
|
|
299
261
|
|
|
300
|
-
|
|
301
|
-
- Write `.workflow/roadmap.md` using standard roadmap template structure
|
|
302
|
-
- Ensure `.workflow/scratch/` directory exists (phases are labels, not directories)
|
|
303
|
-
- Update `state.json` milestones array and set `current_milestone`
|
|
262
|
+
**Write outputs**: `.workflow/roadmap.md` (standard template), ensure `.workflow/scratch/` exists, update `state.json` milestones array and `current_milestone`.
|
|
304
263
|
|
|
305
|
-
|
|
264
|
+
Display summary:
|
|
306
265
|
|
|
307
266
|
```
|
|
308
267
|
=== ROADMAP CREATED ===
|
|
@@ -338,11 +297,7 @@ Next steps:
|
|
|
338
297
|
|
|
339
298
|
#### Protocol
|
|
340
299
|
|
|
341
|
-
|
|
342
|
-
2. **Skip covered**: If discovery of same type + dedup key exists, skip
|
|
343
|
-
3. **Write immediately**: Append findings as found
|
|
344
|
-
4. **Append-only**: Never modify or delete
|
|
345
|
-
5. **Deduplicate**: Check before writing
|
|
300
|
+
Read `{session_folder}/discoveries.ndjson` before own analysis. Deduplicate by type + dedup key before writing. Append-only — never modify or delete.
|
|
346
301
|
|
|
347
302
|
```bash
|
|
348
303
|
echo '{"ts":"<ISO>","worker":"{id}","type":"risk_factor","data":{"name":"OAuth provider rate limits","severity":"medium","probability":"high","mitigation":"Implement token caching and retry logic"}}' >> {session_folder}/discoveries.ndjson
|
|
@@ -171,29 +171,15 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
171
171
|
|
|
172
172
|
### Session Initialization
|
|
173
173
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
// Clean topic text
|
|
184
|
-
const topicArg = $ARGUMENTS
|
|
185
|
-
.replace(/--yes|-y|--skip-research|--from-brainstorm\s+\S+/g, '')
|
|
186
|
-
.trim()
|
|
187
|
-
|
|
188
|
-
const slug = topicArg.toLowerCase()
|
|
189
|
-
.replace(/[^a-z0-9]+/g, '-')
|
|
190
|
-
.substring(0, 40)
|
|
191
|
-
const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
|
|
192
|
-
const sessionId = `${dateStr}-spec-generate-${slug}`
|
|
193
|
-
const sessionFolder = `.workflow/.csv-wave/${sessionId}`
|
|
194
|
-
|
|
195
|
-
Bash(`mkdir -p ${sessionFolder}`)
|
|
196
|
-
```
|
|
174
|
+
Parse `$ARGUMENTS` to extract:
|
|
175
|
+
- `AUTO_YES` from `--yes` / `-y`
|
|
176
|
+
- `skipResearch` from `--skip-research`
|
|
177
|
+
- `brainstormSession` from `--from-brainstorm <SESSION-ID>`
|
|
178
|
+
- `topicArg` = remaining text after stripping all flags
|
|
179
|
+
- `slug` = topicArg lowercased, non-alphanumeric → `-`, max 40 chars
|
|
180
|
+
|
|
181
|
+
Session ID: `{YYYYMMDD}-spec-generate-{slug}`
|
|
182
|
+
Session folder: `.workflow/.csv-wave/{sessionId}/` — create via `mkdir -p`
|
|
197
183
|
|
|
198
184
|
### Phase 1: Input Parsing + CSV Generation
|
|
199
185
|
|
|
@@ -224,11 +210,7 @@ Bash(`mkdir -p ${sessionFolder}`)
|
|
|
224
210
|
|
|
225
211
|
#### Wave 1: Research (Parallel)
|
|
226
212
|
|
|
227
|
-
|
|
228
|
-
2. Filter rows where `wave == 1` AND `status == pending`
|
|
229
|
-
3. No prev_context needed (wave 1 has no predecessors)
|
|
230
|
-
4. Write `wave-1.csv`
|
|
231
|
-
5. Execute:
|
|
213
|
+
Filter master `tasks.csv` for `wave == 1 AND status == pending` → write `wave-1.csv` (no prev_context needed).
|
|
232
214
|
|
|
233
215
|
```javascript
|
|
234
216
|
spawn_agents_on_csv({
|
|
@@ -252,38 +234,26 @@ spawn_agents_on_csv({
|
|
|
252
234
|
})
|
|
253
235
|
```
|
|
254
236
|
|
|
255
|
-
|
|
256
|
-
7. Delete `wave-1.csv`
|
|
237
|
+
Merge `wave-1-results.csv` into master `tasks.csv`, delete `wave-1.csv`.
|
|
257
238
|
|
|
258
239
|
#### Wave 2: Document Chain (Sequential)
|
|
259
240
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
```
|
|
265
|
-
[Task 1: Domain Research] Target users: developers building workflow tools. Market trends: ...
|
|
266
|
-
[Task 2: Competitive Analysis] Key competitors: X, Y, Z. Differentiation opportunities: ...
|
|
267
|
-
[Task 3: Tech Stack Analysis] Recommended: TypeScript + Node.js. Constraints: ...
|
|
268
|
-
```
|
|
269
|
-
5. Write `wave-2.csv` with `prev_context` column
|
|
270
|
-
6. Execute `spawn_agents_on_csv` for document chain agent
|
|
271
|
-
7. Merge results into master `tasks.csv`
|
|
272
|
-
8. Delete `wave-2.csv`
|
|
241
|
+
Filter master `tasks.csv` for `wave == 2 AND status == pending`. If all wave 1 tasks failed, use degraded mode (basic seed only).
|
|
242
|
+
|
|
243
|
+
Build `prev_context` from wave 1 findings (format: `[Task N: Title] summary...` per task).
|
|
244
|
+
Write `wave-2.csv` with `prev_context` column → execute `spawn_agents_on_csv` → merge results → delete `wave-2.csv`.
|
|
273
245
|
|
|
274
246
|
### Phase 3: Results Aggregation
|
|
275
247
|
|
|
276
248
|
**Objective**: Generate final results, readiness check, and write spec package.
|
|
277
249
|
|
|
278
|
-
|
|
279
|
-
2. Export as `results.csv`
|
|
280
|
-
3. **Readiness check** -- score on 4 dimensions (25% each):
|
|
250
|
+
Export master `tasks.csv` as `results.csv`. **Readiness check** -- score on 4 dimensions (25% each):
|
|
281
251
|
- Completeness: all required documents generated with substantive content
|
|
282
252
|
- Consistency: glossary terms used uniformly, scope containment
|
|
283
253
|
- Traceability: goals -> requirements -> architecture -> epics chain
|
|
284
254
|
- Depth: acceptance criteria testable, ADRs justified, stories estimable
|
|
285
255
|
|
|
286
|
-
|
|
256
|
+
**Gate decision**:
|
|
287
257
|
|
|
288
258
|
| Score | Gate | Action |
|
|
289
259
|
|-------|------|--------|
|
|
@@ -291,7 +261,7 @@ spawn_agents_on_csv({
|
|
|
291
261
|
| 60-79% | Review | Proceed with caveats logged |
|
|
292
262
|
| < 60% | Fail | Log issues, proceed with available output |
|
|
293
263
|
|
|
294
|
-
|
|
264
|
+
Generate `context.md`:
|
|
295
265
|
|
|
296
266
|
```markdown
|
|
297
267
|
# Spec Generate Report
|
|
@@ -327,9 +297,7 @@ spawn_agents_on_csv({
|
|
|
327
297
|
- Overall: {score}% ({gate})
|
|
328
298
|
```
|
|
329
299
|
|
|
330
|
-
|
|
331
|
-
7. Write `.workflow/roadmap.md`
|
|
332
|
-
8. Display summary.
|
|
300
|
+
Write spec package to `.workflow/.spec/SPEC-{slug}-{date}/`, write `.workflow/roadmap.md`, display summary.
|
|
333
301
|
|
|
334
302
|
### Shared Discovery Board Protocol
|
|
335
303
|
|
|
@@ -353,11 +321,7 @@ spawn_agents_on_csv({
|
|
|
353
321
|
|
|
354
322
|
#### Protocol
|
|
355
323
|
|
|
356
|
-
|
|
357
|
-
2. **Skip covered**: If discovery of same type + dedup key exists, skip
|
|
358
|
-
3. **Write immediately**: Append findings as found
|
|
359
|
-
4. **Append-only**: Never modify or delete
|
|
360
|
-
5. **Deduplicate**: Check before writing
|
|
324
|
+
Read `{session_folder}/discoveries.ndjson` before own analysis. Deduplicate by type + dedup key before writing. Append-only — never modify or delete.
|
|
361
325
|
|
|
362
326
|
```bash
|
|
363
327
|
echo '{"ts":"<ISO>","worker":"{id}","type":"domain_term","data":{"term":"workflow","definition":"A sequence of orchestrated tasks","aliases":["pipeline","process"]}}' >> {session_folder}/discoveries.ndjson
|
|
@@ -56,25 +56,13 @@ When `--yes` or `-y`: Skip interactive selection, auto-pick top-scored variant,
|
|
|
56
56
|
1. Parse flags from `$ARGUMENTS`: `--styles N`, `--stack`, `--targets`, `--persist`, `--full`, `-y`
|
|
57
57
|
2. **Phase mode** (number): resolve via state.json artifact registry to `.workflow/scratch/{YYYYMMDD}-{type}-{slug}/`
|
|
58
58
|
3. **Scratch mode** (text): create `.workflow/scratch/ui-design-{slug}-{date}/` with minimal index.json
|
|
59
|
-
4. Create output directories:
|
|
60
|
-
```bash
|
|
61
|
-
mkdir -p "${PHASE_DIR}/design-ref/prototypes"
|
|
62
|
-
mkdir -p "${PHASE_DIR}/design-ref/layout-templates"
|
|
63
|
-
```
|
|
59
|
+
4. Create output directories: `${PHASE_DIR}/design-ref/prototypes/` and `${PHASE_DIR}/design-ref/layout-templates/`
|
|
64
60
|
|
|
65
61
|
### Step 2: Detect Skill Availability
|
|
66
62
|
|
|
67
|
-
|
|
68
|
-
SKILL_PATH=""
|
|
69
|
-
for path in \
|
|
70
|
-
"skills/ui-ux-pro-max/scripts/search.py" \
|
|
71
|
-
"$HOME/.claude/plugins/cache/ui-ux-pro-max-skill/ui-ux-pro-max/*/scripts/search.py"; do
|
|
72
|
-
expanded=$(ls $path 2>/dev/null | tail -1)
|
|
73
|
-
if [ -n "$expanded" ]; then SKILL_PATH="$expanded"; break; fi
|
|
74
|
-
done
|
|
75
|
-
```
|
|
63
|
+
Search for `ui-ux-pro-max` script at `skills/ui-ux-pro-max/scripts/search.py` or `$HOME/.claude/plugins/cache/ui-ux-pro-max-skill/ui-ux-pro-max/*/scripts/search.py`.
|
|
76
64
|
|
|
77
|
-
- If `--style-skill PKG` provided: override
|
|
65
|
+
- If `--style-skill PKG` provided: override detected path
|
|
78
66
|
- If `--full`: force self-contained pipeline regardless of skill availability
|
|
79
67
|
|
|
80
68
|
### Step 3: Gather Requirements Context
|
|
@@ -106,16 +94,7 @@ Present all variants with key attributes (colors, typography, effects).
|
|
|
106
94
|
|
|
107
95
|
### Step 6: Solidify Selected Design
|
|
108
96
|
|
|
109
|
-
Spawn Agent
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
Agent({
|
|
113
|
-
subagent_type: "general-purpose",
|
|
114
|
-
description: "Extract design tokens from selected variant",
|
|
115
|
-
prompt: "Extract structured design-tokens.json and animation-tokens.json from the selected design variant. Colors in OKLCH format. Include component_styles, typography.combinations, spacing, border_radius, shadows, breakpoints. Animation tokens: duration, easing, transitions, keyframes, interactions, reduced_motion.",
|
|
116
|
-
run_in_background: false
|
|
117
|
-
})
|
|
118
|
-
```
|
|
97
|
+
Spawn Agent to extract structured tokens from selected variant: `design-tokens.json` (OKLCH colors, component_styles, typography.combinations, spacing, border_radius, shadows, breakpoints) and `animation-tokens.json` (duration, easing, transitions, keyframes, interactions, reduced_motion).
|
|
119
98
|
|
|
120
99
|
Write output artifacts:
|
|
121
100
|
- `design-ref/MASTER.md` -- complete design system specification
|
|
@@ -125,38 +104,12 @@ Write output artifacts:
|
|
|
125
104
|
|
|
126
105
|
### Step 7: Optional Prototype Generation
|
|
127
106
|
|
|
128
|
-
For each target, spawn Agent to generate standalone HTML prototype:
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
Agent({
|
|
132
|
-
subagent_type: "general-purpose",
|
|
133
|
-
description: "Generate HTML prototype for {target}",
|
|
134
|
-
prompt: "Generate standalone HTML+CSS prototype from design-tokens.json and animation-tokens.json. Realistic content (not lorem ipsum). SVG icons via CDN. Responsive at 375/768/1024px. WCAG AA contrast.",
|
|
135
|
-
run_in_background: false
|
|
136
|
-
})
|
|
137
|
-
```
|
|
107
|
+
For each target, spawn Agent to generate standalone HTML+CSS prototype from design-tokens.json and animation-tokens.json. Requirements: realistic content (no lorem ipsum), SVG icons via CDN, responsive at 375/768/1024px, WCAG AA contrast.
|
|
138
108
|
|
|
139
109
|
### Step 8: Update State and Report
|
|
140
110
|
|
|
141
111
|
1. Update index.json with `design_ref` status
|
|
142
|
-
2. Display completion report:
|
|
143
|
-
```
|
|
144
|
-
=== UI DESIGN READY ===
|
|
145
|
-
Phase: {phase_name}
|
|
146
|
-
Styles: {style_count} variants, #{selected} selected
|
|
147
|
-
Stack: {stack}
|
|
148
|
-
Targets: {target_list}
|
|
149
|
-
|
|
150
|
-
Design System:
|
|
151
|
-
MASTER.md: {scratch_dir}/design-ref/MASTER.md
|
|
152
|
-
Tokens: {scratch_dir}/design-ref/design-tokens.json
|
|
153
|
-
Animation: {scratch_dir}/design-ref/animation-tokens.json
|
|
154
|
-
Prototypes: {scratch_dir}/design-ref/prototypes/
|
|
155
|
-
|
|
156
|
-
Next steps:
|
|
157
|
-
Skill({ skill: "maestro-plan", args: "{phase}" })
|
|
158
|
-
Skill({ skill: "maestro-ui-design", args: "{phase} --refine" })
|
|
159
|
-
```
|
|
112
|
+
2. Display completion report: phase, variant count + selected, stack, targets, design system artifact paths (`MASTER.md`, `design-tokens.json`, `animation-tokens.json`, `prototypes/`). Suggest next: `$maestro-plan {phase}` or `$maestro-ui-design {phase} --refine`.
|
|
160
113
|
</execution>
|
|
161
114
|
|
|
162
115
|
<error_codes>
|
|
@@ -160,30 +160,20 @@ Each wave generates `wave-{N}.csv` with extra `prev_context` column.
|
|
|
160
160
|
|
|
161
161
|
### Session Initialization
|
|
162
162
|
|
|
163
|
-
|
|
164
|
-
const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
|
|
165
|
-
|
|
166
|
-
// Parse flags
|
|
167
|
-
const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
|
|
168
|
-
const continueMode = $ARGUMENTS.includes('--continue')
|
|
169
|
-
const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
|
|
170
|
-
const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 4
|
|
163
|
+
**Parse from `$ARGUMENTS`**:
|
|
171
164
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
165
|
+
| Variable | Source | Default |
|
|
166
|
+
|----------|--------|---------|
|
|
167
|
+
| `AUTO_YES` | `--yes` or `-y` | false |
|
|
168
|
+
| `continueMode` | `--continue` | false |
|
|
169
|
+
| `maxConcurrency` | `--concurrency N` or `-c N` | 4 |
|
|
170
|
+
| `skipTests` | `--skip-tests` | false |
|
|
171
|
+
| `skipAntipattern` | `--skip-antipattern` | false |
|
|
172
|
+
| `phaseArg` | remaining text after flag removal | — |
|
|
175
173
|
|
|
176
|
-
|
|
177
|
-
const phaseArg = $ARGUMENTS
|
|
178
|
-
.replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+|--skip-tests|--skip-antipattern/g, '')
|
|
179
|
-
.trim()
|
|
174
|
+
**Session path** (UTC+8 date prefix): `.workflow/.csv-wave/{YYYYMMDD}-verify-P{phaseArg}-{phaseSlug}/`
|
|
180
175
|
|
|
181
|
-
|
|
182
|
-
const sessionId = `${dateStr}-verify-P${phaseArg}-${phaseSlug}`
|
|
183
|
-
const sessionFolder = `.workflow/.csv-wave/${sessionId}`
|
|
184
|
-
|
|
185
|
-
Bash(`mkdir -p ${sessionFolder}`)
|
|
186
|
-
```
|
|
176
|
+
Create session directory.
|
|
187
177
|
|
|
188
178
|
### Phase 1: Phase Resolution -> CSV
|
|
189
179
|
|
|
@@ -237,11 +227,7 @@ Bash(`mkdir -p ${sessionFolder}`)
|
|
|
237
227
|
|
|
238
228
|
#### Wave 1: Truth Checks + Artifact Existence (Parallel)
|
|
239
229
|
|
|
240
|
-
1
|
|
241
|
-
2. Filter rows where `wave == 1` AND `status == pending`
|
|
242
|
-
3. No prev_context needed (wave 1 has no predecessors)
|
|
243
|
-
4. Write `wave-1.csv`
|
|
244
|
-
5. Execute:
|
|
230
|
+
Filter `wave == 1 && status == pending` from master CSV. No prev_context (no predecessors). Write `wave-1.csv`.
|
|
245
231
|
|
|
246
232
|
```javascript
|
|
247
233
|
spawn_agents_on_csv({
|
|
@@ -251,86 +237,32 @@ spawn_agents_on_csv({
|
|
|
251
237
|
max_concurrency: maxConcurrency,
|
|
252
238
|
max_runtime_seconds: 600,
|
|
253
239
|
output_csv_path: `${sessionFolder}/wave-1-results.csv`,
|
|
254
|
-
output_schema: {
|
|
255
|
-
|
|
256
|
-
properties: {
|
|
257
|
-
id: { type: "string" },
|
|
258
|
-
status: { type: "string", enum: ["completed", "failed"] },
|
|
259
|
-
findings: { type: "string" },
|
|
260
|
-
gaps_found: { type: "string" },
|
|
261
|
-
fix_plan: { type: "string" },
|
|
262
|
-
error: { type: "string" }
|
|
263
|
-
},
|
|
264
|
-
required: ["id", "status", "findings"]
|
|
265
|
-
}
|
|
240
|
+
output_schema: { id, status: ["completed"|"failed"], findings, gaps_found, fix_plan, error }
|
|
241
|
+
// required: id, status, findings
|
|
266
242
|
})
|
|
267
243
|
```
|
|
268
244
|
|
|
269
|
-
|
|
270
|
-
7. Delete `wave-1.csv`
|
|
245
|
+
Merge results into master `tasks.csv`, delete `wave-1.csv`.
|
|
271
246
|
|
|
272
|
-
**Truth check agent
|
|
273
|
-
- For each truth, identify supporting artifacts
|
|
274
|
-
- Check artifact existence and substance indicators
|
|
275
|
-
- Check wiring indicators (import/usage grep)
|
|
276
|
-
- Determine truth status: VERIFIED / FAILED / UNCERTAIN
|
|
277
|
-
- Report gaps for FAILED truths with severity and fix direction
|
|
247
|
+
**Truth check agent**: Identify supporting artifacts, check existence + substance + wiring indicators. Status: VERIFIED / FAILED / UNCERTAIN. Report gaps for FAILED with severity + fix direction.
|
|
278
248
|
|
|
279
|
-
**Artifact existence agent
|
|
280
|
-
- Check file exists on disk via `ls` or `stat`
|
|
281
|
-
- If missing, report gap with severity=critical
|
|
282
|
-
- If exists, note file size and basic structure for wave 2
|
|
249
|
+
**Artifact existence agent**: Check file on disk. Missing = gap (severity=critical). Exists = note size + structure for wave 2.
|
|
283
250
|
|
|
284
251
|
#### Wave 2: Artifact Substance + Wiring (Parallel)
|
|
285
252
|
|
|
286
|
-
1.
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
[Task 1: Truth: User can see messages] VERIFIED - Chat.tsx renders message list from API response
|
|
292
|
-
[Task 3: Artifact Exists: Chat.tsx] completed - file exists, 142 lines
|
|
293
|
-
...
|
|
294
|
-
```
|
|
295
|
-
5. Write `wave-2.csv` with `prev_context` column
|
|
296
|
-
6. Execute `spawn_agents_on_csv` for substance + wiring agents
|
|
297
|
-
7. Merge results into master `tasks.csv`
|
|
298
|
-
8. Delete `wave-2.csv`
|
|
299
|
-
|
|
300
|
-
**Substance check agent protocol**:
|
|
301
|
-
- Files under ~10 lines of real logic -> STUB
|
|
302
|
-
- Contains "placeholder", "coming soon", "TODO: implement" -> STUB
|
|
303
|
-
- Real implementation with business logic -> SUBSTANTIVE
|
|
304
|
-
|
|
305
|
-
**Wiring check agent protocol**:
|
|
306
|
-
- `grep -r "import.*{artifact_name}" src/` -- check imported
|
|
307
|
-
- `grep -r "{artifact_name}" src/ | grep -v "import"` -- check used beyond import
|
|
308
|
-
- Status: WIRED / ORPHANED / NOT_WIRED
|
|
253
|
+
Filter `wave == 2 && status == pending`. Skip substance check if all wave 1 existence checks failed for that artifact. Build `prev_context` from wave 1 findings (format: `[Task N: Title] status - summary`). Write `wave-2.csv`, execute `spawn_agents_on_csv`, merge results, delete temp CSV.
|
|
254
|
+
|
|
255
|
+
**Substance check agent**: <10 lines real logic or contains placeholder markers ("placeholder", "coming soon", "TODO: implement") = STUB. Otherwise SUBSTANTIVE.
|
|
256
|
+
|
|
257
|
+
**Wiring check agent**: Grep for import statements + actual usage beyond imports. Status: WIRED / ORPHANED / NOT_WIRED.
|
|
309
258
|
|
|
310
259
|
#### Wave 3: Anti-Pattern Scan + Nyquist Audit (Parallel)
|
|
311
260
|
|
|
312
|
-
1.
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
6. Write `wave-3.csv` with `prev_context` column
|
|
318
|
-
7. Execute `spawn_agents_on_csv` for remaining tasks
|
|
319
|
-
8. Merge results into master `tasks.csv`
|
|
320
|
-
9. Delete `wave-3.csv`
|
|
321
|
-
|
|
322
|
-
**Anti-pattern scan agent protocol**:
|
|
323
|
-
- Extract modified files from task summaries
|
|
324
|
-
- Scan for: TODO/FIXME/XXX/HACK, placeholder content, empty returns, log-only functions, hardcoded test data, disabled tests
|
|
325
|
-
- Categorize: Blocker (prevents goal) / Warning (incomplete) / Info (notable)
|
|
326
|
-
- Report as JSON array in gaps_found
|
|
327
|
-
|
|
328
|
-
**Nyquist audit agent protocol**:
|
|
329
|
-
- Detect test framework (jest, vitest, pytest, etc.)
|
|
330
|
-
- Map requirements (must-haves) to test files
|
|
331
|
-
- Classify: COVERED / PARTIAL / MISSING
|
|
332
|
-
- Run coverage command if available
|
|
333
|
-
- Report gaps and coverage percentage
|
|
261
|
+
Filter `wave == 3 && status == pending`. Mark as `skipped` per skip flags (`--skip-antipattern`, `--skip-tests`). Build `prev_context` from wave 1 + wave 2 findings. Write `wave-3.csv`, execute `spawn_agents_on_csv`, merge results, delete temp CSV.
|
|
262
|
+
|
|
263
|
+
**Anti-pattern scan agent**: Extract modified files from task summaries. Scan for TODO/FIXME/XXX/HACK, placeholder content, empty returns, log-only functions, hardcoded test data, disabled tests. Categorize: Blocker / Warning / Info. Report as JSON array in `gaps_found`.
|
|
264
|
+
|
|
265
|
+
**Nyquist audit agent**: Detect test framework, map requirements to test files, classify COVERED / PARTIAL / MISSING. Run coverage if available. Report gaps + coverage percentage.
|
|
334
266
|
|
|
335
267
|
### Phase 3: Results Aggregation
|
|
336
268
|
|
|
@@ -439,54 +371,25 @@ Issue Refs: {issue_ids}
|
|
|
439
371
|
| Any truth FAILED, artifact MISSING/STUB, key link NOT_WIRED, or blocker found | gaps_found |
|
|
440
372
|
| All automated checks pass but human verification items remain | human_needed |
|
|
441
373
|
|
|
442
|
-
10. **Auto-create issues** from gaps + blocker anti-patterns (
|
|
374
|
+
10. **Auto-create issues** from gaps + blocker anti-patterns (ID format: `ISS-YYYYMMDD-NNN`).
|
|
443
375
|
|
|
444
|
-
11. **Archive previous verification
|
|
445
|
-
- If `verification.json` or `validation.json` exists in phase dir, move to `.history/`
|
|
376
|
+
11. **Archive previous artifacts**: Move existing `verification.json`/`validation.json` in phase dir to `.history/`.
|
|
446
377
|
|
|
447
|
-
12. **Copy
|
|
448
|
-
- `verification.json` -> `{artifact_dir}/verification.json`
|
|
449
|
-
- `validation.json` -> `{artifact_dir}/validation.json` (if generated)
|
|
378
|
+
12. **Copy outputs** to phase directory: `verification.json`, `validation.json` (if generated).
|
|
450
379
|
|
|
451
380
|
13. **Update phase index.json** with verification status and timestamps.
|
|
452
381
|
|
|
453
|
-
14. **Display summary**:
|
|
454
|
-
|
|
455
|
-
```
|
|
456
|
-
=== VERIFICATION RESULTS ===
|
|
457
|
-
Phase: {phase_name}
|
|
458
|
-
|
|
459
|
-
Goal-Backward: {verified_count}/{total_truths} truths verified
|
|
460
|
-
Artifacts: {artifact_verified}/{artifact_total} (L1-L3)
|
|
461
|
-
Wiring: {links_wired}/{links_total} key links
|
|
462
|
-
Anti-patterns: {blocker_count} blockers, {warning_count} warnings
|
|
463
|
-
Nyquist: {coverage_pct}% coverage ({SKIPPED|status})
|
|
464
|
-
|
|
465
|
-
Gaps: {gap_count}
|
|
466
|
-
Critical: {critical_count}
|
|
467
|
-
High: {high_count}
|
|
468
|
-
Medium: {medium_count}
|
|
469
|
-
Low: {low_count}
|
|
470
|
-
|
|
471
|
-
Fix Plans: {fix_plan_count} generated
|
|
472
|
-
Issues Created: {issue_count}
|
|
473
|
-
Human Verification: {human_items} items
|
|
474
|
-
|
|
475
|
-
Files:
|
|
476
|
-
{session_folder}/verification.json
|
|
477
|
-
{session_folder}/validation.json (if generated)
|
|
478
|
-
{artifact_dir}/verification.json
|
|
479
|
-
{artifact_dir}/validation.json (if generated)
|
|
480
|
-
```
|
|
382
|
+
14. **Display summary**: Phase name, truths verified/total, artifacts L1-L3, wiring status, anti-pattern counts, Nyquist coverage, gaps by severity, fix plan count, issues created, human verification items, output file paths.
|
|
481
383
|
|
|
482
384
|
15. **Post-verify Knowledge Inquiry** (before next step routing):
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
385
|
+
|
|
386
|
+
| Signal | Prompt User | Spec Category |
|
|
387
|
+
|--------|-------------|---------------|
|
|
388
|
+
| Anti-pattern blockers found | "Update `quality-rules.md`?" | `quality` via `/spec-add` |
|
|
389
|
+
| Constraint/wiring violations | "Update `architecture-constraints.md`?" | `arch` via `/spec-add` |
|
|
390
|
+
| Recurring Nyquist coverage gaps | "Add to `test-conventions.md`?" | `test` via `/spec-add` |
|
|
391
|
+
|
|
392
|
+
On user confirm, append `<spec-entry>` to matching category file.
|
|
490
393
|
|
|
491
394
|
16. **Next step routing**:
|
|
492
395
|
|