maestro-flow 0.3.10 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/conceptual-planning-agent.md +1 -0
- package/.claude/agents/workflow-analyzer.md +114 -114
- package/.claude/agents/workflow-collab-planner.md +144 -144
- package/.claude/agents/workflow-debugger.md +102 -103
- package/.claude/agents/workflow-executor.md +127 -128
- package/.claude/agents/workflow-integration-checker.md +82 -82
- package/.claude/agents/workflow-nyquist-auditor.md +85 -84
- package/.claude/agents/workflow-phase-researcher.md +85 -85
- package/.claude/agents/workflow-plan-checker.md +90 -90
- package/.claude/agents/workflow-planner.md +178 -178
- package/.claude/agents/workflow-roadmapper.md +81 -83
- package/.claude/agents/workflow-verifier.md +119 -119
- package/.claude/commands/learn-decompose.md +176 -176
- package/.claude/commands/learn-follow.md +167 -167
- package/.claude/commands/learn-retro.md +3 -3
- package/.claude/commands/learn-second-opinion.md +2 -2
- package/.claude/commands/maestro-brainstorm.md +1 -0
- package/.claude/commands/maestro-coordinate.md +1 -3
- package/.claude/commands/maestro-fork.md +133 -111
- package/.claude/commands/maestro-merge.md +85 -77
- package/.claude/commands/maestro-plan.md +88 -2
- package/.claude/commands/maestro-roadmap.md +113 -2
- package/.claude/commands/maestro.md +1 -0
- package/.claude/commands/manage-harvest.md +131 -131
- package/.claude/commands/manage-issue.md +2 -2
- package/.claude/commands/quality-business-test.md +5 -5
- package/.claude/commands/quality-debug.md +3 -2
- package/.claude/commands/quality-retrospective.md +6 -4
- package/.claude/commands/quality-review.md +1 -1
- package/.claude/commands/quality-test-gen.md +5 -4
- package/.claude/commands/spec-add.md +67 -56
- package/.claude/commands/spec-load.md +66 -64
- package/.claude/commands/spec-setup.md +5 -9
- package/.codex/skills/learn-decompose/SKILL.md +119 -0
- package/.codex/skills/learn-follow/SKILL.md +83 -0
- package/.codex/skills/learn-investigate/SKILL.md +83 -0
- package/.codex/skills/learn-retro/SKILL.md +83 -0
- package/.codex/skills/learn-second-opinion/SKILL.md +86 -0
- package/.codex/skills/maestro/SKILL.md +151 -279
- package/.codex/skills/maestro-analyze/SKILL.md +59 -71
- package/.codex/skills/maestro-brainstorm/SKILL.md +452 -463
- package/.codex/skills/maestro-chain/SKILL.md +95 -110
- package/.codex/skills/maestro-coordinate/SKILL.md +68 -234
- package/.codex/skills/maestro-execute/SKILL.md +435 -446
- package/.codex/skills/maestro-fork/SKILL.md +98 -0
- package/.codex/skills/maestro-init/SKILL.md +172 -167
- package/.codex/skills/maestro-learn/SKILL.md +80 -0
- package/.codex/skills/maestro-link-coordinate/SKILL.md +224 -220
- package/.codex/skills/maestro-merge/SKILL.md +69 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +108 -103
- package/.codex/skills/maestro-milestone-complete/SKILL.md +155 -149
- package/.codex/skills/maestro-milestone-release/SKILL.md +70 -0
- package/.codex/skills/maestro-overlay/SKILL.md +188 -185
- package/.codex/skills/maestro-plan/SKILL.md +58 -69
- package/.codex/skills/maestro-quick/SKILL.md +26 -23
- package/.codex/skills/maestro-roadmap/SKILL.md +65 -73
- package/.codex/skills/maestro-spec-generate/SKILL.md +66 -74
- package/.codex/skills/maestro-ui-design/SKILL.md +35 -32
- package/.codex/skills/maestro-verify/SKILL.md +556 -566
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +397 -405
- package/.codex/skills/manage-codebase-refresh/SKILL.md +93 -82
- package/.codex/skills/manage-harvest/SKILL.md +82 -0
- package/.codex/skills/manage-issue/SKILL.md +80 -65
- package/.codex/skills/manage-issue-discover/SKILL.md +491 -503
- package/.codex/skills/manage-learn/SKILL.md +190 -186
- package/.codex/skills/manage-memory/SKILL.md +95 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +99 -86
- package/.codex/skills/manage-status/SKILL.md +102 -89
- package/.codex/skills/quality-business-test/SKILL.md +228 -223
- package/.codex/skills/quality-debug/SKILL.md +54 -66
- package/.codex/skills/quality-integration-test/SKILL.md +532 -544
- package/.codex/skills/quality-refactor/SKILL.md +197 -191
- package/.codex/skills/quality-retrospective/SKILL.md +512 -505
- package/.codex/skills/quality-review/SKILL.md +95 -107
- package/.codex/skills/quality-sync/SKILL.md +101 -89
- package/.codex/skills/quality-test/SKILL.md +202 -198
- package/.codex/skills/quality-test-gen/SKILL.md +94 -105
- package/.codex/skills/spec-add/SKILL.md +58 -39
- package/.codex/skills/spec-load/SKILL.md +45 -40
- package/.codex/skills/spec-map/SKILL.md +180 -182
- package/.codex/skills/spec-setup/SKILL.md +94 -76
- package/.codex/skills/team-coordinate/SKILL.md +346 -357
- package/.codex/skills/team-executor/SKILL.md +70 -112
- package/.codex/skills/team-lifecycle-v4/SKILL.md +311 -299
- package/.codex/skills/team-quality-assurance/SKILL.md +234 -227
- package/.codex/skills/team-review/SKILL.md +232 -225
- package/.codex/skills/team-tech-debt/SKILL.md +78 -100
- package/.codex/skills/team-testing/SKILL.md +242 -235
- package/.codex/skills/wiki-connect/SKILL.md +75 -0
- package/.codex/skills/wiki-digest/SKILL.md +87 -0
- package/README.md +9 -4
- package/README.zh-CN.md +9 -4
- package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
- package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
- package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
- package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
- package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
- package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
- package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
- package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
- package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
- package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
- package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
- package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
- package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
- package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
- package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
- package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
- package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
- package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
- package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
- package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
- package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
- package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
- package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
- package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
- package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
- package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
- package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
- package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
- package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
- package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
- package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
- package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
- package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
- package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
- package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
- package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
- package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
- package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +75 -30
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
- package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +10 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +3 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +28 -2
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
- package/dashboard/dist-server/src/hooks/constants.d.ts +3 -1
- package/dashboard/dist-server/src/hooks/constants.js +4 -2
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
- package/dist/shared/agent-types.d.ts +4 -0
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/commands/collab.js +4 -4
- package/dist/src/commands/collab.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +66 -1
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +29 -18
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +7 -2
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js +23 -1
- package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
- package/dist/src/hooks/constants.d.ts +3 -1
- package/dist/src/hooks/constants.d.ts.map +1 -1
- package/dist/src/hooks/constants.js +4 -2
- package/dist/src/hooks/constants.js.map +1 -1
- package/dist/src/hooks/guards/index.d.ts +1 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -1
- package/dist/src/hooks/guards/index.js +1 -0
- package/dist/src/hooks/guards/index.js.map +1 -1
- package/dist/src/hooks/guards/spec-validator.d.ts +25 -0
- package/dist/src/hooks/guards/spec-validator.d.ts.map +1 -0
- package/dist/src/hooks/guards/spec-validator.js +66 -0
- package/dist/src/hooks/guards/spec-validator.js.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts +21 -0
- package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -0
- package/dist/src/hooks/keyword-spec-injector.js +96 -0
- package/dist/src/hooks/keyword-spec-injector.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +2 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +21 -12
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/skill-context.d.ts +3 -0
- package/dist/src/hooks/skill-context.d.ts.map +1 -1
- package/dist/src/hooks/skill-context.js +95 -9
- package/dist/src/hooks/skill-context.js.map +1 -1
- package/dist/src/hooks/spec-bridge.d.ts +40 -0
- package/dist/src/hooks/spec-bridge.d.ts.map +1 -0
- package/dist/src/hooks/spec-bridge.js +97 -0
- package/dist/src/hooks/spec-bridge.js.map +1 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +18 -12
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/statusline.d.ts.map +1 -1
- package/dist/src/hooks/statusline.js +6 -3
- package/dist/src/hooks/statusline.js.map +1 -1
- package/dist/src/team/phase-orchestrator.d.ts +52 -0
- package/dist/src/team/phase-orchestrator.d.ts.map +1 -0
- package/dist/src/team/phase-orchestrator.js +165 -0
- package/dist/src/team/phase-orchestrator.js.map +1 -0
- package/dist/src/team/phase-types.d.ts +51 -0
- package/dist/src/team/phase-types.d.ts.map +1 -0
- package/dist/src/team/phase-types.js +41 -0
- package/dist/src/team/phase-types.js.map +1 -0
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +6 -0
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/merge-validator.d.ts.map +1 -1
- package/dist/src/tools/merge-validator.js +114 -16
- package/dist/src/tools/merge-validator.js.map +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts +56 -0
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -0
- package/dist/src/tools/spec-entry-parser.js +196 -0
- package/dist/src/tools/spec-entry-parser.js.map +1 -0
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +66 -92
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-keyword-index.d.ts +30 -0
- package/dist/src/tools/spec-keyword-index.d.ts.map +1 -0
- package/dist/src/tools/spec-keyword-index.js +101 -0
- package/dist/src/tools/spec-keyword-index.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +3 -3
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +49 -23
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-agents.d.ts +27 -0
- package/dist/src/tools/team-agents.d.ts.map +1 -0
- package/dist/src/tools/team-agents.js +362 -0
- package/dist/src/tools/team-agents.js.map +1 -0
- package/dist/src/tools/team-mailbox.d.ts +40 -0
- package/dist/src/tools/team-mailbox.d.ts.map +1 -0
- package/dist/src/tools/team-mailbox.js +384 -0
- package/dist/src/tools/team-mailbox.js.map +1 -0
- package/dist/src/tools/team-msg.d.ts +17 -8
- package/dist/src/tools/team-msg.d.ts.map +1 -1
- package/dist/src/tools/team-msg.js +110 -13
- package/dist/src/tools/team-msg.js.map +1 -1
- package/dist/src/tools/team-tasks-mcp.d.ts +27 -0
- package/dist/src/tools/team-tasks-mcp.d.ts.map +1 -0
- package/dist/src/tools/team-tasks-mcp.js +408 -0
- package/dist/src/tools/team-tasks-mcp.js.map +1 -0
- package/package.json +2 -1
- package/shared/agent-types.ts +4 -0
- package/templates/worktree-scope.json +9 -10
- package/templates/worktrees.json +26 -27
- package/workflows/analyze.md +816 -816
- package/workflows/brainstorm.md +480 -471
- package/workflows/codebase-rebuild.md +332 -332
- package/workflows/codebase-refresh.md +240 -240
- package/workflows/debug.md +16 -6
- package/workflows/execute.md +1 -1
- package/workflows/fork.md +100 -36
- package/workflows/harvest.md +420 -420
- package/workflows/integration-test.md +355 -343
- package/workflows/issue-discover.md +414 -414
- package/workflows/issue.md +14 -4
- package/workflows/learn.md +19 -5
- package/workflows/maestro.md +1 -0
- package/workflows/map.md +111 -111
- package/workflows/merge.md +113 -55
- package/workflows/milestone-complete.md +176 -176
- package/workflows/plan.md +1 -1
- package/workflows/quick.md +497 -497
- package/workflows/refactor.md +300 -300
- package/workflows/retrospective.md +61 -22
- package/workflows/review.md +17 -4
- package/workflows/roadmap.md +335 -335
- package/workflows/spec-generate.md +640 -640
- package/workflows/specs-add.md +46 -81
- package/workflows/specs-load.md +15 -17
- package/workflows/specs-setup.md +40 -161
- package/workflows/test.md +12 -2
- package/workflows/ui-style.md +9 -2
- package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
- package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
- package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
- package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
- package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
- package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
- package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
- package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
- package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
- package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
- package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-fork
|
|
3
|
+
description: Create git worktree for milestone-level parallel development, or sync existing worktree with main. Copies .workflow/ context and scratch artifacts into worktree since .workflow/ is gitignored.
|
|
4
|
+
argument-hint: "-m <milestone-number> [--base <branch>] [--sync]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Create a git worktree for an entire milestone, enabling inter-milestone parallel development.
|
|
10
|
+
The worktree scope is milestone-level — all scratch artifacts for that milestone are owned by
|
|
11
|
+
the worktree. Since `.workflow/` is gitignored, this command explicitly copies project context
|
|
12
|
+
and milestone scratch artifacts into the worktree.
|
|
13
|
+
|
|
14
|
+
Also supports `--sync` mode to pull latest main into an active worktree.
|
|
15
|
+
</purpose>
|
|
16
|
+
|
|
17
|
+
<required_reading>
|
|
18
|
+
@~/.maestro/workflows/fork.md
|
|
19
|
+
</required_reading>
|
|
20
|
+
|
|
21
|
+
<context>
|
|
22
|
+
$ARGUMENTS — milestone number and optional flags.
|
|
23
|
+
|
|
24
|
+
**Modes:**
|
|
25
|
+
| Mode | Trigger | Behavior |
|
|
26
|
+
|------|---------|----------|
|
|
27
|
+
| Fork | `-m 2` or `2` | Create worktree for milestone 2 |
|
|
28
|
+
| Sync | `-m 2 --sync` | Sync existing worktree with main |
|
|
29
|
+
|
|
30
|
+
**Flags:**
|
|
31
|
+
- `-m <N>` or bare `<N>`: Milestone number
|
|
32
|
+
- `--base <branch>`: Override base branch (default: HEAD)
|
|
33
|
+
- `--sync`: Pull main into existing worktree, re-copy shared artifacts
|
|
34
|
+
|
|
35
|
+
**Worktree layout:**
|
|
36
|
+
```
|
|
37
|
+
.worktrees/m{N}-{slug}/
|
|
38
|
+
├── .workflow/
|
|
39
|
+
│ ├── worktree-scope.json (milestone scope marker)
|
|
40
|
+
│ ├── state.json (scoped — this milestone's artifacts only)
|
|
41
|
+
│ ├── project.md, roadmap.md, config.json, specs/ (read-only copies)
|
|
42
|
+
│ └── scratch/ (milestone's existing + new artifacts)
|
|
43
|
+
└── <source code>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Artifact scoping:**
|
|
47
|
+
Fork copies scratch artifacts belonging to the target milestone (filtered from `state.json.artifacts[]` where `milestone == target`). New work creates scratch artifacts normally, registered in the worktree's local `state.json`.
|
|
48
|
+
</context>
|
|
49
|
+
|
|
50
|
+
<execution>
|
|
51
|
+
Follow '~/.maestro/workflows/fork.md' completely.
|
|
52
|
+
|
|
53
|
+
**Fork flow:**
|
|
54
|
+
1. Validate: initialized, roadmap exists, not inside worktree, milestone not forked
|
|
55
|
+
2. Resolve milestone: `state.json.milestones[N-1]`
|
|
56
|
+
3. Create worktree: `git worktree add -b milestone/{slug} .worktrees/m{N}-{slug} HEAD`
|
|
57
|
+
4. Copy `.workflow/`: shared files + milestone scratch artifacts
|
|
58
|
+
5. Write `worktree-scope.json` with milestone scope
|
|
59
|
+
6. Write scoped `state.json` (this milestone's artifacts only)
|
|
60
|
+
7. Update main: `worktrees.json` registry, mark milestone `"forked"`
|
|
61
|
+
|
|
62
|
+
**Sync flow:**
|
|
63
|
+
1. Find worktree from `worktrees.json`
|
|
64
|
+
2. `cd worktree && git merge main`
|
|
65
|
+
3. Re-copy shared files (project.md, roadmap.md, config.json, specs/)
|
|
66
|
+
|
|
67
|
+
**Next steps:**
|
|
68
|
+
- Fork → `cd {wt.path} && $maestro-analyze`
|
|
69
|
+
- Sync → resume work in worktree
|
|
70
|
+
</execution>
|
|
71
|
+
|
|
72
|
+
<error_codes>
|
|
73
|
+
| Code | Severity | Condition | Recovery |
|
|
74
|
+
|------|----------|-----------|----------|
|
|
75
|
+
| E001 | error | Project not initialized | Run maestro-init |
|
|
76
|
+
| E002 | error | No roadmap found | Run maestro-roadmap |
|
|
77
|
+
| E003 | error | Running inside a worktree | Run from main worktree |
|
|
78
|
+
| E004 | error | No milestone number | Provide `-m <N>` |
|
|
79
|
+
| E006 | error | Milestone out of range | Check available milestones |
|
|
80
|
+
| E008 | error | Milestone already has active worktree | Merge or cleanup first |
|
|
81
|
+
</error_codes>
|
|
82
|
+
|
|
83
|
+
<success_criteria>
|
|
84
|
+
Fork mode:
|
|
85
|
+
- [ ] Milestone resolved from state.json.milestones[]
|
|
86
|
+
- [ ] Git worktree created with branch `milestone/{slug}`
|
|
87
|
+
- [ ] Shared `.workflow/` files copied (project.md, roadmap.md, config.json, specs/)
|
|
88
|
+
- [ ] Milestone scratch artifacts copied (filtered from artifact registry)
|
|
89
|
+
- [ ] `worktree-scope.json` written with milestone scope
|
|
90
|
+
- [ ] Scoped `state.json` written (this milestone's artifacts only)
|
|
91
|
+
- [ ] `worktrees.json` registry updated in main worktree
|
|
92
|
+
- [ ] Milestone marked `"forked"` in main state.json
|
|
93
|
+
|
|
94
|
+
Sync mode:
|
|
95
|
+
- [ ] Git merge main into worktree branch
|
|
96
|
+
- [ ] Shared artifacts re-copied
|
|
97
|
+
- [ ] Conflicts reported if any
|
|
98
|
+
</success_criteria>
|
|
@@ -1,167 +1,172 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-init
|
|
3
|
-
description: Initialize project with auto state detection — creates .workflow/ directory, project.md, state.json, config.json, and specs/
|
|
4
|
-
argument-hint: "[--auto] [--from-brainstorm SESSION-ID]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
$maestro-init ""
|
|
18
|
-
$maestro-init "--auto"
|
|
19
|
-
$maestro-init "--from-brainstorm brainstorm-auth-20260318"
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
**Flags**:
|
|
23
|
-
- `--auto`: Skip interactive questioning; extract from provided document
|
|
24
|
-
- `--from-brainstorm SESSION-ID`: Import vision/goals/constraints from brainstorm guidance-specification.md
|
|
25
|
-
|
|
26
|
-
**Output**: `.workflow/` directory with project.md, state.json, config.json, specs/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
- **
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
- `~/.maestro/templates/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
- `
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
.workflow/
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
$
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
|
156
|
-
|
|
157
|
-
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-init
|
|
3
|
+
description: Initialize project with auto state detection — creates .workflow/ directory, project.md, state.json, config.json, and specs/
|
|
4
|
+
argument-hint: "[--auto] [--from-brainstorm SESSION-ID]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Sequential project setup skill. Detects project state (empty/code/existing), gathers project information through deep questioning or document extraction, then creates the `.workflow/` directory structure. No parallel agents — single sequential flow.
|
|
10
|
+
|
|
11
|
+
When `--auto`: After config questions, run research without further interaction. Expects idea document via @ reference.
|
|
12
|
+
</purpose>
|
|
13
|
+
|
|
14
|
+
<context>
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
$maestro-init ""
|
|
18
|
+
$maestro-init "--auto"
|
|
19
|
+
$maestro-init "--from-brainstorm brainstorm-auth-20260318"
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**Flags**:
|
|
23
|
+
- `--auto`: Skip interactive questioning; extract from provided document
|
|
24
|
+
- `--from-brainstorm SESSION-ID`: Import vision/goals/constraints from brainstorm guidance-specification.md
|
|
25
|
+
|
|
26
|
+
**Output**: `.workflow/` directory with project.md, state.json, config.json, specs/
|
|
27
|
+
|
|
28
|
+
</context>
|
|
29
|
+
|
|
30
|
+
<invariants>
|
|
31
|
+
1. **Never create roadmap** — init only creates .workflow/ structure; roadmap is a separate step
|
|
32
|
+
2. **Deep questioning over speed** — follow threads, ask clarifying questions (unless --auto)
|
|
33
|
+
3. **Detect, don't assume** — scan for existing files, package managers, frameworks before asking
|
|
34
|
+
4. **Templates are source of truth** — always read templates before writing files
|
|
35
|
+
5. **Idempotent check** — if .workflow/ exists, refuse to overwrite (E002)
|
|
36
|
+
</invariants>
|
|
37
|
+
|
|
38
|
+
<execution>
|
|
39
|
+
|
|
40
|
+
### Step 1: Parse Arguments
|
|
41
|
+
|
|
42
|
+
Extract flags from arguments:
|
|
43
|
+
- `--auto` flag presence
|
|
44
|
+
- `--from-brainstorm SESSION-ID` value
|
|
45
|
+
- Remaining text as project description
|
|
46
|
+
|
|
47
|
+
### Step 2: Detect Project State
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Check existing state
|
|
51
|
+
ls .workflow/state.json 2>/dev/null
|
|
52
|
+
ls package.json pyproject.toml Cargo.toml go.mod 2>/dev/null
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Classify as:
|
|
56
|
+
- **existing**: `.workflow/state.json` found — warn and exit (E002)
|
|
57
|
+
- **code**: Source files present but no `.workflow/` — onboarding existing codebase
|
|
58
|
+
- **empty**: Greenfield project
|
|
59
|
+
|
|
60
|
+
### Step 3: Gather Project Information
|
|
61
|
+
|
|
62
|
+
**If `--from-brainstorm`**:
|
|
63
|
+
- Read `.workflow/.brainstorm/{SESSION-ID}/guidance-specification.md`
|
|
64
|
+
- Extract: vision, goals, constraints, terminology, tech decisions
|
|
65
|
+
- Skip interactive questioning
|
|
66
|
+
|
|
67
|
+
**If `--auto`**:
|
|
68
|
+
- Extract project info from provided document/@ reference
|
|
69
|
+
- Minimal interactive questions (confirm core value only)
|
|
70
|
+
|
|
71
|
+
**Otherwise (interactive)**:
|
|
72
|
+
- Deep questioning flow:
|
|
73
|
+
1. What is the core value proposition?
|
|
74
|
+
2. Who are the target users?
|
|
75
|
+
3. What are the key requirements? (follow threads, don't rush)
|
|
76
|
+
4. What are known constraints/limitations?
|
|
77
|
+
5. What tech stack preferences exist?
|
|
78
|
+
- Follow each thread with clarifying questions until satisfied
|
|
79
|
+
|
|
80
|
+
### Step 4: Read Templates
|
|
81
|
+
|
|
82
|
+
Read the following templates:
|
|
83
|
+
- `~/.maestro/templates/project.md`
|
|
84
|
+
- `~/.maestro/templates/state.json`
|
|
85
|
+
- `~/.maestro/templates/config.json`
|
|
86
|
+
|
|
87
|
+
### Step 5: Create .workflow/ Structure
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
mkdir -p .workflow/specs .workflow/scratch .workflow/codebase
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Step 6: Write project.md
|
|
94
|
+
|
|
95
|
+
Populate template with gathered information:
|
|
96
|
+
- Project name, core value proposition
|
|
97
|
+
- Requirements: Validated / Active / Out of Scope
|
|
98
|
+
- Key decisions and constraints
|
|
99
|
+
- Tech stack (detected or specified)
|
|
100
|
+
|
|
101
|
+
Write to `.workflow/project.md`.
|
|
102
|
+
|
|
103
|
+
### Step 7: Write state.json
|
|
104
|
+
|
|
105
|
+
Initialize state from template:
|
|
106
|
+
- `current_milestone`: null
|
|
107
|
+
- `current_task_id`: null
|
|
108
|
+
- `status`: "initialized"
|
|
109
|
+
- `artifacts`: []
|
|
110
|
+
|
|
111
|
+
Write to `.workflow/state.json`.
|
|
112
|
+
|
|
113
|
+
### Step 8: Write config.json
|
|
114
|
+
|
|
115
|
+
Configuration questions (or defaults for --auto):
|
|
116
|
+
- Granularity: fine / medium / coarse
|
|
117
|
+
- Workflow agents: enable/disable optional agents
|
|
118
|
+
- Gate preferences: verification strictness
|
|
119
|
+
|
|
120
|
+
Write to `.workflow/config.json`.
|
|
121
|
+
|
|
122
|
+
### Step 9: Initialize specs/
|
|
123
|
+
|
|
124
|
+
Create convention files in `.workflow/specs/`:
|
|
125
|
+
- `conventions.md` — detected or specified coding conventions
|
|
126
|
+
- `learnings.md` — empty, populated during execute summaries extraction
|
|
127
|
+
|
|
128
|
+
### Step 10: Completion Report
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
=== WORKFLOW INITIALIZED ===
|
|
132
|
+
Project: {project_name}
|
|
133
|
+
State: .workflow/state.json (active)
|
|
134
|
+
|
|
135
|
+
Created:
|
|
136
|
+
.workflow/project.md
|
|
137
|
+
.workflow/state.json
|
|
138
|
+
.workflow/config.json
|
|
139
|
+
.workflow/specs/
|
|
140
|
+
|
|
141
|
+
Next steps (choose one path to create roadmap):
|
|
142
|
+
$maestro-spec-generate "<idea>" -- Full spec package + roadmap (heavy)
|
|
143
|
+
$maestro-roadmap "<requirement>" -- Direct interactive roadmap (light)
|
|
144
|
+
|
|
145
|
+
Other commands:
|
|
146
|
+
$manage-status -- View project dashboard
|
|
147
|
+
$maestro-brainstorm "<topic>" -- Explore ideas first
|
|
148
|
+
$maestro-quick "<task>" -- Quick ad-hoc task
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
</execution>
|
|
152
|
+
|
|
153
|
+
<error_codes>
|
|
154
|
+
|
|
155
|
+
| Code | Severity | Description | Recovery |
|
|
156
|
+
|------|----------|-------------|----------|
|
|
157
|
+
| E001 | error | No arguments when --auto requires document | Ask user for document reference |
|
|
158
|
+
| E002 | error | .workflow/ already exists | Show status, suggest manage-status |
|
|
159
|
+
| E003 | error | Brainstorm session not found | List available sessions |
|
|
160
|
+
| W001 | warning | Could not detect tech stack | Continue with manual input |
|
|
161
|
+
|
|
162
|
+
</error_codes>
|
|
163
|
+
|
|
164
|
+
<success_criteria>
|
|
165
|
+
- [ ] Project state correctly detected (empty/code/existing)
|
|
166
|
+
- [ ] `.workflow/` directory structure created
|
|
167
|
+
- [ ] `project.md` populated with project information
|
|
168
|
+
- [ ] `state.json` initialized with correct status
|
|
169
|
+
- [ ] `config.json` written with configuration
|
|
170
|
+
- [ ] `specs/` initialized with convention files
|
|
171
|
+
- [ ] Completion report displayed with next steps
|
|
172
|
+
</success_criteria>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-learn
|
|
3
|
+
description: Learning coordinator — route intent to learn commands, execute single or multi-step chains sequentially. Supports 7 chains from single-step (follow, investigate) to multi-step (deep-understand, pattern-catalog).
|
|
4
|
+
argument-hint: "\"intent text\" [-y] [--dry-run] [--chain <name>]"
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<purpose>
|
|
9
|
+
Route learning requests to the optimal learn command or multi-step chain.
|
|
10
|
+
Executes commands sequentially with session tracking.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
Intent → Route to Chain → Execute Steps → Session Summary
|
|
14
|
+
```
|
|
15
|
+
</purpose>
|
|
16
|
+
|
|
17
|
+
<context>
|
|
18
|
+
$ARGUMENTS — learning intent text, or flags.
|
|
19
|
+
|
|
20
|
+
**Flags:**
|
|
21
|
+
- `-y, --yes` — Auto mode: skip confirmation
|
|
22
|
+
- `--dry-run` — Show planned chain without executing
|
|
23
|
+
- `--chain <name>` — Force specific chain
|
|
24
|
+
|
|
25
|
+
**Chains:**
|
|
26
|
+
| Chain | Steps | Use when |
|
|
27
|
+
|-------|-------|----------|
|
|
28
|
+
| `follow` | learn-follow | Read/understand code or docs |
|
|
29
|
+
| `investigate` | learn-investigate | Answer "how/why" questions |
|
|
30
|
+
| `decompose` | learn-decompose | Catalog patterns in a module |
|
|
31
|
+
| `second-opinion` | learn-second-opinion | Get review/challenge on code |
|
|
32
|
+
| `retro` | learn-retro --lens all | Full retrospective |
|
|
33
|
+
| `deep-understand` | follow → decompose → second-opinion | Thorough module analysis |
|
|
34
|
+
| `pattern-catalog` | decompose --save-spec --save-wiki → second-opinion --mode review | Full pattern extraction + review |
|
|
35
|
+
|
|
36
|
+
**Session state:** `.workflow/learning/.maestro-learn/{session_id}/status.json`
|
|
37
|
+
</context>
|
|
38
|
+
|
|
39
|
+
<execution>
|
|
40
|
+
|
|
41
|
+
### Step 1: Parse & Route
|
|
42
|
+
|
|
43
|
+
**Intent routing:**
|
|
44
|
+
| Keywords | Route |
|
|
45
|
+
|----------|-------|
|
|
46
|
+
| File path (contains `/` or `\`) | `follow` |
|
|
47
|
+
| read, follow, walk through, understand | `follow` |
|
|
48
|
+
| why, how, what if, investigate | `investigate` |
|
|
49
|
+
| pattern, decompose, catalog | `decompose` |
|
|
50
|
+
| opinion, review, challenge, consult | `second-opinion` |
|
|
51
|
+
| retro, git, commit, decision | `retro` |
|
|
52
|
+
| thorough, deep | `deep-understand` |
|
|
53
|
+
|
|
54
|
+
No match → present menu via AskUserQuestion. Max 1 clarification.
|
|
55
|
+
|
|
56
|
+
### Step 2: Resolve Target & Build Args
|
|
57
|
+
Map chain to skill invocations. Extract target and flags from arguments.
|
|
58
|
+
|
|
59
|
+
### Step 3: Confirm & Execute
|
|
60
|
+
- `--dry-run`: display chain and exit
|
|
61
|
+
- Not `-y`: show plan, ask confirmation
|
|
62
|
+
- Execute each step sequentially. On failure: retry/skip/abort
|
|
63
|
+
- Write session `status.json`, display summary
|
|
64
|
+
</execution>
|
|
65
|
+
|
|
66
|
+
<error_codes>
|
|
67
|
+
| Code | Severity | Condition | Recovery |
|
|
68
|
+
|------|----------|-----------|----------|
|
|
69
|
+
| E001 | error | No intent provided | Provide learning goal or use --chain |
|
|
70
|
+
| E002 | error | Cannot determine intent | Rephrase or use --chain |
|
|
71
|
+
| E005 | error | Invalid --chain name | Show valid chains |
|
|
72
|
+
| W001 | warning | Intent ambiguous | Present options |
|
|
73
|
+
</error_codes>
|
|
74
|
+
|
|
75
|
+
<success_criteria>
|
|
76
|
+
- [ ] Intent routed to correct chain
|
|
77
|
+
- [ ] Session directory created with status.json
|
|
78
|
+
- [ ] All chain steps executed
|
|
79
|
+
- [ ] Session summary displayed with next-step routing
|
|
80
|
+
</success_criteria>
|