maestro-flow-one 0.2.17 → 0.2.19

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.
Files changed (34) hide show
  1. package/maestro-flow/agents/cli-explore-agent.md +1 -3
  2. package/maestro-flow/agents/cross-role-reviewer.md +171 -0
  3. package/maestro-flow/agents/role-design-author.md +218 -0
  4. package/maestro-flow/agents/ui-design-agent.md +1 -18
  5. package/maestro-flow/agents/workflow-analyzer.md +1 -1
  6. package/maestro-flow/agents/workflow-external-researcher.md +1 -1
  7. package/maestro-flow/commands/learn/decompose.md +6 -6
  8. package/maestro-flow/commands/learn/follow.md +4 -4
  9. package/maestro-flow/commands/learn/investigate.md +6 -6
  10. package/maestro-flow/commands/learn/retro.md +7 -7
  11. package/maestro-flow/commands/learn/second-opinion.md +4 -4
  12. package/maestro-flow/commands/lifecycle/amend.md +1 -0
  13. package/maestro-flow/commands/lifecycle/analyze.md +37 -4
  14. package/maestro-flow/commands/lifecycle/blueprint.md +131 -0
  15. package/maestro-flow/commands/lifecycle/brainstorm.md +133 -116
  16. package/maestro-flow/commands/lifecycle/fork.md +1 -1
  17. package/maestro-flow/commands/lifecycle/guard.md +3 -2
  18. package/maestro-flow/commands/lifecycle/impeccable.md +13 -11
  19. package/maestro-flow/commands/lifecycle/init.md +3 -3
  20. package/maestro-flow/commands/lifecycle/plan.md +16 -4
  21. package/maestro-flow/commands/lifecycle/roadmap.md +43 -81
  22. package/maestro-flow/commands/manage/harvest.md +1 -0
  23. package/maestro-flow/commands/manage/issue-discover.md +1 -1
  24. package/maestro-flow/commands/manage/knowhow.md +1 -1
  25. package/maestro-flow/commands/manage/learn.md +4 -4
  26. package/maestro-flow/commands/milestone/audit.md +5 -3
  27. package/maestro-flow/commands/milestone/complete.md +7 -5
  28. package/maestro-flow/commands/milestone/release.md +1 -1
  29. package/maestro-flow/commands/quality/auto-test.md +6 -6
  30. package/maestro-flow/commands/quality/refactor.md +1 -1
  31. package/maestro-flow/commands/quality/retrospective.md +2 -2
  32. package/maestro-flow/commands/spec/remove.md +6 -2
  33. package/package.json +1 -1
  34. package/maestro-flow/agents/conceptual-planning-agent.md +0 -245
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: cli-explore-agent
3
- description: |
4
- Read-only code exploration agent with dual-source analysis strategy (Bash + CLI semantic).
5
- Orchestrates 4-phase workflow: Task Understanding → Analysis Execution → Schema Validation → Output Generation.
3
+ description: Read-only code exploration via Bash + CLI semantic dual-source analysis, with schema-validated structured output.
6
4
  allowed-tools:
7
5
  - Read
8
6
  - Glob
