maestro-flow 0.4.11 → 0.4.13
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/.agents/agents/cli-explore-agent.md +1 -3
- package/.agents/agents/cross-role-reviewer.md +173 -0
- package/.agents/agents/role-design-author.md +220 -0
- package/.agents/agents/ui-design-agent.md +1 -18
- package/.agents/agents/workflow-analyzer.md +1 -1
- package/.agents/agents/workflow-external-researcher.md +1 -1
- package/.agents/skills/learn-decompose/SKILL.md +6 -6
- package/.agents/skills/learn-follow/SKILL.md +4 -4
- package/.agents/skills/learn-investigate/SKILL.md +6 -6
- package/.agents/skills/learn-retro/SKILL.md +7 -7
- package/.agents/skills/learn-second-opinion/SKILL.md +4 -4
- package/.agents/skills/maestro/SKILL.md +61 -27
- package/.agents/skills/maestro-amend/SKILL.md +1 -0
- package/.agents/skills/maestro-analyze/SKILL.md +37 -4
- package/.agents/skills/maestro-blueprint/SKILL.md +133 -0
- package/.agents/skills/maestro-brainstorm/SKILL.md +120 -103
- package/.agents/skills/maestro-fork/SKILL.md +1 -1
- package/.agents/skills/maestro-guard/SKILL.md +3 -2
- package/.agents/skills/maestro-help/SKILL.md +48 -14
- package/.agents/skills/maestro-help/index/catalog.json +29 -11
- package/.agents/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.agents/skills/maestro-help/phases/02-search-present.md +6 -4
- package/.agents/skills/maestro-help/phases/03-workflow-guide.md +60 -33
- package/.agents/skills/maestro-impeccable/SKILL.md +13 -11
- package/.agents/skills/maestro-init/SKILL.md +3 -3
- package/.agents/skills/maestro-milestone-audit/SKILL.md +5 -3
- package/.agents/skills/maestro-milestone-complete/SKILL.md +7 -5
- package/.agents/skills/maestro-milestone-release/SKILL.md +1 -1
- package/.agents/skills/maestro-plan/SKILL.md +16 -4
- package/.agents/skills/maestro-ralph/SKILL.md +297 -226
- package/.agents/skills/maestro-ralph-execute/SKILL.md +82 -67
- package/.agents/skills/maestro-roadmap/SKILL.md +43 -81
- package/.agents/skills/manage-harvest/SKILL.md +1 -0
- package/.agents/skills/manage-issue-discover/SKILL.md +1 -1
- package/.agents/skills/manage-knowhow/SKILL.md +1 -1
- package/.agents/skills/manage-learn/SKILL.md +4 -4
- package/.agents/skills/quality-auto-test/SKILL.md +6 -6
- package/.agents/skills/quality-refactor/SKILL.md +1 -1
- package/.agents/skills/quality-retrospective/SKILL.md +2 -2
- package/.agents/skills/security-audit/SKILL.md +24 -0
- package/.agents/skills/spec-remove/SKILL.md +6 -2
- package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +1 -1
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +2 -2
- package/.agents/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.agents/skills/team-lifecycle-v4/templates/architecture.md +3 -3
- package/.agents/skills/team-lifecycle-v4/templates/epics.md +2 -2
- package/.agents/skills/team-lifecycle-v4/templates/product-brief.md +3 -3
- package/.agents/skills/team-lifecycle-v4/templates/requirements.md +2 -2
- package/.agy/agents/cli-explore-agent.md +1 -3
- package/.agy/agents/cross-role-reviewer.md +170 -0
- package/.agy/agents/role-design-author.md +217 -0
- package/.agy/agents/ui-design-agent.md +1 -18
- package/.agy/agents/workflow-analyzer.md +1 -1
- package/.agy/agents/workflow-external-researcher.md +1 -1
- package/.agy/skills/learn-decompose/SKILL.md +6 -6
- package/.agy/skills/learn-follow/SKILL.md +4 -4
- package/.agy/skills/learn-investigate/SKILL.md +6 -6
- package/.agy/skills/learn-retro/SKILL.md +7 -7
- package/.agy/skills/learn-second-opinion/SKILL.md +4 -4
- package/.agy/skills/maestro/SKILL.md +61 -27
- package/.agy/skills/maestro-amend/SKILL.md +1 -0
- package/.agy/skills/maestro-analyze/SKILL.md +37 -4
- package/.agy/skills/maestro-blueprint/SKILL.md +133 -0
- package/.agy/skills/maestro-brainstorm/SKILL.md +120 -103
- package/.agy/skills/maestro-fork/SKILL.md +1 -1
- package/.agy/skills/maestro-guard/SKILL.md +3 -2
- package/.agy/skills/maestro-help/SKILL.md +48 -14
- package/.agy/skills/maestro-help/index/catalog.json +29 -11
- package/.agy/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.agy/skills/maestro-help/phases/02-search-present.md +6 -4
- package/.agy/skills/maestro-help/phases/03-workflow-guide.md +60 -33
- package/.agy/skills/maestro-impeccable/SKILL.md +13 -11
- package/.agy/skills/maestro-init/SKILL.md +3 -3
- package/.agy/skills/maestro-milestone-audit/SKILL.md +5 -3
- package/.agy/skills/maestro-milestone-complete/SKILL.md +7 -5
- package/.agy/skills/maestro-milestone-release/SKILL.md +1 -1
- package/.agy/skills/maestro-plan/SKILL.md +16 -4
- package/.agy/skills/maestro-ralph/SKILL.md +297 -226
- package/.agy/skills/maestro-ralph-execute/SKILL.md +82 -67
- package/.agy/skills/maestro-roadmap/SKILL.md +43 -81
- package/.agy/skills/manage-harvest/SKILL.md +1 -0
- package/.agy/skills/manage-issue-discover/SKILL.md +1 -1
- package/.agy/skills/manage-knowhow/SKILL.md +1 -1
- package/.agy/skills/manage-learn/SKILL.md +4 -4
- package/.agy/skills/quality-auto-test/SKILL.md +6 -6
- package/.agy/skills/quality-refactor/SKILL.md +1 -1
- package/.agy/skills/quality-retrospective/SKILL.md +2 -2
- package/.agy/skills/security-audit/SKILL.md +24 -0
- package/.agy/skills/spec-remove/SKILL.md +6 -2
- package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +1 -1
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +2 -2
- package/.agy/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.agy/skills/team-lifecycle-v4/templates/architecture.md +3 -3
- package/.agy/skills/team-lifecycle-v4/templates/epics.md +2 -2
- package/.agy/skills/team-lifecycle-v4/templates/product-brief.md +3 -3
- package/.agy/skills/team-lifecycle-v4/templates/requirements.md +2 -2
- package/.claude/agents/cli-explore-agent.md +1 -3
- package/.claude/agents/cross-role-reviewer.md +171 -0
- package/.claude/agents/role-design-author.md +218 -0
- package/.claude/agents/ui-design-agent.md +1 -18
- package/.claude/agents/workflow-analyzer.md +1 -1
- package/.claude/agents/workflow-external-researcher.md +1 -1
- package/.claude/commands/learn-decompose.md +6 -6
- package/.claude/commands/learn-follow.md +4 -4
- package/.claude/commands/learn-investigate.md +6 -6
- package/.claude/commands/learn-retro.md +7 -7
- package/.claude/commands/learn-second-opinion.md +4 -4
- package/.claude/commands/maestro-amend.md +1 -0
- package/.claude/commands/maestro-analyze.md +37 -4
- package/.claude/commands/maestro-blueprint.md +131 -0
- package/.claude/commands/maestro-brainstorm.md +133 -116
- package/.claude/commands/maestro-fork.md +1 -1
- package/.claude/commands/maestro-guard.md +3 -2
- package/.claude/commands/maestro-impeccable.md +13 -11
- package/.claude/commands/maestro-init.md +3 -3
- package/.claude/commands/maestro-milestone-audit.md +5 -3
- package/.claude/commands/maestro-milestone-complete.md +7 -5
- package/.claude/commands/maestro-milestone-release.md +1 -1
- package/.claude/commands/maestro-plan.md +16 -4
- package/.claude/commands/maestro-ralph-execute.md +82 -67
- package/.claude/commands/maestro-ralph.md +297 -226
- package/.claude/commands/maestro-roadmap.md +43 -81
- package/.claude/commands/maestro.md +61 -27
- package/.claude/commands/manage-harvest.md +1 -0
- package/.claude/commands/manage-issue-discover.md +1 -1
- package/.claude/commands/manage-knowhow.md +1 -1
- package/.claude/commands/manage-learn.md +4 -4
- package/.claude/commands/quality-auto-test.md +6 -6
- package/.claude/commands/quality-refactor.md +1 -1
- package/.claude/commands/quality-retrospective.md +2 -2
- package/.claude/commands/security-audit.md +24 -0
- package/.claude/commands/spec-remove.md +6 -2
- package/.claude/skills/maestro-help/SKILL.md +48 -14
- package/.claude/skills/maestro-help/index/catalog.json +29 -11
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.claude/skills/maestro-help/phases/02-search-present.md +6 -4
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +60 -33
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +1 -1
- package/.claude/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +2 -2
- package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.claude/skills/team-lifecycle-v4/templates/architecture.md +3 -3
- package/.claude/skills/team-lifecycle-v4/templates/epics.md +2 -2
- package/.claude/skills/team-lifecycle-v4/templates/product-brief.md +3 -3
- package/.claude/skills/team-lifecycle-v4/templates/requirements.md +2 -2
- package/.codex/skills/learn-decompose/SKILL.md +4 -4
- package/.codex/skills/learn-follow/SKILL.md +3 -3
- package/.codex/skills/learn-investigate/SKILL.md +3 -3
- package/.codex/skills/learn-retro/SKILL.md +3 -3
- package/.codex/skills/learn-second-opinion/SKILL.md +3 -3
- package/.codex/skills/maestro/SKILL.md +75 -38
- package/.codex/skills/maestro-amend/SKILL.md +157 -0
- package/.codex/skills/maestro-analyze/SKILL.md +72 -23
- package/.codex/skills/maestro-blueprint/SKILL.md +123 -0
- package/.codex/skills/maestro-brainstorm/SKILL.md +277 -46
- package/.codex/skills/maestro-composer/SKILL.md +1 -1
- package/.codex/skills/maestro-execute/SKILL.md +13 -4
- package/.codex/skills/maestro-fork/SKILL.md +2 -0
- package/.codex/skills/maestro-guard/SKILL.md +3 -2
- package/.codex/skills/maestro-help/SKILL.md +28 -18
- package/.codex/skills/maestro-help/catalog.json +29 -11
- package/.codex/skills/maestro-impeccable/SKILL.md +13 -11
- package/.codex/skills/maestro-init/SKILL.md +7 -7
- package/.codex/skills/maestro-plan/SKILL.md +27 -9
- package/.codex/skills/maestro-ralph/SKILL.md +740 -601
- package/.codex/skills/maestro-roadmap/SKILL.md +56 -72
- package/.codex/skills/maestro-update/SKILL.md +169 -0
- package/.codex/skills/maestro-verify/SKILL.md +11 -2
- package/.codex/skills/manage-codebase-rebuild/SKILL.md +9 -5
- package/.codex/skills/manage-harvest/SKILL.md +11 -3
- package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
- package/.codex/skills/manage-knowhow/SKILL.md +1 -1
- package/.codex/skills/manage-learn/SKILL.md +3 -3
- package/.codex/skills/quality-refactor/SKILL.md +2 -2
- package/.codex/skills/quality-retrospective/SKILL.md +12 -5
- package/.codex/skills/security-audit/SKILL.md +24 -0
- package/.codex/skills/spec-remove/SKILL.md +8 -2
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/templates/architecture.md +3 -3
- package/.codex/skills/team-lifecycle-v4/templates/epics.md +2 -2
- package/.codex/skills/team-lifecycle-v4/templates/product-brief.md +3 -3
- package/.codex/skills/team-lifecycle-v4/templates/requirements.md +2 -2
- package/README.md +8 -8
- package/README.zh-CN.md +8 -8
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +13 -7
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/spec.d.ts.map +1 -1
- package/dist/src/commands/spec.js +8 -1
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts +16 -2
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +58 -187
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +16 -16
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/spec-seeds.d.ts +33 -0
- package/dist/src/tools/spec-seeds.d.ts.map +1 -0
- package/dist/src/tools/spec-seeds.js +200 -0
- package/dist/src/tools/spec-seeds.js.map +1 -0
- package/dist/src/tools/spec-writer.d.ts.map +1 -1
- package/dist/src/tools/spec-writer.js +7 -9
- package/dist/src/tools/spec-writer.js.map +1 -1
- package/dist/src/utils/update-notices.js +12 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +1 -1
- package/templates/business-test-report.json +1 -1
- package/templates/index.json +1 -1
- package/templates/roadmap.md +15 -9
- package/templates/state.json +18 -17
- package/workflows/agy-instructions.md +2 -0
- package/workflows/analyze.md +79 -11
- package/workflows/auto-test.md +12 -7
- package/workflows/blueprint.md +431 -0
- package/workflows/brainstorm.md +617 -496
- package/workflows/business-test.md +7 -7
- package/workflows/claude-instructions.md +2 -0
- package/workflows/codebase-rebuild.md +4 -4
- package/workflows/codex-instructions.md +16 -83
- package/workflows/debug.md +1 -1
- package/workflows/harvest.md +184 -10
- package/workflows/impeccable.md +2 -0
- package/workflows/init.md +9 -8
- package/workflows/issue-analyze.md +14 -100
- package/workflows/issue-discover.md +2 -3
- package/workflows/issue-execute.md +1 -1
- package/workflows/issue-gaps-analyze.md +2 -0
- package/workflows/learn.md +1 -1
- package/workflows/maestro-chain-execute.md +10 -228
- package/workflows/maestro.md +2 -1
- package/workflows/milestone-audit.md +12 -4
- package/workflows/milestone-complete.md +14 -9
- package/workflows/milestone-release.md +82 -0
- package/workflows/plan.md +91 -25
- package/workflows/retrospective.md +1 -1
- package/workflows/roadmap-common.md +1 -1
- package/workflows/roadmap.md +14 -4
- package/workflows/spec-generate.md +26 -13
- package/workflows/specs-add.md +6 -1
- package/workflows/specs-load.md +6 -1
- package/workflows/specs-setup.md +6 -1
- package/workflows/sync.md +13 -0
- package/workflows/tools-spec.md +4 -0
- package/workflows/ui-design.md +5 -5
- package/workflows/ui-style.md +1 -1
- package/workflows/wiki-manage.md +2 -0
- package/.agents/agents/conceptual-planning-agent.md +0 -247
- package/.agy/agents/conceptual-planning-agent.md +0 -244
- package/.claude/agents/conceptual-planning-agent.md +0 -245
|
@@ -30,9 +30,9 @@ $ARGUMENTS — question text and optional flags.
|
|
|
30
30
|
- `.workflow/knowhow/KNW-investigate-{slug}/evidence.ndjson` — structured evidence (one JSON line per item)
|
|
31
31
|
- `.workflow/knowhow/KNW-investigate-{slug}/understanding.md` — evolving understanding
|
|
32
32
|
- `.workflow/knowhow/KNW-investigate-{slug}/report.md` — final report
|
|
33
|
-
-
|
|
33
|
+
- `.workflow/specs/learnings.md` — appended `<spec-entry>` blocks
|
|
34
34
|
|
|
35
|
-
**Storage read**: source files in scope + `maestro wiki search` +
|
|
35
|
+
**Storage read**: source files in scope + `maestro wiki search` + `.workflow/specs/learnings.md` + `debug-notes.md` + `codebase/architecture.md`
|
|
36
36
|
</context>
|
|
37
37
|
|
|
38
38
|
<state_machine>
|
|
@@ -45,7 +45,7 @@ S_HYPOTHESIZE — 生成假设列表 PERSIST:
|
|
|
45
45
|
S_CLI_EXPLORE — CLI 辅助探索(可选) PERSIST: evidence.ndjson (append)
|
|
46
46
|
S_TEST — 逐假设测试 PERSIST: evidence.ndjson + understanding.md
|
|
47
47
|
S_ESCALATE — 3-strike 升级 PERSIST: —
|
|
48
|
-
S_REPORT — 综合报告 + persist PERSIST: report.md + specs/learnings.md
|
|
48
|
+
S_REPORT — 综合报告 + persist PERSIST: report.md + .workflow/specs/learnings.md
|
|
49
49
|
</states>
|
|
50
50
|
|
|
51
51
|
<transitions>
|
|
@@ -57,7 +57,7 @@ S_EVIDENCE:
|
|
|
57
57
|
→ S_PATTERN DO: A_COLLECT_EVIDENCE
|
|
58
58
|
|
|
59
59
|
S_PATTERN:
|
|
60
|
-
→ S_HYPOTHESIZE DO: match evidence against debug-notes.md + specs/learnings.md patterns
|
|
60
|
+
→ S_HYPOTHESIZE DO: match evidence against debug-notes.md + .workflow/specs/learnings.md patterns
|
|
61
61
|
|
|
62
62
|
S_HYPOTHESIZE:
|
|
63
63
|
→ S_CLI_EXPLORE WHEN: CLI tools enabled AND hypotheses non-trivial DO: A_FORM_HYPOTHESES
|
|
@@ -85,7 +85,7 @@ S_REPORT:
|
|
|
85
85
|
### A_FRAME_QUESTION
|
|
86
86
|
|
|
87
87
|
1. Parse question, generate slug, create KNW-investigate-{slug}/
|
|
88
|
-
2. Search prior knowledge: `maestro wiki search "<question>"` + search specs/learnings.md + read debug-notes.md
|
|
88
|
+
2. Search prior knowledge: `maestro wiki search "<question>"` + search .workflow/specs/learnings.md + read debug-notes.md
|
|
89
89
|
3. Write initial understanding.md (question, prior knowledge summary, scope, timestamp)
|
|
90
90
|
|
|
91
91
|
### A_COLLECT_EVIDENCE
|
|
@@ -126,7 +126,7 @@ For each hypothesis (rank order):
|
|
|
126
126
|
### A_SYNTHESIZE_REPORT
|
|
127
127
|
|
|
128
128
|
Write report.md: Answer (or INCONCLUSIVE), Evidence Trail table, Hypotheses Tested table, Key Learnings, Open Questions.
|
|
129
|
-
Append to specs/learnings.md: confirmed → roles="implement", disproved → roles="analyze" (gotcha).
|
|
129
|
+
Append to .workflow/specs/learnings.md: confirmed → roles="implement", disproved → roles="analyze" (gotcha).
|
|
130
130
|
|
|
131
131
|
</actions>
|
|
132
132
|
|
|
@@ -16,7 +16,7 @@ allowed-tools:
|
|
|
16
16
|
<purpose>
|
|
17
17
|
Unified retrospective combining git activity analysis and decision quality evaluation. Works on raw git history and wiki/spec data. Two lenses (git, decision), usable independently or together.
|
|
18
18
|
|
|
19
|
-
All insights persist to
|
|
19
|
+
All insights persist to `.workflow/specs/learnings.md` as `<spec-entry>` blocks.
|
|
20
20
|
</purpose>
|
|
21
21
|
|
|
22
22
|
<context>
|
|
@@ -30,9 +30,9 @@ $ARGUMENTS — lens selection and scope flags.
|
|
|
30
30
|
**Storage write**:
|
|
31
31
|
- `.workflow/knowhow/KNW-retro-{date}.md` — unified report
|
|
32
32
|
- `.workflow/knowhow/KNW-retro-{date}.json` — structured metrics
|
|
33
|
-
-
|
|
33
|
+
- `.workflow/specs/learnings.md` — appended `<spec-entry>` blocks (source: retro-git / retro-decision)
|
|
34
34
|
|
|
35
|
-
**Storage read**: git history, `.workflow/state.json`, prior `KNW-retro-*.json`,
|
|
35
|
+
**Storage read**: git history, `.workflow/state.json`, prior `KNW-retro-*.json`, `.workflow/specs/learnings.md`, wiki specs, `architecture-constraints.md`, phase context files
|
|
36
36
|
</context>
|
|
37
37
|
|
|
38
38
|
<state_machine>
|
|
@@ -42,7 +42,7 @@ S_PARSE — 解析 lens + flags PERSIST: —
|
|
|
42
42
|
S_GIT — git 活动分析(lens=git/all 时) PERSIST: metrics
|
|
43
43
|
S_DECISION — 决策质量评估(lens=decision/all 时) PERSIST: evaluations
|
|
44
44
|
S_REPORT — 生成统一报告 PERSIST: .md + .json
|
|
45
|
-
S_PERSIST — 写 spec-entry 块 PERSIST: specs/learnings.md
|
|
45
|
+
S_PERSIST — 写 spec-entry 块 PERSIST: .workflow/specs/learnings.md
|
|
46
46
|
</states>
|
|
47
47
|
|
|
48
48
|
<transitions>
|
|
@@ -62,7 +62,7 @@ S_REPORT:
|
|
|
62
62
|
→ S_PERSIST DO: write KNW-retro-{date}.md + .json
|
|
63
63
|
|
|
64
64
|
S_PERSIST:
|
|
65
|
-
→ END DO: append insights to specs/learnings.md via `maestro spec add learning`
|
|
65
|
+
→ END DO: append insights to .workflow/specs/learnings.md via `maestro spec add learning`
|
|
66
66
|
RULE: INS-id = hash(lens + metric_or_decision_id + date) for cross-session stability
|
|
67
67
|
|
|
68
68
|
</transitions>
|
|
@@ -104,7 +104,7 @@ maestro wiki search "decision" --json
|
|
|
104
104
|
maestro wiki list --type spec --json
|
|
105
105
|
git log --oneline --all --grep="decision\|chose\|decided" -20
|
|
106
106
|
```
|
|
107
|
-
Plus: architecture-constraints.md, phase context Locked/Deferred sections, specs/learnings.md.
|
|
107
|
+
Plus: architecture-constraints.md, phase context Locked/Deferred sections, .workflow/specs/learnings.md.
|
|
108
108
|
Apply --phase/--tag/--id filters.
|
|
109
109
|
|
|
110
110
|
**Build registry** per decision: id, title, source, date, rationale, alternatives, phase, implementation_evidence [file paths].
|
|
@@ -148,7 +148,7 @@ Apply --phase/--tag/--id filters.
|
|
|
148
148
|
- [ ] Git lens: metrics computed (commits, LOC, test ratio, churn, sessions), insights distilled
|
|
149
149
|
- [ ] Decision lens: decisions collected, 3 agents evaluated in parallel, lifecycle classified
|
|
150
150
|
- [ ] Unified report + structured JSON written
|
|
151
|
-
- [ ] specs/learnings.md appended with stable INS-ids
|
|
151
|
+
- [ ] .workflow/specs/learnings.md appended with stable INS-ids
|
|
152
152
|
</success_criteria>
|
|
153
153
|
|
|
154
154
|
<next_step_routing>
|
|
@@ -19,7 +19,7 @@ Structured second-opinion on code, decisions, or plans. Three modes:
|
|
|
19
19
|
- **challenge**: single adversarial agent — break assumptions, propose alternatives
|
|
20
20
|
- **consult**: interactive Q&A — agent studies target, answers your questions
|
|
21
21
|
|
|
22
|
-
Findings persist to
|
|
22
|
+
Findings persist to `.workflow/specs/learnings.md` as `<spec-entry>` blocks.
|
|
23
23
|
</purpose>
|
|
24
24
|
|
|
25
25
|
<context>
|
|
@@ -47,7 +47,7 @@ S_RESOLVE — 解析 target PERSIST: —
|
|
|
47
47
|
S_CONTEXT — 加载 specs/wiki 上下文 PERSIST: —
|
|
48
48
|
S_EXECUTE — 按 mode 执行分析 PERSIST: —
|
|
49
49
|
S_SYNTHESIZE — 综合观点、生成报告 PERSIST: outputs
|
|
50
|
-
S_PERSIST — 写文件、append specs/learnings.md PERSIST: knowhow files
|
|
50
|
+
S_PERSIST — 写文件、append .workflow/specs/learnings.md PERSIST: knowhow files
|
|
51
51
|
</states>
|
|
52
52
|
|
|
53
53
|
<transitions>
|
|
@@ -68,7 +68,7 @@ S_SYNTHESIZE:
|
|
|
68
68
|
→ S_PERSIST DO: merge perspectives → agreements, disagreements, verdict, top 3 recommendations
|
|
69
69
|
|
|
70
70
|
S_PERSIST:
|
|
71
|
-
→ END DO: write KNW-opinion + append <spec-entry> blocks to specs/learnings.md
|
|
71
|
+
→ END DO: write KNW-opinion + append <spec-entry> blocks to .workflow/specs/learnings.md
|
|
72
72
|
|
|
73
73
|
</transitions>
|
|
74
74
|
|
|
@@ -114,7 +114,7 @@ Interactive loop:
|
|
|
114
114
|
<success_criteria>
|
|
115
115
|
- [ ] Mode executed: review (3 parallel agents) / challenge (adversarial) / consult (interactive Q&A)
|
|
116
116
|
- [ ] Synthesis with agreements, disagreements, verdict
|
|
117
|
-
- [ ] Report written + findings appended to specs/learnings.md
|
|
117
|
+
- [ ] Report written + findings appended to .workflow/specs/learnings.md
|
|
118
118
|
</success_criteria>
|
|
119
119
|
|
|
120
120
|
<next_step_routing>
|
|
@@ -50,8 +50,13 @@ $ARGUMENTS — user intent text, or special keywords.
|
|
|
50
50
|
1. **All chains dispatch via maestro-ralph-execute** — maestro never executes steps directly
|
|
51
51
|
2. **Session before execution** — status.json created before any step runs
|
|
52
52
|
3. **Auto flags only to supporting commands** — unlisted commands execute as-is
|
|
53
|
-
4. **Decomposition contract shared with maestro-ralph** — broad/lifecycle intents run S_DECOMPOSE producing the SAME additive block (`boundary_contract`, `execution_criteria`, `task_decomposition
|
|
54
|
-
5. **
|
|
53
|
+
4. **Decomposition contract shared with maestro-ralph** — broad/lifecycle intents run S_DECOMPOSE producing the SAME additive block (`boundary_contract`, `execution_criteria`, `task_decomposition`)。Reference maestro-ralph `A_DECOMPOSE_TASKS`
|
|
54
|
+
5. **status.json 唯一真源** — 不生成 `goal-checklist.md` 或外部清单
|
|
55
|
+
6. **Default step type = internal** — chain 内每个 step 解析 `command_scope`/`command_path`(全局优先 `~/.claude/commands/{name}.md`,fallback 项目)
|
|
56
|
+
7. **Topology awareness** — chain catalog 含 brainstorm / blueprint / analyze-macro(text) / analyze(numeric phase) / roadmap / plan(三路径) / execute / verify / ...;scope_verdict 路由由 ralph 在 `post-analyze-scope` 决定
|
|
57
|
+
8. **D-007 milestone 反查** — 数字 phase 步骤的 `milestone_id` 由 `state.json.milestones[].phase_slugs` 反查得出
|
|
58
|
+
9. **每个 step 必须 `completion_confirmed: true`** — 基于 `--- COMPLETION STATUS ---` 的 `STATUS: DONE`
|
|
59
|
+
10. **schema 向后兼容** — 新增字段全部可选;既有字段名不删不改
|
|
55
60
|
</invariants>
|
|
56
61
|
|
|
57
62
|
<state_machine>
|
|
@@ -128,9 +133,16 @@ S_FALLBACK:
|
|
|
128
133
|
### A_CLASSIFY_INTENT
|
|
129
134
|
|
|
130
135
|
1. Read `~/.maestro/workflows/maestro.md` from deferred_reading
|
|
131
|
-
2. Match intent to
|
|
132
|
-
3. Select chain from chainMap
|
|
133
|
-
|
|
136
|
+
2. Match intent to task_type via chain catalog (semantic)
|
|
137
|
+
3. Select chain from chainMap,遵循拓扑约束:
|
|
138
|
+
- 头脑风暴/探索 → `brainstorm`
|
|
139
|
+
- 正式规格/spec-generate/7-phase → `blueprint`
|
|
140
|
+
- 项目初始化 → `init`
|
|
141
|
+
- 宽/中等意图 + 无数字 phase → `analyze-macro`(产 scope_verdict,由 ralph 在 `post-analyze-scope` 决定是否插入 roadmap+analyze 或直跳 plan --from analyze)
|
|
142
|
+
- 数字 phase 上下文 → `analyze {phase}` → `plan {phase}` → `execute {phase}` → `verify {phase}` → quality pipeline
|
|
143
|
+
- 已有 analyze artifact 想直达执行 → `plan --from analyze:{ANL_ID}` → execute → verify
|
|
144
|
+
- 已有 blueprint artifact → `plan --from blueprint:{BLP_ID}` → execute → verify
|
|
145
|
+
4. 每个 step 默认 `type: "internal"`;解析 `command_scope` + `command_path`(全局优先 fallback 项目);写入 `step.stage` / `step.scope` / `step.source_artifact_ref`(如 `--from` 注入时)
|
|
134
146
|
|
|
135
147
|
### A_CLARIFY
|
|
136
148
|
|
|
@@ -139,36 +151,52 @@ S_FALLBACK:
|
|
|
139
151
|
|
|
140
152
|
### A_DECOMPOSE_TASKS
|
|
141
153
|
|
|
142
|
-
与 maestro-ralph `A_DECOMPOSE_TASKS`
|
|
154
|
+
与 maestro-ralph `A_DECOMPOSE_TASKS` 共享分解契约。Condensed:
|
|
143
155
|
|
|
144
|
-
1.
|
|
145
|
-
2. broad/medium → `ask_question` ≤3 轮:Scope
|
|
146
|
-
3. 派生 `execution_criteria
|
|
147
|
-
4. **status.json
|
|
148
|
-
5.
|
|
149
|
-
6. **输出 `/goal`
|
|
156
|
+
1. 分类意图广度。narrow / 单步 / `{status,init,quick}` 链跳过
|
|
157
|
+
2. broad/medium → `ask_question` ≤3 轮:Scope / Constraints / Definition of Done
|
|
158
|
+
3. 派生 `execution_criteria` + `task_decomposition`(每个 sub-goal 含 `done_when` + `evidence` + `lifecycle` + `completion_confirmed: false`)
|
|
159
|
+
4. **status.json 唯一真源**:写入 `boundary_contract` / `execution_criteria` / `task_decomposition`;不生成 markdown 清单
|
|
160
|
+
5. 在最后一个 evidence-producing stage(verify/review/test)之后、`milestone-complete` 之前追加 `decision:post-goal-audit`。ralph-execute 在该节点按需动态生长 `steps[]`
|
|
161
|
+
6. **输出 `/goal` 绑定提示词:**
|
|
150
162
|
```
|
|
151
163
|
📋 任务分解完成。复制下面一行设定目标,会话在子目标全部达成前不停:
|
|
152
164
|
|
|
153
|
-
/goal 目标达成条件: {session_dir}/status.json 中 task_decomposition[*].status
|
|
165
|
+
/goal 目标达成条件: {session_dir}/status.json 中 task_decomposition[*].status == "done" 且 task_decomposition[*].completion_confirmed == true 且 steps[*].completion_confirmed == true。未达成时:阅读 {session_dir}/status.json 取得 execution_criteria / boundary_contract / task_decomposition / steps 作为行动手册,调用 /maestro-ralph continue 推进;严禁手动执行 skill 或越界修改 status.json.boundary_contract.out_of_scope。
|
|
154
166
|
```
|
|
155
|
-
`/goal` 仅用户可输入;判据以 status.json 为权威,哨兵为等价信号。
|
|
156
167
|
|
|
157
168
|
### A_CREATE_SESSION
|
|
158
169
|
|
|
159
|
-
1. Read `.workflow/state.json`
|
|
160
|
-
2. Create `.workflow/.maestro/maestro-{YYYYMMDD-HHMMSS}/status.json
|
|
170
|
+
1. Read `.workflow/state.json` 获取 phase / milestone(含 D-007 反查 `phase_slugs`);读最新 macro analyze artifact 注入 `scope_verdict` + `analyze_macro_id`(如存在);读最新 blueprint artifact 注入 `blueprint_id`
|
|
171
|
+
2. Create `.workflow/.maestro/maestro-{YYYYMMDD-HHMMSS}/status.json`(与 ralph 共用 schema):
|
|
161
172
|
```json
|
|
162
|
-
{
|
|
163
|
-
"
|
|
164
|
-
"
|
|
173
|
+
{
|
|
174
|
+
"session_id", "source": "maestro", "intent", "task_type", "chain_name",
|
|
175
|
+
"phase", "phase_is_new": false, "milestone": "",
|
|
176
|
+
"scope_verdict": null, "analyze_macro_id": null, "blueprint_id": null,
|
|
177
|
+
"auto_mode": false, "exec_mode": "auto", "cli_tool": "claude",
|
|
178
|
+
"context": { "scratch_dir": null, "plan_dir": null, "analysis_dir": null,
|
|
179
|
+
"brainstorm_dir": null, "blueprint_dir": null, "issue_id": null },
|
|
180
|
+
"steps": [{
|
|
181
|
+
"index": 0, "type": "internal|external|decision",
|
|
182
|
+
"skill": "", "args": "",
|
|
183
|
+
"stage": "", "scope": null,
|
|
184
|
+
"command_scope": "global|project|missing|null",
|
|
185
|
+
"command_path": "~/.claude/commands/{name}.md | .claude/commands/{name}.md | null",
|
|
186
|
+
"milestone_id": null, "source_artifact_ref": null,
|
|
187
|
+
"status": "pending", "goal_ref": null,
|
|
188
|
+
"completion_confirmed": false, "completion_status": null,
|
|
189
|
+
"completion_evidence": null, "completed_at": null
|
|
190
|
+
}],
|
|
165
191
|
"waves": [], "current_step": 0, "status": "running",
|
|
166
|
-
"
|
|
167
|
-
"
|
|
192
|
+
"boundary_contract": {}, "execution_criteria": [],
|
|
193
|
+
"task_decomposition": [], "task_decomposition_all_done": false
|
|
194
|
+
}
|
|
168
195
|
```
|
|
169
|
-
Decomposition
|
|
170
|
-
3.
|
|
171
|
-
4.
|
|
196
|
+
Decomposition 字段仅在 A_DECOMPOSE_TASKS 产出时写入(additive)
|
|
197
|
+
3. Validate: 所有 step 的 `command_scope != "missing"`;否则 raise E005 列出缺失 skill
|
|
198
|
+
4. Initialize tracking via `TodoWrite`
|
|
199
|
+
5. If `--super`: read `maestro-super.md`, follow it completely
|
|
172
200
|
|
|
173
201
|
</actions>
|
|
174
202
|
|
|
@@ -183,6 +211,7 @@ S_FALLBACK:
|
|
|
183
211
|
| maestro-init | `-y` | Skip interactive questioning |
|
|
184
212
|
| maestro-analyze | `-y` | Skip scoping, auto-deepen |
|
|
185
213
|
| maestro-brainstorm | `-y` | Skip questions, use defaults |
|
|
214
|
+
| maestro-blueprint | `-y` | Skip interview, use recommended defaults |
|
|
186
215
|
| maestro-roadmap | `-y` | Skip questions (create/revise/review) |
|
|
187
216
|
| maestro-impeccable | `-y` | Auto-select design variant + skip confirmations |
|
|
188
217
|
| maestro-plan | `-y` | Skip confirmations and clarification |
|
|
@@ -202,6 +231,7 @@ Unlisted commands have no auto flags.
|
|
|
202
231
|
| E002 | error | Clarity too low after 2 rounds | Show parsed intent, ask rephrase |
|
|
203
232
|
| E003 | error | Chain step failed + user abort | Record partial, suggest -c resume |
|
|
204
233
|
| E004 | error | Resume session not found | Show available sessions |
|
|
234
|
+
| E005 | error | command_scope == "missing" for one or more steps | List missing skills, abort build |
|
|
205
235
|
| W001 | warning | Ambiguous intent, multiple chains | Present options |
|
|
206
236
|
| W002 | warning | Step completed with warnings | Log and continue |
|
|
207
237
|
| W003 | warning | State suggests different chain | Show discrepancy |
|
|
@@ -209,11 +239,15 @@ Unlisted commands have no auto flags.
|
|
|
209
239
|
### Success Criteria
|
|
210
240
|
|
|
211
241
|
- [ ] Intent classified with task_type, complexity, clarity_score
|
|
212
|
-
- [ ]
|
|
213
|
-
- [ ]
|
|
242
|
+
- [ ] Chain catalog 覆盖 brainstorm / blueprint / analyze-macro / analyze / roadmap / plan(三路径) / execute / verify / quality pipeline
|
|
243
|
+
- [ ] D-007: 数字 phase 步骤的 `milestone_id` 通过 `state.json.milestones[].phase_slugs` 反查
|
|
244
|
+
- [ ] macro analyze 后跟 `decision:post-analyze-scope`(由 ralph 评估 scope_verdict 决定下游链路)
|
|
245
|
+
- [ ] plan 支持 `{phase}` / `--from analyze:{ANL_ID}` / `--from blueprint:{BLP_ID}` 三路径;`source_artifact_ref` 写入 step
|
|
246
|
+
- [ ] Broad lifecycle intents decomposed (≤3 boundary questions); narrow/single-step skip
|
|
247
|
+
- [ ] status.json 唯一真源;无 markdown 清单;post-goal-audit 节点在 decomposed 时追加;/goal 提示词以 status.json 为判据
|
|
214
248
|
- [ ] Chain selected and confirmed (or auto-confirmed)
|
|
215
249
|
- [ ] Session dir created with status.json before execution; decomposition fields additive-only
|
|
216
|
-
- [ ]
|
|
250
|
+
- [ ] 每个 step 含 `command_scope` + `command_path` + `completion_confirmed` 字段
|
|
217
251
|
- [ ] Auto flags propagated to supporting commands only
|
|
218
252
|
- [ ] All chains dispatched via maestro-ralph-execute
|
|
219
253
|
- [ ] Low-complexity intents routed to maestro-quick
|
|
@@ -147,6 +147,7 @@ On validation failure: fix JSON, retry (max 2).
|
|
|
147
147
|
| Code | Condition | Recovery |
|
|
148
148
|
|------|-----------|----------|
|
|
149
149
|
| E001 | No signals from any source | Verify artifact paths or provide description |
|
|
150
|
+
| E002 | Signal source path invalid or unreadable | Check `--from-*` path; ensure artifact exists |
|
|
150
151
|
| E003 | All signals are code bugs, not command gaps | Use /maestro-quick or /maestro-plan --gaps |
|
|
151
152
|
| E004 | Overlay validation failed after 2 retries | Review JSON manually |
|
|
152
153
|
| W001 | Some signals skipped (code bugs) | Route to appropriate fix command |
|
|
@@ -34,12 +34,23 @@ Use `--gaps` for issue-focused root cause analysis (replaces manage-issue-analyz
|
|
|
34
34
|
</deferred_reading>
|
|
35
35
|
|
|
36
36
|
<context>
|
|
37
|
-
$ARGUMENTS -- phase number for
|
|
37
|
+
$ARGUMENTS -- phase number for micro mode, topic text for macro/adhoc mode, no args for milestone-wide.
|
|
38
|
+
|
|
39
|
+
**Dual-layer mode:**
|
|
40
|
+
- **Macro mode** (text argument): Explore impact surface of a topic/requirement. Produces coarse-grained context with `scope_verdict` to route next step. Use before roadmap or for standalone analysis.
|
|
41
|
+
- **Micro mode** (numeric argument): Phase-level deep analysis within an existing roadmap. Produces fine-grained context for plan consumption. `analyze 1` = Phase 1 of current milestone.
|
|
42
|
+
|
|
43
|
+
**Disambiguation rule (mode selection):**
|
|
44
|
+
- First positional arg matches `^\d+$` (pure digits, e.g. `1`, `42`) → **micro mode** (treat as phase number)
|
|
45
|
+
- First positional arg is non-numeric text (e.g. `auth-refactor`, `improve search`) → **macro mode** (treat as topic)
|
|
46
|
+
- No positional arg → milestone-wide micro mode (when roadmap present) else macro fallback
|
|
47
|
+
- Mixed input like `"1 phase"` is treated as text → macro mode (only bare numerics trigger micro)
|
|
38
48
|
|
|
39
49
|
**Flags:**
|
|
40
50
|
- `-y` / `--yes`: Auto mode — skip interactive scoping, use recommended defaults, auto-deepen
|
|
41
51
|
- `-c` / `--continue`: Resume from existing session (auto-detect session folder + discussion.md)
|
|
42
52
|
- `-q` / `--quick`: Quick mode — skip exploration + scoring, go straight to decision extraction (context.md only)
|
|
53
|
+
- `--from <source>`: Load upstream context package (brainstorm:ID, blueprint:BLP-xxx, @file, or path)
|
|
43
54
|
- `--gaps [ISS-ID]`: Issue root cause analysis mode. If ISS-ID provided, analyze single issue. If omitted, analyze all open/registered issues from issues.jsonl.
|
|
44
55
|
|
|
45
56
|
Scope routing, output directory format, artifact registration schema, and output artifact listing are defined in workflow analyze.md (Scope Routing and Output Structure sections).
|
|
@@ -48,6 +59,21 @@ Scope routing, output directory format, artifact registration schema, and output
|
|
|
48
59
|
`maestro wiki list --category debug` → select relevant → `maestro wiki load`
|
|
49
60
|
</context>
|
|
50
61
|
|
|
62
|
+
<interview_protocol>
|
|
63
|
+
Interview the user relentlessly until shared understanding is reached. Active only in interactive mode; skip when `-y/--yes`, `-c/--continue`, or input is already specific (explicit phase number or unambiguous topic).
|
|
64
|
+
|
|
65
|
+
- One decision per turn via ask_question with 2–4 options + a (Recommended) default. The user controls termination — keep interviewing until convergence; they can interrupt naturally or via `Other` at any time.
|
|
66
|
+
- Search-first when uncertain: before asking, resolve via `state.json`, `roadmap.md`, `issues.jsonl`, `maestro spec load`, `maestro wiki search`, Grep, Read, or — for open-ended multi-file scans — spawn `invoke_subagent([{ TypeName: "<TypeName>", Role: "<Role>", Prompt: "<Prompt>", Workspace: "inherit" }])` / `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
67
|
+
- Writeback cadence: each settled decision is immediately appended/updated in `discussion.md` (top table) and mirrored into `context.md` "Interview Decisions". Do NOT batch writeback to the end — partial decisions must already be on disk before the next question.
|
|
68
|
+
- Walk the decision dependency tree strictly: scope → depth → dimensions → Go/No-Go threshold. Do not open the next branch until the current one is settled.
|
|
69
|
+
- Scope guard: only ask about decisions owned by `analyze`. Do not prejudge plan/execute concerns.
|
|
70
|
+
|
|
71
|
+
Decision points: scope (phase / topic / milestone-wide / adhoc / --gaps) → depth (quick / standard / deep) → dimensions (which of the 6 to keep) → Go/No-Go threshold.
|
|
72
|
+
|
|
73
|
+
Exit: when all decision points are settled (or user explicitly signals to proceed), finalize session metadata. The decision table (populated incrementally during interview) uses this schema:
|
|
74
|
+
`| # | Decision | Choice | Source (user / code / default) |`
|
|
75
|
+
</interview_protocol>
|
|
76
|
+
|
|
51
77
|
<execution>
|
|
52
78
|
Follow '~/.maestro/workflows/analyze.md' completely.
|
|
53
79
|
|
|
@@ -78,15 +104,21 @@ Phase 4: Output context.md for downstream plan --gaps
|
|
|
78
104
|
|
|
79
105
|
**Handoff:** context.md is consumed by maestro-plan (loads Locked/Free/Deferred decisions). In --gaps mode, context.md contains issue root causes for `plan --gaps` consumption.
|
|
80
106
|
|
|
107
|
+
**scope_verdict** (added to context.md in Step 6 Synthesis for macro/adhoc/standalone scopes):
|
|
108
|
+
- `large` (3+ independent subsystems or hard serial dependencies) → suggest `/maestro-roadmap --from analyze:ANL-xxx`
|
|
109
|
+
- `medium` (1-2 subsystems, parallelizable) → suggest `/maestro-plan --from analyze:ANL-xxx`
|
|
110
|
+
- `small` (single-file or few-file change) → suggest `/maestro-plan --from analyze:ANL-xxx`
|
|
111
|
+
|
|
81
112
|
**Next-step routing on completion:**
|
|
82
113
|
|
|
83
|
-
Phase/Milestone scope:
|
|
114
|
+
Phase/Milestone scope (micro mode):
|
|
84
115
|
- Go recommendation, UI work needed → `/maestro-impeccable build {target}`
|
|
85
116
|
- Go recommendation, ready to plan → `/maestro-plan` or `/maestro-plan {phase}`
|
|
86
117
|
- No-Go recommendation → revisit requirements or `/maestro-brainstorm {topic}`
|
|
87
118
|
|
|
88
|
-
Adhoc/Standalone scope:
|
|
89
|
-
-
|
|
119
|
+
Macro/Adhoc/Standalone scope:
|
|
120
|
+
- scope_verdict = large → `/maestro-roadmap --from analyze:ANL-xxx`
|
|
121
|
+
- scope_verdict = medium/small → `/maestro-plan --from analyze:ANL-xxx`
|
|
90
122
|
- Need more exploration → `/maestro-analyze {topic} -c`
|
|
91
123
|
|
|
92
124
|
Gaps scope:
|
|
@@ -125,6 +157,7 @@ Gaps mode:
|
|
|
125
157
|
- [ ] context.md written with aggregated root causes for plan --gaps
|
|
126
158
|
|
|
127
159
|
Both modes (full + quick):
|
|
160
|
+
- [ ] Interactive mode: interview decision table written to `discussion.md` and mirrored into `context.md` "Interview Decisions"
|
|
128
161
|
- [ ] context.md written with all decisions classified as Locked/Free/Deferred
|
|
129
162
|
- [ ] Gray areas identified through phase-specific analysis
|
|
130
163
|
- [ ] Decision Recording Protocol applied to all decisions
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: maestro-blueprint
|
|
3
|
+
description: Generate formal specification package (Product Brief, PRD, Architecture, Epics) through 6-phase document chain
|
|
4
|
+
argument-hint: <idea or @file> [-y] [-c] [--from <source>]
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- ask_question
|
|
7
|
+
- define_subagent
|
|
8
|
+
- grep_search
|
|
9
|
+
- invoke_subagent
|
|
10
|
+
- manage_subagents
|
|
11
|
+
- replace_file_content
|
|
12
|
+
- run_command
|
|
13
|
+
- send_message
|
|
14
|
+
- view_file
|
|
15
|
+
- write_to_file
|
|
16
|
+
---
|
|
17
|
+
<purpose>
|
|
18
|
+
Formal specification document chain producing a complete specification package through 6 sequential phases with multi-CLI analysis and interactive refinement. Pure documentation — no code generation, no roadmap generation.
|
|
19
|
+
|
|
20
|
+
Parallel to `brainstorm` as an upstream origin command:
|
|
21
|
+
- **brainstorm** = divergent exploration (lightweight, multi-role creative)
|
|
22
|
+
- **blueprint** = convergent documentation (heavyweight, 6-phase formal spec chain)
|
|
23
|
+
|
|
24
|
+
Output: `.workflow/blueprint/BLP-{slug}-{date}/` containing Product Brief, PRD, Architecture, and Epics.
|
|
25
|
+
</purpose>
|
|
26
|
+
|
|
27
|
+
<required_reading>
|
|
28
|
+
@~/.maestro/workflows/blueprint.md
|
|
29
|
+
</required_reading>
|
|
30
|
+
|
|
31
|
+
<deferred_reading>
|
|
32
|
+
- [blueprint-config.json](~/.maestro/templates/blueprint-config.json) — read when initializing blueprint configuration
|
|
33
|
+
</deferred_reading>
|
|
34
|
+
|
|
35
|
+
<context>
|
|
36
|
+
$ARGUMENTS -- idea text, @file reference, or upstream context source.
|
|
37
|
+
|
|
38
|
+
**Flags:**
|
|
39
|
+
- `-y` / `--yes`: Auto mode — skip interactive questions, use recommended defaults
|
|
40
|
+
- `-c` / `--continue`: Resume from last checkpoint (reads blueprint-config.json)
|
|
41
|
+
- `--from <source>`: Load upstream context package (brainstorm:ID, @file, or path). Consumes context-package.json
|
|
42
|
+
- `--from-brainstorm SESSION-ID`: (backward compat alias for `--from brainstorm:ID`)
|
|
43
|
+
|
|
44
|
+
**Input types:**
|
|
45
|
+
- Direct text: `"Build a real-time collaboration platform with WebSocket"`
|
|
46
|
+
- File reference: `@requirements.md`
|
|
47
|
+
- Context import: `--from brainstorm:BRN-001` or `--from @requirements.md` or `--from path/`
|
|
48
|
+
- Resume: `-c` (resumes from first incomplete phase)
|
|
49
|
+
|
|
50
|
+
**Pipeline position:**
|
|
51
|
+
```
|
|
52
|
+
maestro-brainstorm (optional upstream)
|
|
53
|
+
↓ guidance-specification.md / context-package.json
|
|
54
|
+
maestro-blueprint
|
|
55
|
+
↓ .workflow/blueprint/BLP-{slug}-{date}/
|
|
56
|
+
maestro-analyze → maestro-roadmap → maestro-plan
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Output boundary**: ALL file writes MUST target `.workflow/blueprint/BLP-{slug}-{date}/` or `.workflow/state.json` only. NEVER modify source code or files outside these paths.
|
|
60
|
+
|
|
61
|
+
### Pre-load specs
|
|
62
|
+
1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for architecture decisions (Phase 4).
|
|
63
|
+
2. Optional — proceed without if unavailable.
|
|
64
|
+
</context>
|
|
65
|
+
|
|
66
|
+
<interview_protocol>
|
|
67
|
+
Interview the user relentlessly about every aspect of the spec until shared understanding is reached. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one; if a question can be answered by exploring the codebase, explore the codebase instead. Active only in interactive mode; skip when `-y/--yes`, `-c/--continue`, or input is already specific (clear idea + scope).
|
|
68
|
+
|
|
69
|
+
- Ask one question per turn via ask_question and wait for the user's feedback before continuing; every question must carry a recommended answer marked `(Recommended)`, 2–4 options total. The user controls termination — keep interviewing until convergence; they can interrupt naturally or via `Other` at any time.
|
|
70
|
+
- Search-first when uncertain: before asking, resolve via `state.json`, existing artifacts, `maestro spec load`, direct codebase exploration (Glob/Grep/Read), or — for open-ended multi-file scans — spawn `invoke_subagent([{ TypeName: "<TypeName>", Role: "<Role>", Prompt: "<Prompt>", Workspace: "inherit" }])` / `maestro delegate ... --role explore`. Never ask what code or memory can verify; never bounce your own ambiguity back to the user — search first, then ask only what truly needs human judgment.
|
|
71
|
+
- Writeback cadence: each settled decision is immediately persisted into `blueprint-config.json` before the next question. Do NOT batch writeback to the end — partial decisions must already be on disk.
|
|
72
|
+
- Walk the decision dependency tree depth-first: scope → spec type → focus areas → requirement priorities. Do not open the next branch until the current one is settled.
|
|
73
|
+
- Scope guard: only decide the shape of the specification. Do not pre-resolve roadmap phases or plan tasks — those belong to downstream commands.
|
|
74
|
+
|
|
75
|
+
Decision points: scope (full product / feature set / single feature) → spec type (service / api / library / platform) → focus areas → whether to run codebase exploration.
|
|
76
|
+
|
|
77
|
+
Exit: on consensus or explicit user signal to proceed, finalize blueprint-config.json (decisions already written incrementally) and proceed to Phase 1.
|
|
78
|
+
</interview_protocol>
|
|
79
|
+
|
|
80
|
+
<execution>
|
|
81
|
+
Follow `~/.maestro/workflows/blueprint.md` completely.
|
|
82
|
+
|
|
83
|
+
### Phase chain
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
P0: Spec Study → P1: Discovery → P1.5: Req Expansion → P2: Product Brief → P3: PRD → P4: Architecture → P5: Epics → P6: Readiness Check
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
P6 gate: Pass (>=80%) → Handoff | Review (60-79%) → Handoff w/caveats | Fail (<60%) → P6.5 Auto-Fix (max 2 iter) → re-check
|
|
90
|
+
|
|
91
|
+
### Next-step routing on completion
|
|
92
|
+
|
|
93
|
+
| Condition | Suggestion |
|
|
94
|
+
|-----------|-----------|
|
|
95
|
+
| Need codebase analysis | /maestro-analyze {topic} --from blueprint:BLP-xxx |
|
|
96
|
+
| Ready for roadmap | /maestro-roadmap --from blueprint:BLP-xxx |
|
|
97
|
+
| Small scope, direct plan | /maestro-plan --from blueprint:BLP-xxx |
|
|
98
|
+
| Need project setup | /maestro-init |
|
|
99
|
+
</execution>
|
|
100
|
+
|
|
101
|
+
<error_codes>
|
|
102
|
+
| Code | Severity | Condition | Recovery |
|
|
103
|
+
|------|----------|-----------|----------|
|
|
104
|
+
| E001 | error | Idea text or @file required | Prompt user for input |
|
|
105
|
+
| E002 | error | Context source not found (--from) | Show available sessions/sources |
|
|
106
|
+
| E006 | error | `.workflow/` not initialized | Run maestro-init first |
|
|
107
|
+
| E007 | error | Phase 6 readiness Fail after 2 auto-fix iterations | Present manual fix options |
|
|
108
|
+
| W001 | warning | CLI analysis failed, using fallback | Continue with available data |
|
|
109
|
+
| W002 | warning | Codebase exploration failed | Continue without codebase context |
|
|
110
|
+
| W003 | warning | Glossary has < 5 terms | Note in readiness check |
|
|
111
|
+
| W004 | warning | Review-level readiness score (60-79%) | Proceed with caveats |
|
|
112
|
+
| W005 | warning | External research agent failed | Continue without apiResearchContext |
|
|
113
|
+
</error_codes>
|
|
114
|
+
|
|
115
|
+
<success_criteria>
|
|
116
|
+
- [ ] Interactive mode: interview decisions persisted in blueprint-config.json
|
|
117
|
+
- [ ] `blueprint-config.json` created with session metadata and phase tracking
|
|
118
|
+
- [ ] `product-brief.md` with vision, goals, scope, multi-perspective synthesis
|
|
119
|
+
- [ ] `glossary.json` with 5+ core terms for cross-document consistency
|
|
120
|
+
- [ ] `requirements/` directory with `_index.md` + individual `REQ-*.md` + `NFR-*.md` files
|
|
121
|
+
- [ ] All requirements have RFC 2119 keywords and acceptance criteria
|
|
122
|
+
- [ ] `architecture/` directory with `_index.md` + individual `ADR-*.md` files
|
|
123
|
+
- [ ] Architecture includes state machine, config model, error handling, observability (service type)
|
|
124
|
+
- [ ] `epics/` directory with `_index.md` + individual `EPIC-*.md` files
|
|
125
|
+
- [ ] Cross-Epic dependency map (Mermaid) and MVP subset tagged
|
|
126
|
+
- [ ] `readiness-report.md` with 4-dimension quality scores and traceability matrix
|
|
127
|
+
- [ ] `blueprint-summary.md` with one-page executive summary
|
|
128
|
+
- [ ] All documents have valid YAML frontmatter with session_id
|
|
129
|
+
- [ ] Glossary terms used consistently across all documents
|
|
130
|
+
- [ ] Readiness gate: Pass (>=80%) or Review (>=60%) with documented caveats
|
|
131
|
+
- [ ] Artifact registered in state.json (type=blueprint)
|
|
132
|
+
- [ ] context-package.json generated for downstream consumption
|
|
133
|
+
</success_criteria>
|