maestro-flow-one 0.2.6 → 0.2.7
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/maestro-flow/agents/impeccable-agent.md +99 -0
- package/maestro-flow/commands/lifecycle/analyze.md +2 -2
- package/maestro-flow/commands/lifecycle/brainstorm.md +116 -112
- package/maestro-flow/commands/lifecycle/composer.md +5 -0
- package/maestro-flow/commands/lifecycle/impeccable.md +46 -9
- package/maestro-flow/commands/lifecycle/merge.md +3 -0
- package/maestro-flow/commands/lifecycle/roadmap.md +5 -1
- package/maestro-flow/commands/lifecycle/ui-craft.md +56 -4
- package/maestro-flow/commands/manage/issue-discover.md +4 -0
- package/maestro-flow/commands/quality/refactor.md +3 -0
- package/package.json +1 -1
- package/maestro-flow/commands/lifecycle/ui-design.md +0 -104
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: impeccable-agent
|
|
3
|
+
description: Autonomous executor for non-interactive impeccable commands. Runs audit, polish, harden, layout, typeset, and other automatable design operations without user interaction.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Glob
|
|
9
|
+
- Grep
|
|
10
|
+
- Bash
|
|
11
|
+
- Skill
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Impeccable Agent
|
|
15
|
+
|
|
16
|
+
Autonomous design operations agent. Executes impeccable commands that don't require user interaction, enabling parallel and delegated UI quality work.
|
|
17
|
+
|
|
18
|
+
## Allowed Commands
|
|
19
|
+
|
|
20
|
+
Commands are classified by interaction level. This agent can execute **non-interactive** and **conditionally interactive** commands autonomously.
|
|
21
|
+
|
|
22
|
+
### Non-Interactive (always safe to execute)
|
|
23
|
+
|
|
24
|
+
| Command | Category | What it does |
|
|
25
|
+
|---------|----------|-------------|
|
|
26
|
+
| audit | Evaluate | Technical quality checks, produces score |
|
|
27
|
+
| critique | Evaluate | UX review with heuristic scoring, produces score + findings |
|
|
28
|
+
| polish | Refine | Final quality pass, applies fixes |
|
|
29
|
+
| harden | Refine | Production edge cases: errors, i18n, overflow |
|
|
30
|
+
| onboard | Refine | First-run flows, empty states |
|
|
31
|
+
| typeset | Enhance | Improve typography hierarchy |
|
|
32
|
+
| layout | Enhance | Fix spacing, rhythm, visual hierarchy |
|
|
33
|
+
| adapt | Fix | Responsive/device adaptations |
|
|
34
|
+
| optimize | Fix | UI performance fixes |
|
|
35
|
+
| clarify | Fix | Improve UX copy and labels |
|
|
36
|
+
| explore | Build | Multi-style comparison (auto-selects variant 1 in agent mode) |
|
|
37
|
+
|
|
38
|
+
### Conditionally Interactive (safe with sufficient context)
|
|
39
|
+
|
|
40
|
+
These commands ask questions only "if unclear from codebase". When PRODUCT.md and DESIGN.md exist, they typically run without interaction.
|
|
41
|
+
|
|
42
|
+
| Command | Category | Condition for autonomy |
|
|
43
|
+
|---------|----------|----------------------|
|
|
44
|
+
| bolder | Refine | PRODUCT.md exists (personality context available) |
|
|
45
|
+
| quieter | Refine | PRODUCT.md exists |
|
|
46
|
+
| distill | Refine | Target file exists and is readable |
|
|
47
|
+
| animate | Enhance | DESIGN.md exists (motion context available) |
|
|
48
|
+
| colorize | Enhance | DESIGN.md exists (color palette available) |
|
|
49
|
+
| delight | Enhance | PRODUCT.md exists (brand context available) |
|
|
50
|
+
| extract | Build | Design system directory exists |
|
|
51
|
+
|
|
52
|
+
### NEVER Execute (require user interaction)
|
|
53
|
+
|
|
54
|
+
| Command | Reason |
|
|
55
|
+
|---------|--------|
|
|
56
|
+
| teach | Interview to create PRODUCT.md |
|
|
57
|
+
| shape | Discovery interview + brief confirmation |
|
|
58
|
+
| craft | Multiple user gates |
|
|
59
|
+
| live | Interactive browser session |
|
|
60
|
+
| overdrive | Requires explicit user creative vision |
|
|
61
|
+
| document | Requires creative input for design system |
|
|
62
|
+
|
|
63
|
+
## Execution Protocol
|
|
64
|
+
|
|
65
|
+
1. **Load context**: Run `maestro impeccable load-context` to load PRODUCT.md and DESIGN.md
|
|
66
|
+
2. **Validate command**: Check the requested command is in the allowed list above
|
|
67
|
+
3. **Execute**: `Skill({ skill: "maestro-impeccable", args: "{command} {target} --skip-harvest -y" })`
|
|
68
|
+
- Always pass `-y` to auto-confirm where the skill allows
|
|
69
|
+
- Pass `--skip-harvest` — the caller handles harvest if needed
|
|
70
|
+
4. **Report**: Return the command output (scores, changes made, findings)
|
|
71
|
+
|
|
72
|
+
## Usage Pattern
|
|
73
|
+
|
|
74
|
+
The agent receives a prompt describing which impeccable command(s) to run and on what target:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Run impeccable audit on src/pages/ then polish any P0 findings.
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Run critique on src/components/dashboard.html and report the score.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Run these commands sequentially on src/pages/landing.html:
|
|
86
|
+
1. layout
|
|
87
|
+
2. typeset
|
|
88
|
+
3. polish
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Multi-Command Sequences
|
|
92
|
+
|
|
93
|
+
When given multiple commands, execute sequentially. If a command fails, report the failure and continue with remaining commands unless the failure is blocking.
|
|
94
|
+
|
|
95
|
+
## Context Requirements
|
|
96
|
+
|
|
97
|
+
- `.workflow/impeccable/PRODUCT.md` should exist for conditionally interactive commands
|
|
98
|
+
- `.workflow/impeccable/DESIGN.md` should exist for color/typography-aware commands
|
|
99
|
+
- If either is missing, restrict to non-interactive commands only
|
|
@@ -79,7 +79,7 @@ Phase 4: Output context.md for downstream plan --gaps
|
|
|
79
79
|
**Next-step routing on completion:**
|
|
80
80
|
|
|
81
81
|
Phase/Milestone scope:
|
|
82
|
-
- Go recommendation, UI work needed → `/maestro-ui-
|
|
82
|
+
- Go recommendation, UI work needed → `/maestro-ui-craft --chain build {target}`
|
|
83
83
|
- Go recommendation, ready to plan → `/maestro-plan` or `/maestro-plan {phase}`
|
|
84
84
|
- No-Go recommendation → revisit requirements or `/maestro-brainstorm {topic}`
|
|
85
85
|
|
|
@@ -129,5 +129,5 @@ Both modes (full + quick):
|
|
|
129
129
|
- [ ] Scope creep redirected to Deferred section
|
|
130
130
|
- [ ] Deferred items auto-created as issues (if any)
|
|
131
131
|
- [ ] Artifact registered in state.json with correct scope/milestone/phase
|
|
132
|
-
- [ ] Next step routed (ui-
|
|
132
|
+
- [ ] Next step routed (ui-craft/plan for Go, brainstorm for No-Go)
|
|
133
133
|
</success_criteria>
|
|
@@ -1,112 +1,116 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-brainstorm
|
|
3
|
-
description: Brainstorm with auto pipeline or single-role analysis
|
|
4
|
-
argument-hint: "[topic|role-name] [--yes] [--count N] [--session ID] [--update] [--skip-questions] [--include-questions] [--style-skill PKG]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Bash
|
|
9
|
-
- Glob
|
|
10
|
-
- Grep
|
|
11
|
-
- Agent
|
|
12
|
-
- AskUserQuestion
|
|
13
|
-
---
|
|
14
|
-
<purpose>
|
|
15
|
-
Unified brainstorming combining interactive framework generation, multi-role parallel analysis, and cross-role synthesis. Two modes: Auto (full pipeline with guidance-specification → parallel role analysis → synthesis) and Single Role (individual role analysis for an existing session). Outputs structured artifacts in .brainstorming/ directory ready for downstream planning.
|
|
16
|
-
</purpose>
|
|
17
|
-
|
|
18
|
-
<required_reading>
|
|
19
|
-
@~/.maestro/workflows/brainstorm.md
|
|
20
|
-
</required_reading>
|
|
21
|
-
|
|
22
|
-
<deferred_reading>
|
|
23
|
-
- [scratch-index.json](~/.maestro/templates/scratch-index.json) — read when operating in scratch mode
|
|
24
|
-
- [index.json](~/.maestro/templates/index.json) — read when operating in phase mode
|
|
25
|
-
- [brainstorm-visualize.md](~/.maestro/workflows/brainstorm-visualize.md) — read when html-prototypes/ produced and user wants to browse them
|
|
26
|
-
</deferred_reading>
|
|
27
|
-
|
|
28
|
-
<context>
|
|
29
|
-
$ARGUMENTS -- topic text for auto mode, or role name for single role mode.
|
|
30
|
-
|
|
31
|
-
**Auto mode**: topic text (e.g., "Build real-time collaboration platform") triggers full pipeline.
|
|
32
|
-
**Single role mode**: valid role name (e.g., "system-architect") runs one role analysis.
|
|
33
|
-
**All output** goes to `.workflow/scratch/{YYYYMMDD}-brainstorm-{slug}/`.
|
|
34
|
-
**Artifact registration**: On completion, registers artifact (type=brainstorm) in state.json.
|
|
35
|
-
**Output boundary**: ALL file writes MUST target `{output_dir}/` or `.workflow/state.json` only. NEVER modify source code or files outside these paths.
|
|
36
|
-
|
|
37
|
-
**Valid roles**: data-architect, product-manager, product-owner, scrum-master, subject-matter-expert, system-architect, test-strategist, ui-designer, ux-expert
|
|
38
|
-
|
|
39
|
-
**Flags**:
|
|
40
|
-
- `--yes` / `-y`: Auto mode, skip interactive questions, use defaults
|
|
41
|
-
- `--count N`: Number of roles to select (default 3, max 9)
|
|
42
|
-
- `--session ID`: Use existing session
|
|
43
|
-
- `--update`: Update existing analysis (single role)
|
|
44
|
-
- `--skip-questions`: Skip context gathering questions
|
|
45
|
-
- `--include-questions`: Force context gathering even if analysis exists
|
|
46
|
-
- `--style-skill PKG`: Style package for ui-designer role
|
|
47
|
-
|
|
48
|
-
###
|
|
49
|
-
1.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
|
81
|
-
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
- [ ]
|
|
95
|
-
- [ ]
|
|
96
|
-
- [ ]
|
|
97
|
-
- [ ]
|
|
98
|
-
- [ ]
|
|
99
|
-
- [ ]
|
|
100
|
-
- [ ]
|
|
101
|
-
- [ ]
|
|
102
|
-
- [ ]
|
|
103
|
-
- [ ]
|
|
104
|
-
- [ ]
|
|
105
|
-
- [ ]
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
- [ ]
|
|
109
|
-
- [ ]
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
1
|
+
---
|
|
2
|
+
name: maestro-brainstorm
|
|
3
|
+
description: Brainstorm with auto pipeline or single-role analysis
|
|
4
|
+
argument-hint: "[topic|role-name] [--yes] [--count N] [--session ID] [--update] [--skip-questions] [--include-questions] [--style-skill PKG]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Agent
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
<purpose>
|
|
15
|
+
Unified brainstorming combining interactive framework generation, multi-role parallel analysis, and cross-role synthesis. Two modes: Auto (full pipeline with guidance-specification → parallel role analysis → synthesis) and Single Role (individual role analysis for an existing session). Outputs structured artifacts in .brainstorming/ directory ready for downstream planning.
|
|
16
|
+
</purpose>
|
|
17
|
+
|
|
18
|
+
<required_reading>
|
|
19
|
+
@~/.maestro/workflows/brainstorm.md
|
|
20
|
+
</required_reading>
|
|
21
|
+
|
|
22
|
+
<deferred_reading>
|
|
23
|
+
- [scratch-index.json](~/.maestro/templates/scratch-index.json) — read when operating in scratch mode
|
|
24
|
+
- [index.json](~/.maestro/templates/index.json) — read when operating in phase mode
|
|
25
|
+
- [brainstorm-visualize.md](~/.maestro/workflows/brainstorm-visualize.md) — read when html-prototypes/ produced and user wants to browse them
|
|
26
|
+
</deferred_reading>
|
|
27
|
+
|
|
28
|
+
<context>
|
|
29
|
+
$ARGUMENTS -- topic text for auto mode, or role name for single role mode.
|
|
30
|
+
|
|
31
|
+
**Auto mode**: topic text (e.g., "Build real-time collaboration platform") triggers full pipeline.
|
|
32
|
+
**Single role mode**: valid role name (e.g., "system-architect") runs one role analysis.
|
|
33
|
+
**All output** goes to `.workflow/scratch/{YYYYMMDD}-brainstorm-{slug}/`.
|
|
34
|
+
**Artifact registration**: On completion, registers artifact (type=brainstorm) in state.json.
|
|
35
|
+
**Output boundary**: ALL file writes MUST target `{output_dir}/` or `.workflow/state.json` only. NEVER modify source code or files outside these paths.
|
|
36
|
+
|
|
37
|
+
**Valid roles**: data-architect, product-manager, product-owner, scrum-master, subject-matter-expert, system-architect, test-strategist, ui-designer, ux-expert
|
|
38
|
+
|
|
39
|
+
**Flags**:
|
|
40
|
+
- `--yes` / `-y`: Auto mode, skip interactive questions, use defaults
|
|
41
|
+
- `--count N`: Number of roles to select (default 3, max 9)
|
|
42
|
+
- `--session ID`: Use existing session
|
|
43
|
+
- `--update`: Update existing analysis (single role)
|
|
44
|
+
- `--skip-questions`: Skip context gathering questions
|
|
45
|
+
- `--include-questions`: Force context gathering even if analysis exists
|
|
46
|
+
- `--style-skill PKG`: Style package for ui-designer role
|
|
47
|
+
|
|
48
|
+
### Pre-load specs
|
|
49
|
+
1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for multi-role analysis — ensures roles respect documented decisions.
|
|
50
|
+
2. Optional — proceed without if unavailable.
|
|
51
|
+
|
|
52
|
+
### Role Knowledge
|
|
53
|
+
1. Browse accumulated knowledge for this role:
|
|
54
|
+
`maestro wiki list --category arch`
|
|
55
|
+
2. Analyze the index, identify entries relevant to the current task
|
|
56
|
+
3. Load selected documents:
|
|
57
|
+
`maestro wiki load <id1> [id2] [id3...]`
|
|
58
|
+
4. Review loaded knowledge before proceeding
|
|
59
|
+
</context>
|
|
60
|
+
|
|
61
|
+
<execution>
|
|
62
|
+
Follow '~/.maestro/workflows/brainstorm.md' completely.
|
|
63
|
+
|
|
64
|
+
**Next-step routing on completion:**
|
|
65
|
+
|
|
66
|
+
Auto mode:
|
|
67
|
+
- Project not initialized → Skill({ skill: "maestro-init" })
|
|
68
|
+
- Project initialized, need spec package → Skill({ skill: "maestro-roadmap", args: "--mode full --from-brainstorm {session_id}" })
|
|
69
|
+
- Project initialized, quick roadmap → Skill({ skill: "maestro-roadmap", args: "--from-brainstorm {session_id}" })
|
|
70
|
+
- Need deeper analysis first → Skill({ skill: "maestro-analyze", args: "{topic}" })
|
|
71
|
+
- `html-prototypes/` produced with 2+ files and user wants to browse → load `~/.maestro/workflows/brainstorm-visualize.md` and launch visualizer server (optional, user-triggered)
|
|
72
|
+
- DESIGN.md established during Step 3.5 → suggest: "Run `/maestro-ui-craft <feature-description> --chain build` to build with the established design system"
|
|
73
|
+
|
|
74
|
+
Single role mode:
|
|
75
|
+
- More roles needed → Skill({ skill: "maestro-brainstorm", args: "{next_role} --session {session_id}" })
|
|
76
|
+
- All roles done, run synthesis → Skill({ skill: "maestro-brainstorm", args: "{topic} --session {session_id}" })
|
|
77
|
+
</execution>
|
|
78
|
+
|
|
79
|
+
<error_codes>
|
|
80
|
+
| Code | Severity | Condition | Recovery |
|
|
81
|
+
|------|----------|-----------|----------|
|
|
82
|
+
| E001 | error | Topic or role argument required | Prompt user for topic text or role name |
|
|
83
|
+
| E002 | error | No active session for single role mode | Guide user to run auto mode first |
|
|
84
|
+
| E003 | error | Invalid role name | Show valid roles list |
|
|
85
|
+
| W001 | warning | Fewer than 10 ideas in divergent phase | Proceed with available ideas |
|
|
86
|
+
| W002 | warning | Project context (.workflow/) not found | Continue without project context |
|
|
87
|
+
| W003 | warning | Role template not found | Use generic analysis structure |
|
|
88
|
+
| W004 | warning | Validation score < 60 | Log warning, suggest manual review |
|
|
89
|
+
| W005 | warning | External research agent failed | Continue without designResearchContext |
|
|
90
|
+
</error_codes>
|
|
91
|
+
|
|
92
|
+
<success_criteria>
|
|
93
|
+
**Auto mode**:
|
|
94
|
+
- [ ] guidance-specification.md with RFC 2119 keywords, terminology, non-goals, feature decomposition
|
|
95
|
+
- [ ] design-research.md persisted when Step 1.7 external research ran (fail-soft: absence not a failure)
|
|
96
|
+
- [ ] Spec Review Gate passed (Step 3.5) or `--yes` bypassed
|
|
97
|
+
- [ ] Role analysis files for each selected NON-UI role in `.brainstorming/{role}/`
|
|
98
|
+
- [ ] If `ui-designer` in selected_roles AND Step 3.5 ran: `.workflow/impeccable/DESIGN.md` exists (visual style established via impeccable explore)
|
|
99
|
+
- [ ] If `ui-designer` in selected_roles: `ui-designer/analysis.md` exists with UX analysis (interaction flows, state design, information architecture)
|
|
100
|
+
- [ ] Feature specs in `.brainstorming/feature-specs/` (or synthesis-specification.md)
|
|
101
|
+
- [ ] UI-bearing feature specs reference DESIGN.md for visual constraints in Section 3 (Interface Contract)
|
|
102
|
+
- [ ] feature-index.json and synthesis-changelog.md
|
|
103
|
+
- [ ] Final Output Gate passed (Step 5.5) or `--yes` bypassed
|
|
104
|
+
- [ ] All user decisions captured with Decision Recording Protocol
|
|
105
|
+
- [ ] Session metadata updated with completion status
|
|
106
|
+
- [ ] Confidence scored per role completion and after cross-role analysis
|
|
107
|
+
- [ ] Readiness gate checked before spec generation
|
|
108
|
+
- [ ] Pressure pass completed on at least 1 feature spec
|
|
109
|
+
- [ ] Confidence summary appended to synthesis-changelog.md
|
|
110
|
+
|
|
111
|
+
**Single role mode**:
|
|
112
|
+
- [ ] analysis.md written to `{output_dir}/{role}/`
|
|
113
|
+
- [ ] Feature-point organization used when feature list available
|
|
114
|
+
- [ ] Framework reference included when guidance-specification.md exists
|
|
115
|
+
- [ ] Session metadata updated
|
|
116
|
+
</success_criteria>
|
|
@@ -35,6 +35,11 @@ $ARGUMENTS — natural language description, or flags.
|
|
|
35
35
|
- Design drafts: `.workflow/templates/design-drafts/`
|
|
36
36
|
- Template ID: `wft-<slug>-<YYYYMMDD>`, Node ID: `N-<seq>`, Checkpoint: `CP-<seq>`
|
|
37
37
|
- Max nodes: 20
|
|
38
|
+
|
|
39
|
+
### Pre-load specs
|
|
40
|
+
1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for node resolution — ensures workflow design respects documented patterns.
|
|
41
|
+
2. **Coding specs**: Run `maestro spec load --category coding` to load coding conventions. Informs executor argument defaults and context injection.
|
|
42
|
+
3. Optional — proceed without if unavailable.
|
|
38
43
|
</context>
|
|
39
44
|
|
|
40
45
|
<state_machine>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-impeccable
|
|
3
|
-
description: Production-grade UI design with knowhow accumulation —
|
|
4
|
-
argument-hint: "<command> [target] [--skip-harvest] [-y]"
|
|
3
|
+
description: Production-grade UI design with knowhow accumulation — 24 commands + integrated design search for build, evaluate, refine, enhance, fix
|
|
4
|
+
argument-hint: "<command> [target] [--skip-harvest] [-y] | search <query> [-d <domain>] [--design-system]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -13,13 +13,17 @@ allowed-tools:
|
|
|
13
13
|
- AskUserQuestion
|
|
14
14
|
---
|
|
15
15
|
<purpose>
|
|
16
|
-
Replaces impeccable as the primary UI design entry point.
|
|
17
|
-
Build (craft, shape, teach, document, extract), Evaluate (critique, audit), Refine (polish, bolder, quieter, distill, harden, onboard),
|
|
16
|
+
Replaces impeccable as the primary UI design entry point. 24 commands covering the full design lifecycle:
|
|
17
|
+
Build (craft, shape, teach, document, extract, explore), Evaluate (critique, audit), Refine (polish, bolder, quieter, distill, harden, onboard),
|
|
18
18
|
Enhance (animate, colorize, typeset, layout, delight, overdrive), Fix (clarify, adapt, optimize), Iterate (live).
|
|
19
19
|
|
|
20
20
|
Core innovation over impeccable: after each command execution, automatically harvests design decisions
|
|
21
21
|
into `.workflow/knowhow/` (DCS-, AST-, TIP-, REF-) for cross-session accumulation. Other maestro commands
|
|
22
22
|
consume this via `category: coding` auto-injection and keyword matching.
|
|
23
|
+
|
|
24
|
+
Includes integrated `search` CLI subcommand for querying the UI/UX design knowledge base
|
|
25
|
+
(BM25 search engine + 30+ CSV data files covering styles, colors, typography, UX guidelines, charts, stacks).
|
|
26
|
+
Search is invoked directly via `maestro impeccable search`, not through the Skill dispatch.
|
|
23
27
|
</purpose>
|
|
24
28
|
|
|
25
29
|
<deferred_reading>
|
|
@@ -29,11 +33,11 @@ consume this via `category: coding` auto-injection and keyword matching.
|
|
|
29
33
|
<context>
|
|
30
34
|
$ARGUMENTS — sub-command + target + optional flags.
|
|
31
35
|
|
|
32
|
-
**Sub-commands** (
|
|
36
|
+
**Sub-commands** (24):
|
|
33
37
|
|
|
34
38
|
| Category | Commands |
|
|
35
39
|
|----------|----------|
|
|
36
|
-
| Build | craft, shape, teach, document, extract |
|
|
40
|
+
| Build | craft, shape, teach, document, extract, explore |
|
|
37
41
|
| Evaluate | critique, audit |
|
|
38
42
|
| Refine | polish, bolder, quieter, distill, harden, onboard |
|
|
39
43
|
| Enhance | animate, colorize, typeset, layout, delight, overdrive |
|
|
@@ -51,7 +55,23 @@ and writes knowhow entries. DCS-/AST- types also get spec index entries for disc
|
|
|
51
55
|
|
|
52
56
|
<execution>
|
|
53
57
|
|
|
54
|
-
## 1.
|
|
58
|
+
## 1. Route
|
|
59
|
+
|
|
60
|
+
If first argument is `search` → direct CLI dispatch (no Skill, no harvest):
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
maestro impeccable search "<query>" [options]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Options: `-d <domain>`, `-s <stack>`, `-n <max>`, `--design-system`, `-p <name>`, `-f <fmt>`, `--persist`, `--page <page>`, `-o <dir>`
|
|
67
|
+
|
|
68
|
+
Domains: style, color, chart, landing, product, ux, typography, icons, react, web, google-fonts.
|
|
69
|
+
Stacks: react, nextjs, vue, svelte, astro, swiftui, react-native, flutter, html-tailwind, shadcn, + more.
|
|
70
|
+
|
|
71
|
+
Search uses `workflows/impeccable/ui-search/search.py` (BM25 engine + 30+ CSV knowledge files).
|
|
72
|
+
Output goes to stdout. No Skill invocation, no harvest. Return after output.
|
|
73
|
+
|
|
74
|
+
## 2. Invoke Skill (all other sub-commands)
|
|
55
75
|
|
|
56
76
|
```
|
|
57
77
|
Skill({ skill: "maestro-impeccable", args: "$ARGUMENTS" })
|
|
@@ -60,7 +80,7 @@ Skill({ skill: "maestro-impeccable", args: "$ARGUMENTS" })
|
|
|
60
80
|
The skill handles: context loading (spec load --category ui, with load-context fallback), register detection (brand/product),
|
|
61
81
|
reference file loading, and command execution.
|
|
62
82
|
|
|
63
|
-
##
|
|
83
|
+
## 3. Harvest
|
|
64
84
|
|
|
65
85
|
After the skill completes, read `~/.maestro/workflows/impeccable.md` and follow the harvest workflow.
|
|
66
86
|
|
|
@@ -69,12 +89,29 @@ Skip harvest if:
|
|
|
69
89
|
- Sub-command is `live` (interactive, no harvestable output)
|
|
70
90
|
- Sub-command is unrecognized
|
|
71
91
|
|
|
92
|
+
## 4. Post-Execution Routing
|
|
93
|
+
|
|
94
|
+
After harvest (or skip), determine whether this command was invoked as part of a larger pipeline by checking conversation context (e.g., brainstorm Step 3.5, ui-craft chain step).
|
|
95
|
+
|
|
96
|
+
**Pipeline context detected** (called via Skill from brainstorm, ui-craft, etc.):
|
|
97
|
+
- Report command result (output, scores, artifacts produced) and **stop**
|
|
98
|
+
- Do NOT suggest next-step commands — the calling flow owns what happens next
|
|
99
|
+
|
|
100
|
+
**Standalone invocation** (user directly ran `/maestro-impeccable`):
|
|
101
|
+
- Show next-step suggestions based on what was executed:
|
|
102
|
+
- `teach` → suggest `explore` or `shape`
|
|
103
|
+
- `explore` → suggest `shape` → `craft`
|
|
104
|
+
- `shape` → suggest `craft`
|
|
105
|
+
- `craft` → suggest `critique`
|
|
106
|
+
- `critique`/`audit` → suggest commands from findings
|
|
107
|
+
- Enhancement/fix commands → suggest `critique` to re-evaluate
|
|
108
|
+
|
|
72
109
|
</execution>
|
|
73
110
|
|
|
74
111
|
<error_codes>
|
|
75
112
|
| Code | Severity | Description |
|
|
76
113
|
|------|----------|-------------|
|
|
77
|
-
| E001 | error | Invalid sub-command (not in
|
|
114
|
+
| E001 | error | Invalid sub-command (not in 24 valid commands) |
|
|
78
115
|
| E002 | error | No intent or target specified |
|
|
79
116
|
| W001 | warning | Harvest failed — design knowledge not captured (command still succeeded) |
|
|
80
117
|
| W002 | warning | PRODUCT.md missing — skill will auto-trigger teach |
|
|
@@ -31,6 +31,9 @@ Flags (`-m`, `--force`, `--dry-run`, `--no-cleanup`, `--continue`), merge sequen
|
|
|
31
31
|
<execution>
|
|
32
32
|
Follow '~/.maestro/workflows/merge.md' completely.
|
|
33
33
|
|
|
34
|
+
**Knowledge inquiry on completion:**
|
|
35
|
+
After successful merge, ask user once: "Record milestone learnings?" If yes, persist via `Skill("spec-add", "learning \"<title>\" \"<insight>\" --keywords <kw1>,<kw2>")`.
|
|
36
|
+
|
|
34
37
|
**Next-step routing on completion:**
|
|
35
38
|
- View dashboard → Skill({ skill: "manage-status" })
|
|
36
39
|
- Audit milestone → Skill({ skill: "maestro-milestone-audit" })
|
|
@@ -69,6 +69,10 @@ maestro-plan → maestro-execute → maestro-verify
|
|
|
69
69
|
```
|
|
70
70
|
|
|
71
71
|
**Note (full mode):** `maestro-init` MUST run before `--mode full`. It creates the `.workflow/` directory and project context.
|
|
72
|
+
|
|
73
|
+
### Pre-load specs
|
|
74
|
+
1. **Architecture specs**: Run `maestro spec load --category arch` to load architecture constraints. Use as context for phase decomposition — ensures roadmap respects documented decisions and boundaries.
|
|
75
|
+
2. Optional — proceed without if unavailable.
|
|
72
76
|
</context>
|
|
73
77
|
|
|
74
78
|
<execution>
|
|
@@ -100,7 +104,7 @@ Follow `~/.maestro/workflows/spec-generate.md` completely.
|
|
|
100
104
|
|-----------|-----------|
|
|
101
105
|
| Roadmap approved, need analysis | /maestro-analyze 1 |
|
|
102
106
|
| Simple project, ready to plan | /maestro-plan 1 |
|
|
103
|
-
| Need UI design first | /maestro-ui-
|
|
107
|
+
| Need UI design first | /maestro-ui-craft --chain build |
|
|
104
108
|
| View project dashboard | /manage-status |
|
|
105
109
|
| Need project setup (full mode) | /maestro-init |
|
|
106
110
|
</execution>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: maestro-ui-craft
|
|
3
3
|
description: Chain maestro-impeccable commands with intelligent routing and quality gate loops for automated UI production
|
|
4
|
-
argument-hint: "<intent|target> [--chain build|improve|enhance|harden|live] [--enhance <cmd>] [--threshold <score>] [--max-loops <n>] [-y] [-c]"
|
|
4
|
+
argument-hint: "<intent|target> [--chain build|improve|enhance|harden|live] [--enhance <cmd>] [--threshold <score>] [--max-loops <n>] [--skip-design-explore] [--skip-design] [--styles <N>] [--stack <stack>] [-y] [-c]"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Read
|
|
7
7
|
- Write
|
|
@@ -22,11 +22,20 @@ Core innovation: critique/audit scores drive automatic command selection and ite
|
|
|
22
22
|
Impeccable has 23 commands across 6 categories — this command chains them into automated pipelines
|
|
23
23
|
with quality gates that loop until design quality meets the threshold.
|
|
24
24
|
|
|
25
|
+
Includes integrated design-explore: multi-variant design system generation (via ui-search BM25 engine + CSV knowledge base),
|
|
26
|
+
HTML prototype rendering for visual comparison, interactive user review with mix support,
|
|
27
|
+
and automatic bridge to impeccable's DESIGN.md format. Replaces the former maestro-ui-design command.
|
|
28
|
+
|
|
25
29
|
Prerequisite: maestro-impeccable skill available (auto-discovered by harness).
|
|
26
30
|
|
|
27
31
|
Session: `.workflow/.maestro/ui-craft-{YYYYMMDD-HHmmss}/status.json`
|
|
28
32
|
</purpose>
|
|
29
33
|
|
|
34
|
+
<deferred_reading>
|
|
35
|
+
- [impeccable harvest workflow](~/.maestro/workflows/impeccable.md) — read after command execution for harvest logic
|
|
36
|
+
- [design stage workflow](~/.maestro/workflows/impeccable/design.md) — read when S_DESIGN_EXPLORE or S_BRIDGE state entered
|
|
37
|
+
</deferred_reading>
|
|
38
|
+
|
|
30
39
|
<invariants>
|
|
31
40
|
1. **Session before execution** — status.json created before any chain step runs
|
|
32
41
|
2. **All steps via Skill** — every impeccable command dispatched through `Skill({ skill: "maestro-impeccable" })`
|
|
@@ -46,6 +55,9 @@ $ARGUMENTS — intent description or target path, with optional flags.
|
|
|
46
55
|
- `--max-loops <n>` — Maximum quality gate iterations (default: 3)
|
|
47
56
|
- `-c` / `--continue` — Resume previous ui-craft session
|
|
48
57
|
- `-y` — Auto mode: auto-select at ambiguous routing, skip confirmations where impeccable allows
|
|
58
|
+
- `--skip-design-explore` / `--skip-design` — Skip design-explore (prototype comparison) and bridge (use existing DESIGN.md or full shape interview)
|
|
59
|
+
- `--styles <N>` — Number of design system variants to generate and compare (2-5, default 3). Only used in build chain design-explore step
|
|
60
|
+
- `--stack <stack>` — Tech stack for supplementary guidelines (default: html-tailwind). Passed to ui-search
|
|
49
61
|
</context>
|
|
50
62
|
|
|
51
63
|
<chains>
|
|
@@ -54,13 +66,14 @@ $ARGUMENTS — intent description or target path, with optional flags.
|
|
|
54
66
|
|
|
55
67
|
| Chain | Sequence | Gate Condition |
|
|
56
68
|
|-------|----------|----------------|
|
|
57
|
-
| **build** | teach? → shape → craft → **critique** → [refine loop] → audit → polish | critique ≥ threshold AND P0 == 0 |
|
|
69
|
+
| **build** | teach? → **design_explore?** → shape → craft → **critique** → [refine loop] → audit → polish | critique ≥ threshold AND P0 == 0 |
|
|
58
70
|
| **improve** | **critique** → [refine loop] → polish → audit | critique ≥ threshold AND P0 == 0 |
|
|
59
71
|
| **enhance** | {cmd} → **critique** → polish (if needed) | critique ≥ threshold |
|
|
60
72
|
| **harden** | harden → **audit** → polish | audit ≥ threshold×0.5 |
|
|
61
73
|
| **live** | live | — (interactive, no gate) |
|
|
62
74
|
|
|
63
75
|
- `teach?` — conditional: only if PRODUCT.md missing/placeholder
|
|
76
|
+
- `design_explore?` — conditional: only if DESIGN.md missing AND `--skip-design-explore` not set. Delegates to `Skill("maestro-impeccable", "explore")` which handles variant generation, prototype rendering, visual comparison, user selection/mix, AND bridge to DESIGN.md internally
|
|
64
77
|
- `[refine loop]` — quality gate loop: extract suggested commands from critique → execute → re-critique
|
|
65
78
|
|
|
66
79
|
### Intent → Chain Routing
|
|
@@ -68,6 +81,7 @@ $ARGUMENTS — intent description or target path, with optional flags.
|
|
|
68
81
|
| Intent Pattern | Chain |
|
|
69
82
|
|---------------|-------|
|
|
70
83
|
| 新建, create, build, new, 从零, landing, feature, page | build |
|
|
84
|
+
| 设计, design, 风格, style, 设计系统, design system, 视觉, theme | build |
|
|
71
85
|
| 改进, improve, fix, 优化, iterate, better, 迭代 | improve |
|
|
72
86
|
| 动画, 颜色, 排版, animate, color, type, bold, delight, enhance | enhance |
|
|
73
87
|
| 生产, production, harden, 上线, ship, edge case, i18n | harden |
|
|
@@ -84,6 +98,7 @@ S_PARSE — 解析参数、意图分类、chain 选择 PERSI
|
|
|
84
98
|
S_RESUME — 扫描已有 ui-craft session、恢复执行 PERSIST: —
|
|
85
99
|
S_SETUP — 加载 context、检查 PRODUCT.md PERSIST: —
|
|
86
100
|
S_CREATE — 创建 session + status.json PERSIST: session (全量)
|
|
101
|
+
S_DESIGN_EXPLORE — 委托 impeccable explore:多变体生成、原型对比、选型/混搭、自动 bridge 到 DESIGN.md PERSIST: explore_completed, design_md_path
|
|
87
102
|
S_CHAIN — 按序执行 chain 步骤 PERSIST: step progress, executed commands
|
|
88
103
|
S_GATE — 质量门控:解析评分、决策 PERSIST: scores, loop count
|
|
89
104
|
S_REFINE — 执行自动选取的 refine 命令 PERSIST: refine commands, loop state
|
|
@@ -109,10 +124,16 @@ S_CREATE:
|
|
|
109
124
|
→ S_CHAIN DO: A_CREATE_SESSION
|
|
110
125
|
|
|
111
126
|
S_CHAIN:
|
|
127
|
+
→ S_DESIGN_EXPLORE WHEN: current step is 'design_explore' AND DESIGN.md missing AND --skip-design-explore not set AND --skip-design not set
|
|
112
128
|
→ S_GATE WHEN: current step is gate command (critique/audit)
|
|
129
|
+
→ S_CHAIN WHEN: step is design_explore but skip conditions met → advance
|
|
113
130
|
→ S_CHAIN WHEN: step is normal command → execute → advance
|
|
114
131
|
→ S_REPORT WHEN: all steps complete
|
|
115
132
|
|
|
133
|
+
S_DESIGN_EXPLORE:
|
|
134
|
+
→ S_CHAIN WHEN: explore completed (DESIGN.md produced) → advance to shape
|
|
135
|
+
→ S_CHAIN WHEN: explore failed → W004 → advance to shape (full interview fallback)
|
|
136
|
+
|
|
116
137
|
S_GATE:
|
|
117
138
|
→ S_CHAIN WHEN: PASS (score ≥ threshold AND P0 == 0) → advance to next step
|
|
118
139
|
→ S_REFINE WHEN: FAIL (score < threshold OR P0 > 0)
|
|
@@ -160,6 +181,15 @@ S_REPORT:
|
|
|
160
181
|
```
|
|
161
182
|
3. Write status.json before executing any step
|
|
162
183
|
|
|
184
|
+
### A_DESIGN_EXPLORE
|
|
185
|
+
|
|
186
|
+
Delegate to impeccable explore as a black-box command. The explore command internally handles:
|
|
187
|
+
variant generation, prototype rendering, visual comparison, user review, mix protocol, rejected variant harvest, bridge to DESIGN.md, and spec registration.
|
|
188
|
+
|
|
189
|
+
1. Execute: `Skill({ skill: "maestro-impeccable", args: "explore --styles {styles_count}" })`
|
|
190
|
+
2. On completion: verify `.workflow/impeccable/DESIGN.md` exists
|
|
191
|
+
3. Update status.json: `explore_completed: true`, `design_md_path`
|
|
192
|
+
|
|
163
193
|
### A_FINAL_REPORT
|
|
164
194
|
|
|
165
195
|
1. Read critique trend if available (impeccable's critique persists snapshots automatically)
|
|
@@ -205,11 +235,26 @@ Execute via: `Skill({ skill: "maestro-impeccable", args: "{command} {target}" })
|
|
|
205
235
|
|
|
206
236
|
After each step: update status.json `current_step` and step `status`.
|
|
207
237
|
|
|
208
|
-
**
|
|
238
|
+
**Step-specific logic:**
|
|
239
|
+
|
|
240
|
+
### 4a. Design-explore step (build chain only)
|
|
241
|
+
|
|
242
|
+
When current step is `design_explore`:
|
|
243
|
+
|
|
244
|
+
1. Check if `.workflow/impeccable/DESIGN.md` already exists → skip, advance to shape
|
|
245
|
+
2. Check if `--skip-design-explore` or `--skip-design` is set → skip, advance to shape
|
|
246
|
+
3. Otherwise → execute A_DESIGN_EXPLORE:
|
|
247
|
+
- `Skill({ skill: "maestro-impeccable", args: "explore --styles {styles_count}" })`
|
|
248
|
+
- explore handles everything internally: variant generation, prototype rendering, visual comparison, user selection/mix, bridge to DESIGN.md, spec registration
|
|
249
|
+
4. On completion → verify DESIGN.md exists, advance to shape
|
|
250
|
+
5. On failure → W004, advance to shape (full interview fallback, no DESIGN.md)
|
|
251
|
+
|
|
252
|
+
### 4c. Normal steps
|
|
253
|
+
|
|
209
254
|
- `teach`, `shape`, `craft` are interactive — do NOT suppress their user gates
|
|
210
255
|
- After `teach` completes → re-run context loader for fresh PRODUCT.md
|
|
211
256
|
- After `craft` completes → the build exists, ready for evaluation
|
|
212
|
-
- Gate steps (critique/audit) → transition to quality gate logic
|
|
257
|
+
- Gate steps (critique/audit) → transition to quality gate logic (Section 5)
|
|
213
258
|
|
|
214
259
|
## 5. Quality Gate
|
|
215
260
|
|
|
@@ -335,6 +380,8 @@ These are structural/interactive — never picked by the refine loop:
|
|
|
335
380
|
| overdrive | Requires explicit user vision |
|
|
336
381
|
| critique | Gate command, not a fix |
|
|
337
382
|
| audit | Gate command, not a fix |
|
|
383
|
+
| design | Design system generation (setup) |
|
|
384
|
+
| bridge | Format bridging (setup) |
|
|
338
385
|
|
|
339
386
|
</quality_gate_routing>
|
|
340
387
|
|
|
@@ -349,6 +396,11 @@ These are structural/interactive — never picked by the refine loop:
|
|
|
349
396
|
| W001 | warning | PRODUCT.md missing, prepending teach to chain |
|
|
350
397
|
| W002 | warning | Max quality gate loops exceeded, forcing continue |
|
|
351
398
|
| W003 | warning | Could not parse score from critique/audit output |
|
|
399
|
+
| E006 | error | Python 3 not available for design system generation |
|
|
400
|
+
| E007 | error | ui-search scripts not found at expected path |
|
|
401
|
+
| W004 | warning | Design system generation failed, skipping design+bridge, falling back to shape full interview |
|
|
402
|
+
| W005 | warning | Bridge transformation failed, continuing without DESIGN.md |
|
|
403
|
+
| W008 | warning | Node.js not available for prototype rendering, falling back to text-only variant comparison |
|
|
352
404
|
</error_codes>
|
|
353
405
|
|
|
354
406
|
<success_criteria>
|
|
@@ -48,6 +48,10 @@ $ARGUMENTS -- optional. Parse first token to determine mode.
|
|
|
48
48
|
**State files:**
|
|
49
49
|
- `.workflow/issues/issues.jsonl` -- issues appended here
|
|
50
50
|
- `.workflow/issues/discoveries/{SESSION_ID}/` -- session artifacts
|
|
51
|
+
|
|
52
|
+
### Pre-load specs
|
|
53
|
+
1. **Debug specs**: Run `maestro spec load --category debug` to load known antipatterns, root causes, and gotchas. Informs discovery perspectives with prior findings.
|
|
54
|
+
2. Optional — proceed without if unavailable.
|
|
51
55
|
</context>
|
|
52
56
|
|
|
53
57
|
<execution>
|
|
@@ -41,6 +41,9 @@ If not provided, prompt user for scope.
|
|
|
41
41
|
<execution>
|
|
42
42
|
Follow '~/.maestro/workflows/refactor.md' completely.
|
|
43
43
|
|
|
44
|
+
**Knowledge inquiry on completion:**
|
|
45
|
+
After successful refactoring, ask user once: "Record refactoring pattern as coding convention?" If yes, persist via `Skill("spec-add", "coding \"<title>\" \"<pattern>\" --keywords <kw1>,<kw2>")`.
|
|
46
|
+
|
|
44
47
|
**Next-step routing on completion:**
|
|
45
48
|
- All tests pass → `/quality-sync` (update codebase docs)
|
|
46
49
|
- Test failures after refactor → `/quality-debug {scope}`
|
package/package.json
CHANGED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: maestro-ui-design
|
|
3
|
-
description: Generate UI design prototypes, select and solidify as code
|
|
4
|
-
argument-hint: "<phase|topic> [--styles N] [--stack <stack>] [--targets <pages>] [--layouts N] [--refine] [--persist] [--full] [-y]"
|
|
5
|
-
allowed-tools:
|
|
6
|
-
- Read
|
|
7
|
-
- Write
|
|
8
|
-
- Edit
|
|
9
|
-
- Bash
|
|
10
|
-
- Glob
|
|
11
|
-
- Grep
|
|
12
|
-
- Agent
|
|
13
|
-
- AskUserQuestion
|
|
14
|
-
---
|
|
15
|
-
<purpose>
|
|
16
|
-
Generate UI design prototypes for a phase or topic. Two workflow paths, auto-selected by skill availability:
|
|
17
|
-
|
|
18
|
-
1. **Primary (ui-style.md):** Delegates design to ui-ux-pro-max skill. Generates multiple style variants via `--design-system`, user selects, solidifies as code reference. Lightweight and fast.
|
|
19
|
-
2. **Fallback (ui-design.md):** Self-contained 4-layer pipeline (style → animation → layout → assembly) with 6D attribute space, OKLCH tokens, layout templates, and full prototype matrix. Used when ui-ux-pro-max is unavailable or `--full` is requested.
|
|
20
|
-
|
|
21
|
-
Both paths produce the same output contract: MASTER.md + design-tokens.json + animation-tokens.json + selection.json for downstream plan/execute consumption.
|
|
22
|
-
|
|
23
|
-
Position in pipeline: analyze -> **ui-design** -> plan -> execute -> verify
|
|
24
|
-
</purpose>
|
|
25
|
-
|
|
26
|
-
<deferred_reading>
|
|
27
|
-
- [ui-style.md](~/.maestro/workflows/ui-style.md) — read when SKILL_PATH found (primary path)
|
|
28
|
-
- [ui-design.md](~/.maestro/workflows/ui-design.md) — read when SKILL_PATH empty or --full (fallback path)
|
|
29
|
-
- [index.json](~/.maestro/templates/index.json) — read when updating phase metadata
|
|
30
|
-
- [scratch-index.json](~/.maestro/templates/scratch-index.json) — read when operating in scratch mode
|
|
31
|
-
</deferred_reading>
|
|
32
|
-
|
|
33
|
-
<context>
|
|
34
|
-
$ARGUMENTS — phase number for phase mode, topic text for scratch mode, with optional flags.
|
|
35
|
-
|
|
36
|
-
Flags, workflow routing, scope modes, and output artifacts defined in the routed workflow (ui-style.md or ui-design.md).
|
|
37
|
-
|
|
38
|
-
**Phase mode** (number): resolves phase directory, reads context.md/brainstorm for requirements.
|
|
39
|
-
**Scratch mode** (text): creates `.workflow/scratch/{YYYYMMDD}-ui-design-{slug}/` for standalone exploration.
|
|
40
|
-
</context>
|
|
41
|
-
|
|
42
|
-
<execution>
|
|
43
|
-
## 1. Load UI Specs
|
|
44
|
-
|
|
45
|
-
Load project UI conventions before generating designs:
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
maestro spec load --category ui
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
If specs not initialized, continue without — the workflow still produces valid output.
|
|
52
|
-
|
|
53
|
-
## 2. Workflow Routing
|
|
54
|
-
|
|
55
|
-
Detect ui-ux-pro-max skill availability and route to the appropriate workflow:
|
|
56
|
-
|
|
57
|
-
- **`--full` flag present** → Follow '~/.maestro/workflows/ui-design.md' completely (forced full pipeline)
|
|
58
|
-
- **ui-ux-pro-max found** → Follow '~/.maestro/workflows/ui-style.md' completely (lightweight delegation)
|
|
59
|
-
- **ui-ux-pro-max not found** → Follow '~/.maestro/workflows/ui-design.md' completely (self-contained fallback)
|
|
60
|
-
|
|
61
|
-
Skill detection logic, report format, and complete pipeline steps defined in the routed workflow file.
|
|
62
|
-
|
|
63
|
-
**Next-step routing on completion:**
|
|
64
|
-
- Plan with design reference → /maestro-plan {phase}
|
|
65
|
-
- Refine selected design → /maestro-ui-design {phase} --refine
|
|
66
|
-
- Analyze before planning → /maestro-analyze {phase}
|
|
67
|
-
</execution>
|
|
68
|
-
|
|
69
|
-
<error_codes>
|
|
70
|
-
| Code | Severity | Description | Stage |
|
|
71
|
-
|------|----------|-------------|-------|
|
|
72
|
-
| E001 | error | Phase or topic argument required | parse_input |
|
|
73
|
-
| E002 | error | Phase directory not found | parse_input |
|
|
74
|
-
| E003 | error | Python not available (both paths need Python for ui-ux-pro-max or agent fallback) | setup |
|
|
75
|
-
| E004 | error | --refine requires existing design-ref/ | parse_input |
|
|
76
|
-
| W001 | warning | Design system generation returned partial results | generate |
|
|
77
|
-
| W002 | warning | Prototype rendering failed for one variant | render |
|
|
78
|
-
| W003 | warning | No context.md found, using phase goal only | context |
|
|
79
|
-
| W004 | warning | ui-ux-pro-max not found, falling back to full pipeline | routing |
|
|
80
|
-
</error_codes>
|
|
81
|
-
|
|
82
|
-
<success_criteria>
|
|
83
|
-
**Both paths (common):**
|
|
84
|
-
- [ ] UI specs loaded via `spec load --category ui` (if available)
|
|
85
|
-
- [ ] Requirements extracted from phase context (context.md, brainstorm, spec, or user input)
|
|
86
|
-
- [ ] N style variants generated with contrasting design directions
|
|
87
|
-
- [ ] User selected preferred variant (or auto-selected in -y mode)
|
|
88
|
-
- [ ] MASTER.md written with complete design system specification
|
|
89
|
-
- [ ] design-tokens.json written with production-ready tokens (OKLCH colors, component_styles)
|
|
90
|
-
- [ ] animation-tokens.json written (duration, easing, transitions, keyframes)
|
|
91
|
-
- [ ] selection.json recorded with choice metadata
|
|
92
|
-
- [ ] index.json updated with design_ref status
|
|
93
|
-
|
|
94
|
-
**ui-style.md path (primary):**
|
|
95
|
-
- [ ] ui-ux-pro-max --design-system called with product/industry/style keywords
|
|
96
|
-
- [ ] Tokens extracted from ui-ux-pro-max output into structured JSON
|
|
97
|
-
|
|
98
|
-
**ui-design.md path (--full or fallback):**
|
|
99
|
-
- [ ] 6D attribute space used for maximum contrast between variants
|
|
100
|
-
- [ ] Layout templates generated per target (dom_structure + css_layout_rules)
|
|
101
|
-
- [ ] HTML prototypes assembled: styles x layouts x targets
|
|
102
|
-
- [ ] compare.html generated as interactive matrix viewer
|
|
103
|
-
</success_criteria>
|
|
104
|
-
</output>
|