@@ -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,218 @@
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 | **absolute** path to `planning-roles/{role}.md` (orchestrator MUST expand `~/`) |
21
+ | `guidance_path` | yes | **absolute** path to `guidance-specification.md` |
22
+ | `output_dir` | yes | **absolute** path to role folder — `{session_dir}/{role}/`. If you receive a relative path or a literal `{output_dir}` placeholder, fail fast with `TASK BLOCKED: output_dir is not absolute`. |
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/` using the Write tool. Do NOT write files anywhere else. Do NOT return analysis as chat text — files on disk are the only valid deliverable. After writing, verify with Glob that `analysis.md` exists; if any Write call fails (e.g. relative path rejected), fail fast with `TASK BLOCKED`.
32
+
33
+ **Authority note**: This Output Contract is authoritative for file layout. The role template at `role_template_path` may contain a legacy "## Brainstorming Analysis Structure" section describing a single-file layout — ignore it for file structure. Use the role template ONLY to source §3 subsection headings (via its "## MUST-Have Sections (Brainstorming)" block when present).
34
+
35
+ ### File Structure
36
+
37
+ ```
38
+ {output_dir}/
39
+ ├── analysis.md # INDEX — digest + cross-cutting + file index
40
+ ├── analysis-F-{id}-{slug}.md # one per feature (when feature_list available)
41
+ └── findings-{slug}.md # additional discoveries (0 or more)
42
+ ```
43
+
44
+ ### analysis.md — Index Document
45
+
46
+ This is the single entry point for all consumers. It MUST contain:
47
+
48
+ ```markdown
49
+ # {Role Title} Analysis — {Topic}
50
+
51
+ > Contract: guidance-specification.md §{role} (decisions {ID range})
52
+ > Owns: {what this role decides}
53
+ > Does not own: {what other roles decide}
54
+
55
+ ## 1. Role Mandate (≤ 200 words)
56
+ One paragraph: what you decide, what you defer, why you are in this brainstorm.
57
+
58
+ ## 2. Decision Digest
59
+
60
+ ### Decisions
61
+ | ID | Feature | Stance | Constraints (RFC 2119) |
62
+ |----|---------|--------|------------------------|
63
+ | {PREFIX}-{NN} | F-{id} or cross-cutting | concise position statement | MUST/SHOULD/MAY rules |
64
+
65
+ ### Interfaces
66
+ | Name | Contract | Consumers |
67
+ |------|----------|-----------|
68
+ | {interface name} | {signature or data shape} | {other roles that depend on this} |
69
+
70
+ ### Cross-Cutting Positions
71
+ | Topic | Stance |
72
+ |-------|--------|
73
+ | {topic from §3 foundations} | {one-line position} |
74
+
75
+ ### Findings Summary
76
+ | Slug | Title | Impact |
77
+ |------|-------|--------|
78
+ | {slug} | {short title} | {one-line impact} |
79
+
80
+ ## 3. Cross-Cutting Foundations
81
+
82
+ Authoritative subsection list per role (use these as §3 subsection headings).
83
+ If the role template contains a "## MUST-Have Sections (Brainstorming)" block,
84
+ that block supplements (does NOT replace) the list below — merge both, dedupe.
85
+
86
+ - system-architect: Data Model · State Machine · Error Handling · Observability · Configuration · Boundary Scenarios
87
+ - data-architect: Filesystem Layout · YAML Schemas · Indexer Algorithm · Ref Bridge · Lifecycle · Migration
88
+ - ux-expert: Information Architecture · Sigil/Input · Visual Choreography · Streaming · Confirmation · Interrupt · Accessibility
89
+ - subject-matter-expert: Pitfall Taxonomy · Pattern Fingerprints · Domain-Silence Decisions · Differentiation Thesis · Crosswalk
90
+ - test-strategist: Test Layers · Coverage Targets · Risk-Based Prioritization · Tooling
91
+ - product-manager: Personas · Success Metrics · Roadmap Shape · Prioritization Rationale
92
+ - product-owner: Backlog Decomposition · Acceptance Criteria · Done Definition
93
+ - scrum-master: Cadence · Ceremonies · Impediments · Flow Metrics
94
+ - ui-designer: Design Tokens · Component States · Visual Language · Animation
95
+
96
+ ## 4. File Index
97
+
98
+ | File | Type | Feature | Headings |
99
+ |------|------|---------|----------|
100
+ | [analysis-F-{id}-{slug}.md](...) | feature | F-{id} | {comma-separated heading list} |
101
+ | [findings-{slug}.md](...) | finding | — | {comma-separated heading list} |
102
+
103
+ ## 5. Outstanding TODOs
104
+ List items needing follow-up (codebase study, external research, decisions deferred).
105
+ ```
106
+
107
+ ### analysis-F-{id}-{slug}.md — Per-Feature Analysis
108
+
109
+ One file per feature in `feature_list`. Each file < 2000 words:
110
+
111
+ ```markdown
112
+ # F-{id} — {Feature Title}
113
+
114
+ > Role: {role_name} | Related decisions: {ID-01, ID-02, ...}
115
+
116
+ ## Architecture
117
+ Module / crate / component layout for this feature.
118
+
119
+ ## Interface Contract
120
+ Traits / RPC methods / data contracts this feature exposes or consumes.
121
+
122
+ ## Constraints (RFC 2119)
123
+ MUST / SHOULD / MAY rules specific to this feature.
124
+
125
+ ## Test Approach
126
+ Unit / integration / fuzz / e2e strategy for this feature.
127
+
128
+ ## TODOs
129
+ Study tasks, decisions deferred, references to read.
130
+ ```
131
+
132
+ ### findings-{slug}.md — Additional Discoveries
133
+
134
+ For insights that don't belong to any defined feature (0 or more files, each < 1000 words):
135
+
136
+ ```markdown
137
+ # Finding: {Title}
138
+
139
+ > Role: {role_name} | Impact: {HIGH | MEDIUM | LOW}
140
+
141
+ ## Description
142
+ What was discovered and why it matters.
143
+
144
+ ## Affected Features
145
+ Which features or cross-cutting concerns are impacted.
146
+
147
+ ## Recommendation
148
+ Proposed action or decision needed.
149
+ ```
150
+
151
+ ## Process
152
+
153
+ 1. Read the role template at `role_template_path`. Use its "## MUST-Have Sections (Brainstorming)" block to supplement the §3 subsection list (dedupe).
154
+ 2. Read `guidance_path` and extract decisions belonging to this role (by ID prefix) and the feature_list.
155
+ 3. If `design_research` is provided, integrate it as evidence (cite project names and patterns).
156
+ 4. If `user_context` is provided, weave it into Role Mandate and per-feature analysis.
157
+ 5. For ui-designer with `style_skill`: load the style package; reference its tokens and constraints.
158
+ 6. Write `analysis.md` first — this is the index. Build §2 Decision Digest as you analyze.
159
+ 7. Write one `analysis-F-{id}-{slug}.md` per feature. Keep each focused and < 2000 words.
160
+ 8. Write `findings-{slug}.md` for any discoveries outside the feature scope. Skip if none.
161
+ 9. After all files are written, finalize §4 File Index in `analysis.md` with accurate headings from the written files.
162
+
163
+ ## RFC 2119
164
+
165
+ All behavioral statements MUST use MUST / SHOULD / MAY / MUST NOT / SHOULD NOT.
166
+ - §2 Decisions table Constraints column: primary location for RFC keywords
167
+ - §3 Cross-Cutting Foundations: use in constraint paragraphs
168
+ - analysis-F-*.md §Constraints: mandatory RFC keywords
169
+ - Aim for ≥ 5 RFC keyword occurrences across analysis.md
170
+
171
+ ## Reference, Don't Duplicate
172
+
173
+ - Reference guidance decisions by ID (`see SA-03`) — do NOT copy the decision text.
174
+ - Reference feature IDs (`F-001`) in file names and headers.
175
+ - Reference design-research findings by project name and section.
176
+ - Cross-reference between files using relative links: `see [F-002](analysis-F-002-skill-engine.md)`.
177
+
178
+ ## Quality Gates (self-check before reporting completion)
179
+
180
+ - [ ] `analysis.md` exists and is non-empty
181
+ - [ ] §1 Role Mandate ≤ 200 words
182
+ - [ ] §2 Decision Digest has all four tables (Decisions, Interfaces, Cross-Cutting Positions, Findings Summary)
183
+ - [ ] §2 Decisions table has ≥ 1 row per feature in feature_list
184
+ - [ ] §3 contains at least the subsections required by the role template
185
+ - [ ] §4 File Index lists every written file with accurate headings
186
+ - [ ] One `analysis-F-{id}-{slug}.md` per feature in feature_list (skip if no feature_list)
187
+ - [ ] Each analysis-F-*.md < 2000 words
188
+ - [ ] Each findings-*.md < 1000 words
189
+ - [ ] RFC 2119 keywords appear ≥ 5 times across analysis.md
190
+ - [ ] No interrogative sentences (all declarative)
191
+ - [ ] system-architect: §3 contains "Data Model" and "State Machine" headings
192
+
193
+ ## Return Protocol
194
+
195
+ Report completion with this structure (the orchestrator reads ONLY this, not the files):
196
+
197
+ ```
198
+ TASK COMPLETE
199
+ index: {output_dir}/analysis.md
200
+ files_written: {count}
201
+ feature_coverage: [F-001, F-002, ...]
202
+ missing_features: []
203
+ findings_count: {N}
204
+ rfc_keyword_count: {N}
205
+ total_lines: {sum across all files}
206
+ ```
207
+
208
+ If blocked: report blocker with `TASK BLOCKED` prefix.
209
+
210
+ ## NEVER
211
+
212
+ - Write to any path outside `output_dir/`
213
+ - Duplicate guidance-specification content (reference by ID)
214
+ - Overlap with other roles' focus areas (see "Owns / Does not own" header)
215
+ - Use interrogative sentences in the deliverables
216
+ - Exceed 2000 words per analysis-F-*.md or 1000 words per findings-*.md
217
+ - Omit the §2 Decision Digest or §4 File Index from analysis.md
218
+ - 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: Multi-dimensional analysis with evidence-based scoring and recommendations
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 spec-generate, roadmap)
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
 
@@ -25,8 +25,8 @@ $ARGUMENTS — target path/module and optional flags.
25
25
  - `--save-spec`: `Skill("spec-add")` for each new pattern
26
26
  - `--save-wiki`: create wiki note per dimension group
27
27
 
28
- **Storage read**: target files + `coding-conventions.md` + `specs/learnings.md` (dedup)
29
- **Storage write**: `.workflow/knowhow/KNW-decompose-{slug}-{date}.md` + append `specs/learnings.md`
28
+ **Storage read**: target files + `coding-conventions.md` + `.workflow/specs/learnings.md` (dedup)
29
+ **Storage write**: `.workflow/knowhow/KNW-decompose-{slug}-{date}.md` + append `.workflow/specs/learnings.md`
30
30
  </context>
31
31
 
32
32
  <state_machine>
@@ -47,7 +47,7 @@ S_RESOLVE:
47
47
  → S_RESOLVE WHEN: unresolvable DO: AskUserQuestion
48
48
 
49
49
  S_DEDUP:
50
- → S_ANALYZE DO: read coding-conventions.md + specs/learnings.md → build known pattern set
50
+ → S_ANALYZE DO: read coding-conventions.md + .workflow/specs/learnings.md → build known pattern set
51
51
 
52
52
  S_ANALYZE:
53
53
  → S_CROSSREF DO: A_PARALLEL_DIMENSION_ANALYSIS
@@ -59,7 +59,7 @@ S_CATALOG:
59
59
  → S_PERSIST DO: write KNW-decompose report (grouped by dimension: pattern table + details)
60
60
 
61
61
  S_PERSIST:
62
- → END DO: append specs/learnings.md [+ spec-add if --save-spec] [+ wiki note if --save-wiki]
62
+ → END DO: append .workflow/specs/learnings.md [+ spec-add if --save-spec] [+ wiki note if --save-wiki]
63
63
 
64
64
  </transitions>
65
65
 
@@ -86,7 +86,7 @@ For each finding, match against known pattern set:
86
86
  | Status | Condition |
87
87
  |--------|-----------|
88
88
  | documented | Already in coding-conventions.md |
89
- | known | In specs/learnings.md |
89
+ | known | In .workflow/specs/learnings.md |
90
90
  | new | Not seen before |
91
91
 
92
92
  Flag contradictions (finding conflicts with documented convention). Merge duplicates across agents (same pattern found by multiple dimensions).
@@ -106,7 +106,7 @@ Flag contradictions (finding conflicts with documented convention). Merge duplic
106
106
  <success_criteria>
107
107
  - [ ] 4 dimension agents spawned in parallel, findings with anchors
108
108
  - [ ] Cross-reference: documented/known/new status assigned
109
- - [ ] Pattern catalog written + specs/learnings.md appended
109
+ - [ ] Pattern catalog written + .workflow/specs/learnings.md appended
110
110
  </success_criteria>
111
111
 
112
112
  <next_step_routing>
@@ -12,7 +12,7 @@ allowed-tools:
12
12
  - AskUserQuestion
13
13
  ---
14
14
  <purpose>
15
- Guided reading: walk through content section-by-section using forcing questions to extract patterns, identify assumptions, and build an understanding map. Findings persist to `specs/learnings.md` as `<spec-entry>` blocks.
15
+ Guided reading: walk through content section-by-section using forcing questions to extract patterns, identify assumptions, and build an understanding map. Findings persist to `.workflow/specs/learnings.md` as `<spec-entry>` blocks.
16
16
  </purpose>
17
17
 
18
18
  <context>
@@ -30,8 +30,8 @@ $ARGUMENTS — target and optional flags.
30
30
  - `--depth deep`: every function, every branch, every assumption
31
31
  - `--save-wiki`: create wiki note entry with reading notes
32
32
 
33
- **Storage read**: target file + wiki forward/backlinks + `coding-conventions.md` + `specs/learnings.md` (dedup)
34
- **Storage write**: `.workflow/knowhow/KNW-follow-{slug}-{date}.md` + append `specs/learnings.md`
33
+ **Storage read**: target file + wiki forward/backlinks + `coding-conventions.md` + `.workflow/specs/learnings.md` (dedup)
34
+ **Storage write**: `.workflow/knowhow/KNW-follow-{slug}-{date}.md` + append `.workflow/specs/learnings.md`
35
35
  </context>
36
36
 
37
37
  <state_machine>
@@ -64,7 +64,7 @@ S_EXTRACT:
64
64
  → S_PERSIST DO: A_EXTRACT_PATTERNS
65
65
 
66
66
  S_PERSIST:
67
- → END DO: write KNW-follow + append specs/learnings.md [+ wiki note if --save-wiki]
67
+ → END DO: write KNW-follow + append .workflow/specs/learnings.md [+ wiki note if --save-wiki]
68
68
 
69
69
  </transitions>
70
70
 
@@ -28,9 +28,9 @@ $ARGUMENTS — question text and optional flags.
28
28
  - `.workflow/knowhow/KNW-investigate-{slug}/evidence.ndjson` — structured evidence (one JSON line per item)
29
29
  - `.workflow/knowhow/KNW-investigate-{slug}/understanding.md` — evolving understanding
30
30
  - `.workflow/knowhow/KNW-investigate-{slug}/report.md` — final report
31
- - `specs/learnings.md` — appended `<spec-entry>` blocks
31
+ - `.workflow/specs/learnings.md` — appended `<spec-entry>` blocks
32
32
 
33
- **Storage read**: source files in scope + `maestro wiki search` + `specs/learnings.md` + `debug-notes.md` + `codebase/architecture.md`
33
+ **Storage read**: source files in scope + `maestro wiki search` + `.workflow/specs/learnings.md` + `debug-notes.md` + `codebase/architecture.md`
34
34
  </context>
35
35
 
36
36
  <state_machine>
@@ -43,7 +43,7 @@ S_HYPOTHESIZE — 生成假设列表 PERSIST:
43
43
  S_CLI_EXPLORE — CLI 辅助探索(可选) PERSIST: evidence.ndjson (append)
44
44
  S_TEST — 逐假设测试 PERSIST: evidence.ndjson + understanding.md
45
45
  S_ESCALATE — 3-strike 升级 PERSIST: —
46
- S_REPORT — 综合报告 + persist PERSIST: report.md + specs/learnings.md
46
+ S_REPORT — 综合报告 + persist PERSIST: report.md + .workflow/specs/learnings.md
47
47
  </states>
48
48
 
49
49
  <transitions>
@@ -55,7 +55,7 @@ S_EVIDENCE:
55
55
  → S_PATTERN DO: A_COLLECT_EVIDENCE
56
56
 
57
57
  S_PATTERN:
58
- → S_HYPOTHESIZE DO: match evidence against debug-notes.md + specs/learnings.md patterns
58
+ → S_HYPOTHESIZE DO: match evidence against debug-notes.md + .workflow/specs/learnings.md patterns
59
59
 
60
60
  S_HYPOTHESIZE:
61
61
  → S_CLI_EXPLORE WHEN: CLI tools enabled AND hypotheses non-trivial DO: A_FORM_HYPOTHESES
@@ -83,7 +83,7 @@ S_REPORT:
83
83
  ### A_FRAME_QUESTION
84
84
 
85
85
  1. Parse question, generate slug, create KNW-investigate-{slug}/
86
- 2. Search prior knowledge: `maestro wiki search "<question>"` + search specs/learnings.md + read debug-notes.md
86
+ 2. Search prior knowledge: `maestro wiki search "<question>"` + search .workflow/specs/learnings.md + read debug-notes.md
87
87
  3. Write initial understanding.md (question, prior knowledge summary, scope, timestamp)
88
88
 
89
89
  ### A_COLLECT_EVIDENCE
@@ -124,7 +124,7 @@ For each hypothesis (rank order):
124
124
  ### A_SYNTHESIZE_REPORT
125
125
 
126
126
  Write report.md: Answer (or INCONCLUSIVE), Evidence Trail table, Hypotheses Tested table, Key Learnings, Open Questions.
127
- Append to specs/learnings.md: confirmed → roles="implement", disproved → roles="analyze" (gotcha).
127
+ Append to .workflow/specs/learnings.md: confirmed → roles="implement", disproved → roles="analyze" (gotcha).
128
128
 
129
129
  </actions>
130
130
 
@@ -14,7 +14,7 @@ allowed-tools:
14
14
  <purpose>
15
15
  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.
16
16
 
17
- All insights persist to `specs/learnings.md` as `<spec-entry>` blocks.
17
+ All insights persist to `.workflow/specs/learnings.md` as `<spec-entry>` blocks.
18
18
  </purpose>
19
19
 
20
20
  <context>
@@ -28,9 +28,9 @@ $ARGUMENTS — lens selection and scope flags.
28
28
  **Storage write**:
29
29
  - `.workflow/knowhow/KNW-retro-{date}.md` — unified report
30
30
  - `.workflow/knowhow/KNW-retro-{date}.json` — structured metrics
31
- - `specs/learnings.md` — appended `<spec-entry>` blocks (source: retro-git / retro-decision)
31
+ - `.workflow/specs/learnings.md` — appended `<spec-entry>` blocks (source: retro-git / retro-decision)
32
32
 
33
- **Storage read**: git history, `.workflow/state.json`, prior `KNW-retro-*.json`, `specs/learnings.md`, wiki specs, `architecture-constraints.md`, phase context files
33
+ **Storage read**: git history, `.workflow/state.json`, prior `KNW-retro-*.json`, `.workflow/specs/learnings.md`, wiki specs, `architecture-constraints.md`, phase context files
34
34
  </context>
35
35
 
36
36
  <state_machine>
@@ -40,7 +40,7 @@ S_PARSE — 解析 lens + flags PERSIST: —
40
40
  S_GIT — git 活动分析(lens=git/all 时) PERSIST: metrics
41
41
  S_DECISION — 决策质量评估(lens=decision/all 时) PERSIST: evaluations
42
42
  S_REPORT — 生成统一报告 PERSIST: .md + .json
43
- S_PERSIST — 写 spec-entry 块 PERSIST: specs/learnings.md
43
+ S_PERSIST — 写 spec-entry 块 PERSIST: .workflow/specs/learnings.md
44
44
  </states>
45
45
 
46
46
  <transitions>
@@ -60,7 +60,7 @@ S_REPORT:
60
60
  → S_PERSIST DO: write KNW-retro-{date}.md + .json
61
61
 
62
62
  S_PERSIST:
63
- → END DO: append insights to specs/learnings.md via `maestro spec add learning`
63
+ → END DO: append insights to .workflow/specs/learnings.md via `maestro spec add learning`
64
64
  RULE: INS-id = hash(lens + metric_or_decision_id + date) for cross-session stability
65
65
 
66
66
  </transitions>
@@ -102,7 +102,7 @@ maestro wiki search "decision" --json
102
102
  maestro wiki list --type spec --json
103
103
  git log --oneline --all --grep="decision\|chose\|decided" -20
104
104
  ```
