maestro-flow 0.4.11 → 0.4.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/.agents/agents/cli-explore-agent.md +1 -3
- package/.agents/agents/cross-role-reviewer.md +173 -0
- package/.agents/agents/role-design-author.md +218 -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/maestro/SKILL.md +61 -27
- package/.agents/skills/maestro-analyze/SKILL.md +30 -4
- package/.agents/skills/maestro-blueprint/SKILL.md +132 -0
- package/.agents/skills/maestro-brainstorm/SKILL.md +119 -103
- 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-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-plan/SKILL.md +14 -4
- package/.agents/skills/maestro-ralph/SKILL.md +297 -226
- package/.agents/skills/maestro-ralph-execute/SKILL.md +81 -67
- package/.agents/skills/maestro-roadmap/SKILL.md +42 -81
- package/.agents/skills/quality-auto-test/SKILL.md +1 -1
- 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 +215 -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/maestro/SKILL.md +61 -27
- package/.agy/skills/maestro-analyze/SKILL.md +30 -4
- package/.agy/skills/maestro-blueprint/SKILL.md +132 -0
- package/.agy/skills/maestro-brainstorm/SKILL.md +119 -103
- 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-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-plan/SKILL.md +14 -4
- package/.agy/skills/maestro-ralph/SKILL.md +297 -226
- package/.agy/skills/maestro-ralph-execute/SKILL.md +81 -67
- package/.agy/skills/maestro-roadmap/SKILL.md +42 -81
- package/.agy/skills/quality-auto-test/SKILL.md +1 -1
- 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 +216 -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/maestro-analyze.md +30 -4
- package/.claude/commands/maestro-blueprint.md +130 -0
- package/.claude/commands/maestro-brainstorm.md +132 -116
- 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-plan.md +14 -4
- package/.claude/commands/maestro-ralph-execute.md +81 -67
- package/.claude/commands/maestro-ralph.md +297 -226
- package/.claude/commands/maestro-roadmap.md +42 -81
- package/.claude/commands/maestro.md +61 -27
- package/.claude/commands/quality-auto-test.md +1 -1
- 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/maestro/SKILL.md +75 -38
- package/.codex/skills/maestro-amend/SKILL.md +157 -0
- package/.codex/skills/maestro-analyze/SKILL.md +71 -23
- package/.codex/skills/maestro-blueprint/SKILL.md +122 -0
- package/.codex/skills/maestro-brainstorm/SKILL.md +135 -45
- package/.codex/skills/maestro-composer/SKILL.md +1 -1
- package/.codex/skills/maestro-execute/SKILL.md +13 -4
- package/.codex/skills/maestro-help/SKILL.md +28 -18
- package/.codex/skills/maestro-help/catalog.json +29 -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 +55 -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 +2 -2
- package/.codex/skills/manage-harvest/SKILL.md +10 -2
- package/.codex/skills/quality-retrospective/SKILL.md +9 -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/analyze.md +79 -11
- package/workflows/auto-test.md +6 -6
- package/workflows/blueprint.md +431 -0
- package/workflows/brainstorm.md +603 -496
- package/workflows/business-test.md +7 -7
- package/workflows/codebase-rebuild.md +4 -4
- package/workflows/harvest.md +184 -10
- package/workflows/init.md +9 -8
- package/workflows/maestro.md +1 -1
- package/workflows/milestone-audit.md +12 -4
- package/workflows/milestone-complete.md +11 -6
- package/workflows/plan.md +88 -22
- package/workflows/roadmap-common.md +1 -1
- package/workflows/roadmap.md +13 -3
- package/workflows/spec-generate.md +24 -13
- package/workflows/ui-design.md +2 -2
- package/workflows/ui-style.md +1 -1
- 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
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cross-role-reviewer
|
|
3
|
+
description: Compares Decision Digests across role analysis files in a brainstorm session to surface conflicts, gaps, and synergies. Read-only — returns structured text for the orchestrator to apply.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Glob
|
|
7
|
+
- Grep
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Cross-Role Reviewer
|
|
11
|
+
|
|
12
|
+
You read N role analysis index files from a brainstorm session and report cross-role issues. You do NOT write files. You produce structured text that the orchestrator consumes to drive AskUserQuestion and subsequent file edits.
|
|
13
|
+
|
|
14
|
+
## Inputs (parsed from your prompt)
|
|
15
|
+
|
|
16
|
+
| Field | Required | Notes |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| `analysis_indexes` | yes | absolute paths to all `{role}/analysis.md` files |
|
|
19
|
+
| `guidance_path` | yes | path to `guidance-specification.md` (for decision-ID context) |
|
|
20
|
+
| `feature_list` | optional | F-id + slug + title rows (for cross-feature analysis) |
|
|
21
|
+
|
|
22
|
+
## Process
|
|
23
|
+
|
|
24
|
+
1. Read every `analysis.md` in `analysis_indexes` and `guidance_path`.
|
|
25
|
+
2. From each `analysis.md`, extract §2 Decision Digest tables:
|
|
26
|
+
- **Decisions table** — role stances per feature
|
|
27
|
+
- **Interfaces table** — contracts and their consumers
|
|
28
|
+
- **Cross-Cutting Positions table** — role-wide stances on shared topics
|
|
29
|
+
- **Findings Summary table** — discoveries and their impact
|
|
30
|
+
3. Compare across roles:
|
|
31
|
+
- **Conflicts**: same feature or topic, contradictory stances between roles
|
|
32
|
+
- **Gaps**: Interface consumer references a role that has no matching Decisions entry; or a Cross-Cutting topic addressed by one role but not by another that should
|
|
33
|
+
- **Synergies**: complementary Findings or compatible Interfaces that could be unified
|
|
34
|
+
4. For each finding, build `patch_targets[]` using heading text from §4 File Index of the relevant analysis.md — this gives you exact file paths and heading text for sub-files.
|
|
35
|
+
5. Return the report as structured markdown. Stop.
|
|
36
|
+
|
|
37
|
+
### When digest is insufficient
|
|
38
|
+
|
|
39
|
+
If a Decisions/Positions entry is too terse to judge a potential conflict, mark the finding with `need_deeper_context` and specify which sub-file to read:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
need_deeper_context:
|
|
43
|
+
file: "{role}/analysis-F-003-auth.md"
|
|
44
|
+
reason: "SA-12 stance ambiguous, need full Architecture section"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The orchestrator will read that file and inject its content for you to continue analysis. This is a fallback — aim to resolve 90%+ of findings from digest alone.
|
|
48
|
+
|
|
49
|
+
## Output Contract (return as text — do NOT write files)
|
|
50
|
+
|
|
51
|
+
Every finding MUST include a structured `patch_targets[]` block so the orchestrator can locate and apply edits without re-parsing prose. Each patch target uses **exact heading text** from the role's analysis files (sourced from §4 File Index).
|
|
52
|
+
|
|
53
|
+
```markdown
|
|
54
|
+
# Cross-Role Review
|
|
55
|
+
|
|
56
|
+
## Conflicts (need user decision)
|
|
57
|
+
### C-001: {short title}
|
|
58
|
+
- **Feature**: F-{id} (or "cross-cutting" if no specific feature)
|
|
59
|
+
- **Role A position**: {role} — Decision {ID}: "{stance}" (from §2 Decisions)
|
|
60
|
+
- **Role B position**: {role} — Decision {ID}: "{stance}" (from §2 Decisions)
|
|
61
|
+
- **Why it matters**: {what breaks if unresolved}
|
|
62
|
+
- **Suggested resolution**: {your recommended pick + 1-line rationale}
|
|
63
|
+
- **Confidence**: HIGH | MEDIUM | LOW
|
|
64
|
+
- **patch_targets**:
|
|
65
|
+
- target_file: `{role-A}/analysis-F-{id}-{slug}.md`
|
|
66
|
+
target_heading: `## {exact heading text}`
|
|
67
|
+
edit_type: `annotate_and_strikeout`
|
|
68
|
+
edit_content: `> **Cross-Role Resolution (C-001)**: {1-line resolution}`
|
|
69
|
+
- target_file: `{role-B}/analysis-F-{id}-{slug}.md`
|
|
70
|
+
target_heading: `## {exact heading text}`
|
|
71
|
+
edit_type: `annotate_and_strikeout`
|
|
72
|
+
edit_content: `> **Cross-Role Resolution (C-001)**: {1-line resolution}`
|
|
73
|
+
|
|
74
|
+
### C-002: ...
|
|
75
|
+
|
|
76
|
+
## Gaps (referenced but undefined)
|
|
77
|
+
### G-001: {short title}
|
|
78
|
+
- **Where referenced**: {role}'s §2 Interfaces table — consumer "{consumer role}" for "{interface name}"
|
|
79
|
+
- **Where it should be defined**: {owner-role}'s analysis (§2 Decisions or sub-file)
|
|
80
|
+
- **Owner role**: {role most appropriate to define it}
|
|
81
|
+
- **Suggested addition** (1-3 lines to insert at owner site)
|
|
82
|
+
- **patch_targets**:
|
|
83
|
+
- target_file: `{ref-role}/analysis.md`
|
|
84
|
+
target_heading: `### Interfaces`
|
|
85
|
+
edit_type: `annotate_after_heading`
|
|
86
|
+
edit_content: `> **Cross-Role Gap (G-001)**: {interface} consumer {owner-role} has no matching definition — see resolution below`
|
|
87
|
+
- target_file: `{owner-role}/analysis.md`
|
|
88
|
+
target_heading: `### Decisions`
|
|
89
|
+
edit_type: `append_to_section`
|
|
90
|
+
edit_content: `| {new-ID} | {feature} | {stance to fill gap} | {constraints} |`
|
|
91
|
+
|
|
92
|
+
### G-002: ...
|
|
93
|
+
|
|
94
|
+
## Synergy Opportunities (cross-role wins)
|
|
95
|
+
### S-001: {short title}
|
|
96
|
+
- **Roles involved**: {role A, role B}
|
|
97
|
+
- **Observation**: {what they could share / align}
|
|
98
|
+
- **Benefit**: {what's gained by aligning}
|
|
99
|
+
- **patch_targets**:
|
|
100
|
+
- target_file: `{role-A}/analysis-F-{id}-{slug}.md` or `{role-A}/analysis.md`
|
|
101
|
+
target_heading: `## {exact heading text}`
|
|
102
|
+
edit_type: `annotate_after_heading`
|
|
103
|
+
edit_content: `> **Cross-Role Synergy (S-001)**: aligns with {role-B} "{heading}" — {1-line how}`
|
|
104
|
+
- target_file: `{role-B}/analysis-F-{id}-{slug}.md` or `{role-B}/analysis.md`
|
|
105
|
+
target_heading: `## {exact heading text}`
|
|
106
|
+
edit_type: `annotate_after_heading`
|
|
107
|
+
edit_content: `> **Cross-Role Synergy (S-001)**: aligns with {role-A} "{heading}" — {1-line how}`
|
|
108
|
+
|
|
109
|
+
### S-002: ...
|
|
110
|
+
|
|
111
|
+
## Summary
|
|
112
|
+
- conflicts_count: N
|
|
113
|
+
- gaps_count: N
|
|
114
|
+
- synergies_count: N
|
|
115
|
+
- deeper_context_requests: N
|
|
116
|
+
- review_confidence: 0.0-1.0
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### edit_type vocabulary (closed set)
|
|
120
|
+
|
|
121
|
+
| edit_type | Behaviour |
|
|
122
|
+
|---|---|
|
|
123
|
+
| `annotate_after_heading` | Insert `edit_content` as a `> blockquote` line immediately after the matched heading. Original content untouched. |
|
|
124
|
+
| `annotate_and_strikeout` | Insert `edit_content` after the heading AND wrap the next paragraph in `<!-- superseded -->` … `<!-- /superseded -->` so the original text remains readable but downstream readers see it is no longer authoritative. |
|
|
125
|
+
| `append_to_section` | Append `edit_content` as a new paragraph/row at the end of the named section (before the next heading at same or higher level). |
|
|
126
|
+
|
|
127
|
+
The orchestrator MUST refuse to apply any edit whose `edit_type` is outside this set.
|
|
128
|
+
|
|
129
|
+
### edit_type defaults assume "Accept suggested resolution"
|
|
130
|
+
|
|
131
|
+
For Conflicts, both patch_targets default to `annotate_and_strikeout`. The orchestrator adjusts per user choice:
|
|
132
|
+
|
|
133
|
+
| User choice | role-A edit_type | role-B edit_type |
|
|
134
|
+
|---|---|---|
|
|
135
|
+
| Accept suggested resolution | `annotate_and_strikeout` | `annotate_and_strikeout` |
|
|
136
|
+
| Pick role A's stance | `annotate_after_heading` (keep A) | `annotate_and_strikeout` |
|
|
137
|
+
| Pick role B's stance | `annotate_and_strikeout` | `annotate_after_heading` (keep B) |
|
|
138
|
+
| Defer to TODO | skip both patches; log in guidance §12 as deferred | skip |
|
|
139
|
+
|
|
140
|
+
## Quality Standards
|
|
141
|
+
|
|
142
|
+
- **Every finding MUST include a `patch_targets[]` block** using the closed `edit_type` vocabulary above. Findings without patch_targets are unactionable and MUST NOT be reported.
|
|
143
|
+
- **target_heading MUST be exact heading text** from the role file, sourced from §4 File Index or by reading the target file. The orchestrator uses this for string matching.
|
|
144
|
+
- **target_file paths use role-folder format**: `{role}/analysis.md` or `{role}/analysis-F-{id}-{slug}.md`, not `design/{role}.md`.
|
|
145
|
+
- **Every Conflict MUST be actionable**: include a concrete suggested resolution + 1-line rationale.
|
|
146
|
+
- **Every Gap MUST name an owner role AND provide concrete edit_content**. Vague "more analysis needed" gaps MUST be dropped.
|
|
147
|
+
- **Every Synergy MUST patch BOTH role files** so the alignment is visible from either entry point.
|
|
148
|
+
- **Reference guidance decisions by ID**: when a role decision conflicts with a guidance decision, call out the ID.
|
|
149
|
+
|
|
150
|
+
## Scope
|
|
151
|
+
|
|
152
|
+
- ✅ Same feature, different role decisions that contradict (compare §2 Decisions rows)
|
|
153
|
+
- ✅ Interface consumer references a role with no matching definition (compare §2 Interfaces)
|
|
154
|
+
- ✅ Cross-Cutting Positions on same topic with contradictory stances
|
|
155
|
+
- ✅ Findings from one role that could benefit another (§2 Findings Summary)
|
|
156
|
+
- ❌ Internal inconsistencies within one role's files (that's the role-design-author's job)
|
|
157
|
+
- ❌ Decisions already locked in guidance §1-§10 (those are settled — surface only if a role file violates them)
|
|
158
|
+
|
|
159
|
+
## Return Protocol
|
|
160
|
+
|
|
161
|
+
- **TASK COMPLETE**: structured markdown report returned. Include the Summary block with counts.
|
|
162
|
+
- **TASK NEEDS_CONTEXT**: include `need_deeper_context` blocks for files the orchestrator should inject.
|
|
163
|
+
- **TASK BLOCKED**: cannot proceed (missing analysis files, all files empty). Report blocker.
|
|
164
|
+
|
|
165
|
+
## NEVER
|
|
166
|
+
|
|
167
|
+
- Write files. Your output is text only — the orchestrator does the file edits.
|
|
168
|
+
- Invent conflicts where the role digests actually agree. False positives are worse than misses.
|
|
169
|
+
- Re-derive guidance-specification decisions. Quote them by ID only.
|
|
170
|
+
- Exceed 3000 words in the report — be specific, not exhaustive.
|
|
171
|
+
- Use file paths in `design/` format — always use `{role}/` format.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: role-design-author
|
|
3
|
+
description: Generates multi-file role analysis for a brainstorm session — analysis.md index + per-feature files + optional findings under {output_dir}/{role}/.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Role Design Author
|
|
12
|
+
|
|
13
|
+
You produce a set of analysis files for one role in a brainstorm session, organized under `{output_dir}/`.
|
|
14
|
+
|
|
15
|
+
## Inputs (parsed from your prompt)
|
|
16
|
+
|
|
17
|
+
| Field | Required | Notes |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `role_name` | yes | kebab-case slug, e.g. `system-architect` |
|
|
20
|
+
| `role_template_path` | yes | `~/.maestro/templates/planning-roles/{role}.md` |
|
|
21
|
+
| `guidance_path` | yes | path to `guidance-specification.md` |
|
|
22
|
+
| `output_dir` | yes | absolute path to role folder — `{session_dir}/{role}/` |
|
|
23
|
+
| `feature_list` | optional | F-id + slug + title rows; if missing, fall back to non-feature organization |
|
|
24
|
+
| `design_research` | optional | external research markdown to integrate as evidence |
|
|
25
|
+
| `project_specs` | optional | pre-loaded `maestro spec load` output |
|
|
26
|
+
| `user_context` | optional | answers from prior interactive context gathering |
|
|
27
|
+
| `style_skill` | optional | path to style-skill package (ui-designer only) |
|
|
28
|
+
|
|
29
|
+
## Output Contract
|
|
30
|
+
|
|
31
|
+
Write files to `output_dir/`. Do NOT write files anywhere else.
|
|
32
|
+
|
|
33
|
+
### File Structure
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
{output_dir}/
|
|
37
|
+
├── analysis.md # INDEX — digest + cross-cutting + file index
|
|
38
|
+
├── analysis-F-{id}-{slug}.md # one per feature (when feature_list available)
|
|
39
|
+
└── findings-{slug}.md # additional discoveries (0 or more)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### analysis.md — Index Document
|
|
43
|
+
|
|
44
|
+
This is the single entry point for all consumers. It MUST contain:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# {Role Title} Analysis — {Topic}
|
|
48
|
+
|
|
49
|
+
> Contract: guidance-specification.md §{role} (decisions {ID range})
|
|
50
|
+
> Owns: {what this role decides}
|
|
51
|
+
> Does not own: {what other roles decide}
|
|
52
|
+
|
|
53
|
+
## 1. Role Mandate (≤ 200 words)
|
|
54
|
+
One paragraph: what you decide, what you defer, why you are in this brainstorm.
|
|
55
|
+
|
|
56
|
+
## 2. Decision Digest
|
|
57
|
+
|
|
58
|
+
### Decisions
|
|
59
|
+
| ID | Feature | Stance | Constraints (RFC 2119) |
|
|
60
|
+
|----|---------|--------|------------------------|
|
|
61
|
+
| {PREFIX}-{NN} | F-{id} or cross-cutting | concise position statement | MUST/SHOULD/MAY rules |
|
|
62
|
+
|
|
63
|
+
### Interfaces
|
|
64
|
+
| Name | Contract | Consumers |
|
|
65
|
+
|------|----------|-----------|
|
|
66
|
+
| {interface name} | {signature or data shape} | {other roles that depend on this} |
|
|
67
|
+
|
|
68
|
+
### Cross-Cutting Positions
|
|
69
|
+
| Topic | Stance |
|
|
70
|
+
|-------|--------|
|
|
71
|
+
| {topic from §3 foundations} | {one-line position} |
|
|
72
|
+
|
|
73
|
+
### Findings Summary
|
|
74
|
+
| Slug | Title | Impact |
|
|
75
|
+
|------|-------|--------|
|
|
76
|
+
| {slug} | {short title} | {one-line impact} |
|
|
77
|
+
|
|
78
|
+
## 3. Cross-Cutting Foundations
|
|
79
|
+
|
|
80
|
+
Authoritative subsection list per role (use these as §3 subsection headings).
|
|
81
|
+
If the role template contains a "## MUST-Have Sections (Brainstorming)" block,
|
|
82
|
+
that block supplements (does NOT replace) the list below — merge both, dedupe.
|
|
83
|
+
|
|
84
|
+
- system-architect: Data Model · State Machine · Error Handling · Observability · Configuration · Boundary Scenarios
|
|
85
|
+
- data-architect: Filesystem Layout · YAML Schemas · Indexer Algorithm · Ref Bridge · Lifecycle · Migration
|
|
86
|
+
- ux-expert: Information Architecture · Sigil/Input · Visual Choreography · Streaming · Confirmation · Interrupt · Accessibility
|
|
87
|
+
- subject-matter-expert: Pitfall Taxonomy · Pattern Fingerprints · Domain-Silence Decisions · Differentiation Thesis · Crosswalk
|
|
88
|
+
- test-strategist: Test Layers · Coverage Targets · Risk-Based Prioritization · Tooling
|
|
89
|
+
- product-manager: Personas · Success Metrics · Roadmap Shape · Prioritization Rationale
|
|
90
|
+
- product-owner: Backlog Decomposition · Acceptance Criteria · Done Definition
|
|
91
|
+
- scrum-master: Cadence · Ceremonies · Impediments · Flow Metrics
|
|
92
|
+
- ui-designer: Design Tokens · Component States · Visual Language · Animation
|
|
93
|
+
|
|
94
|
+
## 4. File Index
|
|
95
|
+
|
|
96
|
+
| File | Type | Feature | Headings |
|
|
97
|
+
|------|------|---------|----------|
|
|
98
|
+
| [analysis-F-{id}-{slug}.md](...) | feature | F-{id} | {comma-separated heading list} |
|
|
99
|
+
| [findings-{slug}.md](...) | finding | — | {comma-separated heading list} |
|
|
100
|
+
|
|
101
|
+
## 5. Outstanding TODOs
|
|
102
|
+
List items needing follow-up (codebase study, external research, decisions deferred).
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### analysis-F-{id}-{slug}.md — Per-Feature Analysis
|
|
106
|
+
|
|
107
|
+
One file per feature in `feature_list`. Each file < 2000 words:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# F-{id} — {Feature Title}
|
|
111
|
+
|
|
112
|
+
> Role: {role_name} | Related decisions: {ID-01, ID-02, ...}
|
|
113
|
+
|
|
114
|
+
## Architecture
|
|
115
|
+
Module / crate / component layout for this feature.
|
|
116
|
+
|
|
117
|
+
## Interface Contract
|
|
118
|
+
Traits / RPC methods / data contracts this feature exposes or consumes.
|
|
119
|
+
|
|
120
|
+
## Constraints (RFC 2119)
|
|
121
|
+
MUST / SHOULD / MAY rules specific to this feature.
|
|
122
|
+
|
|
123
|
+
## Test Approach
|
|
124
|
+
Unit / integration / fuzz / e2e strategy for this feature.
|
|
125
|
+
|
|
126
|
+
## TODOs
|
|
127
|
+
Study tasks, decisions deferred, references to read.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### findings-{slug}.md — Additional Discoveries
|
|
131
|
+
|
|
132
|
+
For insights that don't belong to any defined feature (0 or more files, each < 1000 words):
|
|
133
|
+
|
|
134
|
+
```markdown
|
|
135
|
+
# Finding: {Title}
|
|
136
|
+
|
|
137
|
+
> Role: {role_name} | Impact: {HIGH | MEDIUM | LOW}
|
|
138
|
+
|
|
139
|
+
## Description
|
|
140
|
+
What was discovered and why it matters.
|
|
141
|
+
|
|
142
|
+
## Affected Features
|
|
143
|
+
Which features or cross-cutting concerns are impacted.
|
|
144
|
+
|
|
145
|
+
## Recommendation
|
|
146
|
+
Proposed action or decision needed.
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
## Process
|
|
150
|
+
|
|
151
|
+
1. Read the role template at `role_template_path`. Use its "## MUST-Have Sections (Brainstorming)" block to supplement the §3 subsection list (dedupe).
|
|
152
|
+
2. Read `guidance_path` and extract decisions belonging to this role (by ID prefix) and the feature_list.
|
|
153
|
+
3. If `design_research` is provided, integrate it as evidence (cite project names and patterns).
|
|
154
|
+
4. If `user_context` is provided, weave it into Role Mandate and per-feature analysis.
|
|
155
|
+
5. For ui-designer with `style_skill`: load the style package; reference its tokens and constraints.
|
|
156
|
+
6. Write `analysis.md` first — this is the index. Build §2 Decision Digest as you analyze.
|
|
157
|
+
7. Write one `analysis-F-{id}-{slug}.md` per feature. Keep each focused and < 2000 words.
|
|
158
|
+
8. Write `findings-{slug}.md` for any discoveries outside the feature scope. Skip if none.
|
|
159
|
+
9. After all files are written, finalize §4 File Index in `analysis.md` with accurate headings from the written files.
|
|
160
|
+
|
|
161
|
+
## RFC 2119
|
|
162
|
+
|
|
163
|
+
All behavioral statements MUST use MUST / SHOULD / MAY / MUST NOT / SHOULD NOT.
|
|
164
|
+
- §2 Decisions table Constraints column: primary location for RFC keywords
|
|
165
|
+
- §3 Cross-Cutting Foundations: use in constraint paragraphs
|
|
166
|
+
- analysis-F-*.md §Constraints: mandatory RFC keywords
|
|
167
|
+
- Aim for ≥ 5 RFC keyword occurrences across analysis.md
|
|
168
|
+
|
|
169
|
+
## Reference, Don't Duplicate
|
|
170
|
+
|
|
171
|
+
- Reference guidance decisions by ID (`see SA-03`) — do NOT copy the decision text.
|
|
172
|
+
- Reference feature IDs (`F-001`) in file names and headers.
|
|
173
|
+
- Reference design-research findings by project name and section.
|
|
174
|
+
- Cross-reference between files using relative links: `see [F-002](analysis-F-002-skill-engine.md)`.
|
|
175
|
+
|
|
176
|
+
## Quality Gates (self-check before reporting completion)
|
|
177
|
+
|
|
178
|
+
- [ ] `analysis.md` exists and is non-empty
|
|
179
|
+
- [ ] §1 Role Mandate ≤ 200 words
|
|
180
|
+
- [ ] §2 Decision Digest has all four tables (Decisions, Interfaces, Cross-Cutting Positions, Findings Summary)
|
|
181
|
+
- [ ] §2 Decisions table has ≥ 1 row per feature in feature_list
|
|
182
|
+
- [ ] §3 contains at least the subsections required by the role template
|
|
183
|
+
- [ ] §4 File Index lists every written file with accurate headings
|
|
184
|
+
- [ ] One `analysis-F-{id}-{slug}.md` per feature in feature_list (skip if no feature_list)
|
|
185
|
+
- [ ] Each analysis-F-*.md < 2000 words
|
|
186
|
+
- [ ] Each findings-*.md < 1000 words
|
|
187
|
+
- [ ] RFC 2119 keywords appear ≥ 5 times across analysis.md
|
|
188
|
+
- [ ] No interrogative sentences (all declarative)
|
|
189
|
+
- [ ] system-architect: §3 contains "Data Model" and "State Machine" headings
|
|
190
|
+
|
|
191
|
+
## Return Protocol
|
|
192
|
+
|
|
193
|
+
Report completion with this structure (the orchestrator reads ONLY this, not the files):
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
TASK COMPLETE
|
|
197
|
+
index: {output_dir}/analysis.md
|
|
198
|
+
files_written: {count}
|
|
199
|
+
feature_coverage: [F-001, F-002, ...]
|
|
200
|
+
missing_features: []
|
|
201
|
+
findings_count: {N}
|
|
202
|
+
rfc_keyword_count: {N}
|
|
203
|
+
total_lines: {sum across all files}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
If blocked: report blocker with `TASK BLOCKED` prefix.
|
|
207
|
+
|
|
208
|
+
## NEVER
|
|
209
|
+
|
|
210
|
+
- Write to any path outside `output_dir/`
|
|
211
|
+
- Duplicate guidance-specification content (reference by ID)
|
|
212
|
+
- Overlap with other roles' focus areas (see "Owns / Does not own" header)
|
|
213
|
+
- Use interrogative sentences in the deliverables
|
|
214
|
+
- Exceed 2000 words per analysis-F-*.md or 1000 words per findings-*.md
|
|
215
|
+
- Omit the §2 Decision Digest or §4 File Index from analysis.md
|
|
216
|
+
- Return analysis as text without writing files
|
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-design-agent
|
|
3
|
-
description:
|
|
4
|
-
Specialized agent for UI design token management and prototype generation with W3C Design Tokens Format compliance.
|
|
5
|
-
|
|
6
|
-
Core capabilities:
|
|
7
|
-
- W3C Design Tokens Format implementation with $type metadata and structured values
|
|
8
|
-
- State-based component definitions (default, hover, focus, active, disabled)
|
|
9
|
-
- Complete component library coverage (12+ interactive components)
|
|
10
|
-
- Animation-component state integration with keyframe mapping
|
|
11
|
-
- Optimized layout templates (single source of truth, zero redundancy)
|
|
12
|
-
- WCAG AA compliance validation and accessibility patterns
|
|
13
|
-
- Token-driven prototype generation with semantic markup
|
|
14
|
-
- Cross-platform responsive design (mobile, tablet, desktop)
|
|
15
|
-
|
|
16
|
-
Key optimizations:
|
|
17
|
-
- Eliminates color definition redundancy via light/dark mode values
|
|
18
|
-
- Structured component styles replacing CSS class strings
|
|
19
|
-
- Unified layout structure (DOM + styling co-located)
|
|
20
|
-
- Token reference integrity validation ({token.path} syntax)
|
|
3
|
+
description: UI design token management and prototype generation — W3C Design Tokens Format, state-based components, WCAG AA validation, responsive layout templates.
|
|
21
4
|
allowed-tools:
|
|
22
5
|
- Read
|
|
23
6
|
- Write
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: workflow-analyzer
|
|
3
|
-
description:
|
|
3
|
+
description: Evaluates technical topics, proposals, or decisions across multiple dimensions with evidence-based scoring and recommendations.
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Read
|
|
6
6
|
- Write
|
|
@@ -22,7 +22,7 @@ You perform targeted external research using Exa search to gather API details, d
|
|
|
22
22
|
|
|
23
23
|
## Research Modes
|
|
24
24
|
|
|
25
|
-
### API Research (for
|
|
25
|
+
### API Research (for blueprint, roadmap)
|
|
26
26
|
Focus: concrete API details, library versions, integration patterns, configuration options.
|
|
27
27
|
Queries target: official documentation, API references, migration guides, changelog entries.
|
|
28
28
|
|
|
@@ -32,12 +32,17 @@ Use `--gaps` for issue-focused root cause analysis (replaces manage-issue-analyz
|
|
|
32
32
|
</deferred_reading>
|
|
33
33
|
|
|
34
34
|
<context>
|
|
35
|
-
$ARGUMENTS -- phase number for
|
|
35
|
+
$ARGUMENTS -- phase number for micro mode, topic text for macro/adhoc mode, no args for milestone-wide.
|
|
36
|
+
|
|
37
|
+
**Dual-layer mode:**
|
|
38
|
+
- **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.
|
|
39
|
+
- **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.
|
|
36
40
|
|
|
37
41
|
**Flags:**
|
|
38
42
|
- `-y` / `--yes`: Auto mode — skip interactive scoping, use recommended defaults, auto-deepen
|
|
39
43
|
- `-c` / `--continue`: Resume from existing session (auto-detect session folder + discussion.md)
|
|
40
44
|
- `-q` / `--quick`: Quick mode — skip exploration + scoring, go straight to decision extraction (context.md only)
|
|
45
|
+
- `--from <source>`: Load upstream context package (brainstorm:ID, blueprint:BLP-xxx, @file, or path)
|
|
41
46
|
- `--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.
|
|
42
47
|
|
|
43
48
|
Scope routing, output directory format, artifact registration schema, and output artifact listing are defined in workflow analyze.md (Scope Routing and Output Structure sections).
|
|
@@ -46,6 +51,20 @@ Scope routing, output directory format, artifact registration schema, and output
|
|
|
46
51
|
`maestro wiki list --category debug` → select relevant → `maestro wiki load`
|
|
47
52
|
</context>
|
|
48
53
|
|
|
54
|
+
<interview_protocol>
|
|
55
|
+
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).
|
|
56
|
+
|
|
57
|
+
- One decision per turn via AskUserQuestion with 2–4 options + a (Recommended) default; every question must include a `Proceed now` option so the user can end the interview at any time.
|
|
58
|
+
- Never ask what code can verify — resolve via `state.json`, `roadmap.md`, `issues.jsonl`, `maestro spec load`, `maestro wiki search`, Grep, or Read.
|
|
59
|
+
- 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.
|
|
60
|
+
- Scope guard: only ask about decisions owned by `analyze`. Do not prejudge plan/execute concerns.
|
|
61
|
+
|
|
62
|
+
Decision points: scope (phase / topic / milestone-wide / adhoc / --gaps) → depth (quick / standard / deep) → dimensions (which of the 6 to keep) → Go/No-Go threshold.
|
|
63
|
+
|
|
64
|
+
Exit: on `Proceed now` or when all decision points are settled, write the table below to the top of `discussion.md` and mirror it into `context.md` under an `Interview Decisions` section:
|
|
65
|
+
`| # | Decision | Choice | Source (user / code / default) |`
|
|
66
|
+
</interview_protocol>
|
|
67
|
+
|
|
49
68
|
<execution>
|
|
50
69
|
Follow '~/.maestro/workflows/analyze.md' completely.
|
|
51
70
|
|
|
@@ -76,15 +95,21 @@ Phase 4: Output context.md for downstream plan --gaps
|
|
|
76
95
|
|
|
77
96
|
**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.
|
|
78
97
|
|
|
98
|
+
**scope_verdict** (added to context.md in Step 6 Synthesis for macro/adhoc/standalone scopes):
|
|
99
|
+
- `large` (3+ independent subsystems or hard serial dependencies) → suggest `/maestro-roadmap --from analyze:ANL-xxx`
|
|
100
|
+
- `medium` (1-2 subsystems, parallelizable) → suggest `/maestro-plan --from analyze:ANL-xxx`
|
|
101
|
+
- `small` (single-file or few-file change) → suggest `/maestro-plan --from analyze:ANL-xxx`
|
|
102
|
+
|
|
79
103
|
**Next-step routing on completion:**
|
|
80
104
|
|
|
81
|
-
Phase/Milestone scope:
|
|
105
|
+
Phase/Milestone scope (micro mode):
|
|
82
106
|
- Go recommendation, UI work needed → `/maestro-impeccable build {target}`
|
|
83
107
|
- Go recommendation, ready to plan → `/maestro-plan` or `/maestro-plan {phase}`
|
|
84
108
|
- No-Go recommendation → revisit requirements or `/maestro-brainstorm {topic}`
|
|
85
109
|
|
|
86
|
-
Adhoc/Standalone scope:
|
|
87
|
-
-
|
|
110
|
+
Macro/Adhoc/Standalone scope:
|
|
111
|
+
- scope_verdict = large → `/maestro-roadmap --from analyze:ANL-xxx`
|
|
112
|
+
- scope_verdict = medium/small → `/maestro-plan --from analyze:ANL-xxx`
|
|
88
113
|
- Need more exploration → `/maestro-analyze {topic} -c`
|
|
89
114
|
|
|
90
115
|
Gaps scope:
|
|
@@ -123,6 +148,7 @@ Gaps mode:
|
|
|
123
148
|
- [ ] context.md written with aggregated root causes for plan --gaps
|
|
124
149
|
|
|
125
150
|
Both modes (full + quick):
|
|
151
|
+
- [ ] Interactive mode: interview decision table written to `discussion.md` and mirrored into `context.md` "Interview Decisions"
|
|
126
152
|
- [ ] context.md written with all decisions classified as Locked/Free/Deferred
|
|
127
153
|
- [ ] Gray areas identified through phase-specific analysis
|
|
128
154
|
- [ ] Decision Recording Protocol applied to all decisions
|
|
@@ -0,0 +1,130 @@
|
|
|
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
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Bash
|
|
10
|
+
- Glob
|
|
11
|
+
- Grep
|
|
12
|
+
- Agent
|
|
13
|
+
- AskUserQuestion
|
|
14
|
+
---
|
|
15
|
+
<purpose>
|
|
16
|
+
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.
|
|
17
|
+
|
|
18
|
+
Parallel to `brainstorm` as an upstream origin command:
|
|
19
|
+
- **brainstorm** = divergent exploration (lightweight, multi-role creative)
|
|
20
|
+
- **blueprint** = convergent documentation (heavyweight, 6-phase formal spec chain)
|
|
21
|
+
|
|
22
|
+
Output: `.workflow/blueprint/BLP-{slug}-{date}/` containing Product Brief, PRD, Architecture, and Epics.
|
|
23
|
+
</purpose>
|
|
24
|
+
|
|
25
|
+
<required_reading>
|
|
26
|
+
@~/.maestro/workflows/blueprint.md
|
|
27
|
+
</required_reading>
|
|
28
|
+
|
|
29
|
+
<deferred_reading>
|
|
30
|
+
- [blueprint-config.json](~/.maestro/templates/blueprint-config.json) — read when initializing blueprint configuration
|
|
31
|
+
</deferred_reading>
|
|
32
|
+
|
|
33
|
+
<context>
|
|
34
|
+
$ARGUMENTS -- idea text, @file reference, or upstream context source.
|
|
35
|
+
|
|
36
|
+
**Flags:**
|
|
37
|
+
- `-y` / `--yes`: Auto mode — skip interactive questions, use recommended defaults
|
|
38
|
+
- `-c` / `--continue`: Resume from last checkpoint (reads blueprint-config.json)
|
|
39
|
+
- `--from <source>`: Load upstream context package (brainstorm:ID, @file, or path). Consumes context-package.json
|
|
40
|
+
- `--from-brainstorm SESSION-ID`: (backward compat alias for `--from brainstorm:ID`)
|
|
41
|
+
|
|
42
|
+
**Input types:**
|
|
43
|
+
- Direct text: `"Build a real-time collaboration platform with WebSocket"`
|
|
44
|
+
- File reference: `@requirements.md`
|
|
45
|
+
- Context import: `--from brainstorm:BRN-001` or `--from @requirements.md` or `--from path/`
|
|
46
|
+
- Resume: `-c` (resumes from first incomplete phase)
|
|
47
|
+
|
|
48
|
+
**Pipeline position:**
|
|
49
|
+
```
|
|
50
|
+
maestro-brainstorm (optional upstream)
|
|
51
|
+
↓ guidance-specification.md / context-package.json
|
|
52
|
+
maestro-blueprint
|
|
53
|
+
↓ .workflow/blueprint/BLP-{slug}-{date}/
|
|
54
|
+
maestro-analyze → maestro-roadmap → maestro-plan
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**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.
|
|
58
|
+
|
|
59
|
+
### Pre-load specs
|
|
60
|
+
1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for architecture decisions (Phase 4).
|
|
61
|
+
2. Optional — proceed without if unavailable.
|
|
62
|
+
</context>
|
|
63
|
+
|
|
64
|
+
<interview_protocol>
|
|
65
|
+
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).
|
|
66
|
+
|
|
67
|
+
- Ask one question per turn via AskUserQuestion and wait for the user's feedback before continuing; every question must carry a recommended answer marked `(Recommended)`, 2–4 options total, and a `Proceed now` option.
|
|
68
|
+
- Never ask what code can verify — resolve via `state.json`, existing artifacts, `maestro spec load`, or direct codebase exploration (Glob/Grep/Read) instead of prompting.
|
|
69
|
+
- 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.
|
|
70
|
+
- Scope guard: only decide the shape of the specification. Do not pre-resolve roadmap phases or plan tasks — those belong to downstream commands.
|
|
71
|
+
|
|
72
|
+
Decision points: scope (full product / feature set / single feature) → spec type (service / api / library / platform) → focus areas → whether to run codebase exploration.
|
|
73
|
+
|
|
74
|
+
Exit: on consensus or `Proceed now`, persist decisions in blueprint-config.json and proceed to Phase 1.
|
|
75
|
+
</interview_protocol>
|
|
76
|
+
|
|
77
|
+
<execution>
|
|
78
|
+
Follow `~/.maestro/workflows/blueprint.md` completely.
|
|
79
|
+
|
|
80
|
+
### Phase chain
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
P0: Spec Study → P1: Discovery → P1.5: Req Expansion → P2: Product Brief → P3: PRD → P4: Architecture → P5: Epics → P6: Readiness Check
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
P6 gate: Pass (>=80%) → Handoff | Review (60-79%) → Handoff w/caveats | Fail (<60%) → P6.5 Auto-Fix (max 2 iter) → re-check
|
|
87
|
+
|
|
88
|
+
### Next-step routing on completion
|
|
89
|
+
|
|
90
|
+
| Condition | Suggestion |
|
|
91
|
+
|-----------|-----------|
|
|
92
|
+
| Need codebase analysis | /maestro-analyze {topic} --from blueprint:BLP-xxx |
|
|
93
|
+
| Ready for roadmap | /maestro-roadmap --from blueprint:BLP-xxx |
|
|
94
|
+
| Small scope, direct plan | /maestro-plan --from blueprint:BLP-xxx |
|
|
95
|
+
| Need project setup | /maestro-init |
|
|
96
|
+
</execution>
|
|
97
|
+
|
|
98
|
+
<error_codes>
|
|
99
|
+
| Code | Severity | Condition | Recovery |
|
|
100
|
+
|------|----------|-----------|----------|
|
|
101
|
+
| E001 | error | Idea text or @file required | Prompt user for input |
|
|
102
|
+
| E002 | error | Context source not found (--from) | Show available sessions/sources |
|
|
103
|
+
| E006 | error | `.workflow/` not initialized | Run maestro-init first |
|
|
104
|
+
| E007 | error | Phase 6 readiness Fail after 2 auto-fix iterations | Present manual fix options |
|
|
105
|
+
| W001 | warning | CLI analysis failed, using fallback | Continue with available data |
|
|
106
|
+
| W002 | warning | Codebase exploration failed | Continue without codebase context |
|
|
107
|
+
| W003 | warning | Glossary has < 5 terms | Note in readiness check |
|
|
108
|
+
| W004 | warning | Review-level readiness score (60-79%) | Proceed with caveats |
|
|
109
|
+
| W005 | warning | External research agent failed | Continue without apiResearchContext |
|
|
110
|
+
</error_codes>
|
|
111
|
+
|
|
112
|
+
<success_criteria>
|
|
113
|
+
- [ ] Interactive mode: interview decisions persisted in blueprint-config.json
|
|
114
|
+
- [ ] `blueprint-config.json` created with session metadata and phase tracking
|
|
115
|
+
- [ ] `product-brief.md` with vision, goals, scope, multi-perspective synthesis
|
|
116
|
+
- [ ] `glossary.json` with 5+ core terms for cross-document consistency
|
|
117
|
+
- [ ] `requirements/` directory with `_index.md` + individual `REQ-*.md` + `NFR-*.md` files
|
|
118
|
+
- [ ] All requirements have RFC 2119 keywords and acceptance criteria
|
|
119
|
+
- [ ] `architecture/` directory with `_index.md` + individual `ADR-*.md` files
|
|
120
|
+
- [ ] Architecture includes state machine, config model, error handling, observability (service type)
|
|
121
|
+
- [ ] `epics/` directory with `_index.md` + individual `EPIC-*.md` files
|
|
122
|
+
- [ ] Cross-Epic dependency map (Mermaid) and MVP subset tagged
|
|
123
|
+
- [ ] `readiness-report.md` with 4-dimension quality scores and traceability matrix
|
|
124
|
+
- [ ] `blueprint-summary.md` with one-page executive summary
|
|
125
|
+
- [ ] All documents have valid YAML frontmatter with session_id
|
|
126
|
+
- [ ] Glossary terms used consistently across all documents
|
|
127
|
+
- [ ] Readiness gate: Pass (>=80%) or Review (>=60%) with documented caveats
|
|
128
|
+
- [ ] Artifact registered in state.json (type=blueprint)
|
|
129
|
+
- [ ] context-package.json generated for downstream consumption
|
|
130
|
+
</success_criteria>
|