105
- Plus: architecture-constraints.md, phase context Locked/Deferred sections, specs/learnings.md.
105
+ Plus: architecture-constraints.md, phase context Locked/Deferred sections, .workflow/specs/learnings.md.
106
106
  Apply --phase/--tag/--id filters.
107
107
 
108
108
  **Build registry** per decision: id, title, source, date, rationale, alternatives, phase, implementation_evidence [file paths].
@@ -146,7 +146,7 @@ Apply --phase/--tag/--id filters.
146
146
  - [ ] Git lens: metrics computed (commits, LOC, test ratio, churn, sessions), insights distilled
147
147
  - [ ] Decision lens: decisions collected, 3 agents evaluated in parallel, lifecycle classified
148
148
  - [ ] Unified report + structured JSON written
149
- - [ ] specs/learnings.md appended with stable INS-ids
149
+ - [ ] .workflow/specs/learnings.md appended with stable INS-ids
150
150
  </success_criteria>
151
151
 
152
152
  <next_step_routing>
@@ -17,7 +17,7 @@ Structured second-opinion on code, decisions, or plans. Three modes:
17
17
  - **challenge**: single adversarial agent — break assumptions, propose alternatives
18
18
  - **consult**: interactive Q&A — agent studies target, answers your questions
19
19
 
20
- Findings persist to `specs/learnings.md` as `<spec-entry>` blocks.
20
+ Findings persist to `.workflow/specs/learnings.md` as `<spec-entry>` blocks.
21
21
  </purpose>
22
22
 
23
23
  <context>
@@ -45,7 +45,7 @@ S_RESOLVE — 解析 target PERSIST: —
45
45
  S_CONTEXT — 加载 specs/wiki 上下文 PERSIST: —
46
46
  S_EXECUTE — 按 mode 执行分析 PERSIST: —
47
47
  S_SYNTHESIZE — 综合观点、生成报告 PERSIST: outputs
48
- S_PERSIST — 写文件、append specs/learnings.md PERSIST: knowhow files
48
+ S_PERSIST — 写文件、append .workflow/specs/learnings.md PERSIST: knowhow files
49
49
  </states>
50
50
 
51
51
  <transitions>
@@ -66,7 +66,7 @@ S_SYNTHESIZE:
66
66
  → S_PERSIST DO: merge perspectives → agreements, disagreements, verdict, top 3 recommendations
67
67
 
68
68
  S_PERSIST:
69
- → END DO: write KNW-opinion + append <spec-entry> blocks to specs/learnings.md
69
+ → END DO: write KNW-opinion + append <spec-entry> blocks to .workflow/specs/learnings.md
70
70
 
71
71
  </transitions>
72
72
 
@@ -112,7 +112,7 @@ Interactive loop:
112
112
  <success_criteria>
113
113
  - [ ] Mode executed: review (3 parallel agents) / challenge (adversarial) / consult (interactive Q&A)
114
114
  - [ ] Synthesis with agreements, disagreements, verdict
115
- - [ ] Report written + findings appended to specs/learnings.md
115
+ - [ ] Report written + findings appended to .workflow/specs/learnings.md
116
116
  </success_criteria>
117
117
 
118
118
  <next_step_routing>