maestro-flow 0.3.47 → 0.3.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/impeccable-agent.md +99 -0
- package/.claude/commands/maestro-analyze.md +2 -2
- package/.claude/commands/maestro-brainstorm.md +116 -112
- package/.claude/commands/maestro-composer.md +5 -0
- package/.claude/commands/maestro-impeccable.md +46 -9
- package/.claude/commands/maestro-merge.md +3 -0
- package/.claude/commands/maestro-roadmap.md +5 -1
- package/.claude/commands/maestro-ui-craft.md +56 -4
- package/.claude/commands/maestro.md +1 -1
- package/.claude/commands/manage-issue-discover.md +4 -0
- package/.claude/commands/quality-refactor.md +3 -0
- package/.claude/skills/maestro-help/index/catalog.json +1 -1
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +1 -1
- package/.claude/skills/maestro-impeccable/SKILL.md +3 -1
- package/.codex/skills/maestro/SKILL.md +167 -25
- package/.codex/skills/maestro-brainstorm/SKILL.md +19 -2
- package/.codex/skills/maestro-composer/SKILL.md +5 -0
- package/.codex/skills/maestro-help/catalog.json +1 -1
- package/.codex/skills/maestro-impeccable/SKILL.md +24 -5
- package/.codex/skills/maestro-merge/SKILL.md +3 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +64 -7
- package/.codex/skills/maestro-quick/SKILL.md +1 -1
- package/.codex/skills/maestro-ralph/SKILL.md +45 -25
- package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
- package/.codex/skills/maestro-tools-execute/SKILL.md +1 -1
- package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
- package/.codex/skills/maestro-ui-craft/SKILL.md +51 -6
- package/.codex/skills/quality-refactor/SKILL.md +114 -22
- package/chains/_intent-map.json +1 -1
- package/chains/singles/ui-design.json +4 -4
- package/chains/{ui-design-driven.json → ui-craft-build.json} +8 -8
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +12 -7
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/impeccable.d.ts +2 -1
- package/dist/src/commands/impeccable.d.ts.map +1 -1
- package/dist/src/commands/impeccable.js +80 -1
- package/dist/src/commands/impeccable.js.map +1 -1
- package/package.json +1 -1
- package/templates/planning-roles/ui-designer.md +86 -99
- package/templates/workflows/specs/node-catalog.md +1 -1
- package/workflows/brainstorm.md +26 -0
- package/workflows/cli-tools-usage.md +9 -26
- package/workflows/delegate-usage.md +301 -343
- package/workflows/impeccable/design.md +462 -0
- package/workflows/impeccable/explore.md +157 -0
- package/workflows/impeccable/shape.md +4 -0
- package/workflows/impeccable/ui-search/__pycache__/core.cpython-313.pyc +0 -0
- package/workflows/impeccable/ui-search/__pycache__/design_system.cpython-313.pyc +0 -0
- package/workflows/impeccable/ui-search/core.py +262 -0
- package/workflows/impeccable/ui-search/data/app-interface.csv +31 -0
- package/workflows/impeccable/ui-search/data/charts.csv +26 -0
- package/workflows/impeccable/ui-search/data/colors.csv +162 -0
- package/workflows/impeccable/ui-search/data/design.csv +1776 -0
- package/workflows/impeccable/ui-search/data/draft.csv +1779 -0
- package/workflows/impeccable/ui-search/data/google-fonts.csv +1924 -0
- package/workflows/impeccable/ui-search/data/icons.csv +106 -0
- package/workflows/impeccable/ui-search/data/landing.csv +35 -0
- package/workflows/impeccable/ui-search/data/products.csv +162 -0
- package/workflows/impeccable/ui-search/data/react-performance.csv +45 -0
- package/workflows/impeccable/ui-search/data/stacks/angular.csv +51 -0
- package/workflows/impeccable/ui-search/data/stacks/astro.csv +54 -0
- package/workflows/impeccable/ui-search/data/stacks/flutter.csv +53 -0
- package/workflows/impeccable/ui-search/data/stacks/html-tailwind.csv +56 -0
- package/workflows/impeccable/ui-search/data/stacks/jetpack-compose.csv +53 -0
- package/workflows/impeccable/ui-search/data/stacks/laravel.csv +51 -0
- package/workflows/impeccable/ui-search/data/stacks/nextjs.csv +53 -0
- package/workflows/impeccable/ui-search/data/stacks/nuxt-ui.csv +51 -0
- package/workflows/impeccable/ui-search/data/stacks/nuxtjs.csv +59 -0
- package/workflows/impeccable/ui-search/data/stacks/react-native.csv +52 -0
- package/workflows/impeccable/ui-search/data/stacks/react.csv +54 -0
- package/workflows/impeccable/ui-search/data/stacks/shadcn.csv +61 -0
- package/workflows/impeccable/ui-search/data/stacks/svelte.csv +54 -0
- package/workflows/impeccable/ui-search/data/stacks/swiftui.csv +51 -0
- package/workflows/impeccable/ui-search/data/stacks/threejs.csv +54 -0
- package/workflows/impeccable/ui-search/data/stacks/vue.csv +50 -0
- package/workflows/impeccable/ui-search/data/styles.csv +85 -0
- package/workflows/impeccable/ui-search/data/typography.csv +74 -0
- package/workflows/impeccable/ui-search/data/ui-reasoning.csv +162 -0
- package/workflows/impeccable/ui-search/data/ux-guidelines.csv +100 -0
- package/workflows/impeccable/ui-search/design_system.py +1148 -0
- package/workflows/impeccable/ui-search/prototype-template.html +511 -0
- package/workflows/impeccable/ui-search/render-prototype.js +208 -0
- package/workflows/impeccable/ui-search/search.py +114 -0
- package/workflows/maestro-chain-execute.md +2 -2
- package/workflows/maestro.codex.md +3 -3
- package/workflows/maestro.md +5 -5
- package/workflows/plan.md +1 -1
- package/workflows/ui-design.md +1 -1
- package/workflows/ui-style.md +1 -1
- package/.claude/commands/maestro-ui-design.md +0 -104
- package/.codex/skills/maestro-ui-design/SKILL.md +0 -242
|
@@ -1,242 +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] [--style-skill PKG]"
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, request_user_input
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
<purpose>
|
|
9
|
-
Two workflow paths, auto-selected by skill availability:
|
|
10
|
-
1. **Primary (ui-ux-pro-max)**: Lightweight -- delegates design generation, owns selection and solidification
|
|
11
|
-
2. **Fallback (self-contained)**: Full 4-layer pipeline (style -> animation -> layout -> assembly)
|
|
12
|
-
|
|
13
|
-
Both produce the same output contract for downstream plan/execute consumption.
|
|
14
|
-
</purpose>
|
|
15
|
-
|
|
16
|
-
<deferred_reading>
|
|
17
|
-
- [ui-style.md](~/.maestro/workflows/ui-style.md) — read when SKILL_PATH found (primary path)
|
|
18
|
-
- [ui-design.md](~/.maestro/workflows/ui-design.md) — read when SKILL_PATH empty or --full (fallback path)
|
|
19
|
-
- [index.json](~/.maestro/templates/index.json) — read when updating phase metadata
|
|
20
|
-
- [scratch-index.json](~/.maestro/templates/scratch-index.json) — read when operating in scratch mode
|
|
21
|
-
</deferred_reading>
|
|
22
|
-
|
|
23
|
-
<context>
|
|
24
|
-
$ARGUMENTS -- phase number or topic text, plus optional flags.
|
|
25
|
-
|
|
26
|
-
**Usage**:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
$maestro-ui-design "3" # phase mode
|
|
30
|
-
$maestro-ui-design "landing page for SaaS" # scratch mode
|
|
31
|
-
$maestro-ui-design -y "3 --styles 5" # auto mode, 5 variants
|
|
32
|
-
$maestro-ui-design "3 --style-skill PKG --stack react"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Flags**:
|
|
36
|
-
- `[topic]`: Phase number or topic text (scratch mode)
|
|
37
|
-
- `-y, --yes`: Auto mode -- skip all interactive selection
|
|
38
|
-
- `--style-skill PKG`: Override ui-ux-pro-max skill path
|
|
39
|
-
- `--styles N`: Number of style variants (default: 3, range: 2-5)
|
|
40
|
-
- `--stack <stack>`: Tech stack for implementation guidelines (default: html-tailwind)
|
|
41
|
-
- `--targets <pages>`: Comma-separated page/component targets
|
|
42
|
-
- `--layouts N`: Number of layout templates per target (default: 2, range: 1-4, fallback path only)
|
|
43
|
-
- `--refine`: Iterate on existing design-ref/ — load current tokens, present refinement options
|
|
44
|
-
- `--persist`: Save design system with hierarchical page overrides
|
|
45
|
-
- `--full`: Force full 4-layer self-contained pipeline
|
|
46
|
-
|
|
47
|
-
When `--yes` or `-y`: Skip interactive selection, auto-pick top-scored variant, skip brief review.
|
|
48
|
-
|
|
49
|
-
**Output**: `{scratch_dir}/design-ref/` with MASTER.md, design-tokens.json, animation-tokens.json, selection.json, prototypes/
|
|
50
|
-
</context>
|
|
51
|
-
|
|
52
|
-
<invariants>
|
|
53
|
-
1. **Output contract is fixed** -- both paths produce MASTER.md + design-tokens.json + animation-tokens.json + selection.json
|
|
54
|
-
2. **Colors in OKLCH** format in design-tokens.json
|
|
55
|
-
3. **WCAG AA** contrast: 4.5:1 text, 3:1 UI elements
|
|
56
|
-
4. **No lorem ipsum** -- use contextual placeholder content
|
|
57
|
-
5. **Agent calls use `run_in_background: false`** for synchronous execution
|
|
58
|
-
6. **Variant contrast** -- each variant must represent a distinctly different design direction
|
|
59
|
-
</invariants>
|
|
60
|
-
|
|
61
|
-
<execution>
|
|
62
|
-
|
|
63
|
-
### Step 0: Load UI Specs
|
|
64
|
-
|
|
65
|
-
Load project UI conventions before generating designs:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
maestro spec load --category ui
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
If specs not initialized, continue without — the workflow still produces valid output.
|
|
72
|
-
|
|
73
|
-
### Step 1: Parse Input and Resolve Target
|
|
74
|
-
|
|
75
|
-
1. Parse flags from `$ARGUMENTS`: `--styles N`, `--stack`, `--targets`, `--persist`, `--full`, `-y`
|
|
76
|
-
2. **Phase mode** (number): resolve via state.json artifact registry to `.workflow/scratch/{YYYYMMDD}-{type}-{slug}/`
|
|
77
|
-
3. **Scratch mode** (text): create `.workflow/scratch/ui-design-{slug}-{date}/` with minimal index.json
|
|
78
|
-
4. Create output directories: `${PHASE_DIR}/design-ref/prototypes/` and `${PHASE_DIR}/design-ref/layout-templates/`
|
|
79
|
-
|
|
80
|
-
### Step 2: Detect Skill Availability
|
|
81
|
-
|
|
82
|
-
Search for `ui-ux-pro-max` script at `skills/ui-ux-pro-max/scripts/search.py` or `$HOME/.claude/plugins/cache/ui-ux-pro-max-skill/ui-ux-pro-max/*/scripts/search.py`.
|
|
83
|
-
|
|
84
|
-
- If `--style-skill PKG` provided: override detected path
|
|
85
|
-
- If `--full`: force self-contained pipeline regardless of skill availability
|
|
86
|
-
|
|
87
|
-
### Step 2.5: Refine Mode Branch (if `--refine`)
|
|
88
|
-
|
|
89
|
-
If `--refine` is set:
|
|
90
|
-
1. Verify `design-ref/` exists in target directory (error E004 if missing)
|
|
91
|
-
2. Read current `design-ref/MASTER.md`, `design-tokens.json`, `animation-tokens.json`
|
|
92
|
-
3. Display current design summary (palette, typography, key components)
|
|
93
|
-
4. `request_user_input`:
|
|
94
|
-
```json
|
|
95
|
-
{ "questions": [{ "id": "refine_scope", "header": "Refine", "question": "Which aspects to refine?", "options": [
|
|
96
|
-
{ "label": "Colors & Typography (Recommended)", "description": "Adjust palette, font pairings, and scale." },
|
|
97
|
-
{ "label": "Layout & Spacing", "description": "Adjust grid, spacing tokens, and breakpoints." },
|
|
98
|
-
{ "label": "Full Redesign", "description": "Regenerate all variants from scratch, keeping requirements." }
|
|
99
|
-
]}] }
|
|
100
|
-
```
|
|
101
|
-
5. Apply refinement: directly edit token files and MASTER.md based on user feedback
|
|
102
|
-
6. Update `selection.json` with refinement metadata (iteration count, changes)
|
|
103
|
-
7. Skip to Step 8 (report)
|
|
104
|
-
|
|
105
|
-
### Step 3: Gather Requirements Context
|
|
106
|
-
|
|
107
|
-
1. Read phase context (context.md, brainstorm results, spec references)
|
|
108
|
-
2. Synthesize design brief: product_type, industry, style_keywords, audience
|
|
109
|
-
3. Infer targets from phase goal if not specified (fallback: "home")
|
|
110
|
-
4. **Interactive brief review** (skip if `-y`):
|
|
111
|
-
- Present synthesized brief (product_type, industry, style_keywords, audience, targets)
|
|
112
|
-
- `request_user_input`:
|
|
113
|
-
```json
|
|
114
|
-
{ "questions": [{ "id": "brief_review", "header": "Brief", "question": "Design brief ready. Proceed with this direction?", "options": [
|
|
115
|
-
{ "label": "Proceed (Recommended)", "description": "Generate variants with current brief." },
|
|
116
|
-
{ "label": "Adjust", "description": "Modify keywords, audience, or targets before generating." }
|
|
117
|
-
]}] }
|
|
118
|
-
```
|
|
119
|
-
- **Adjust** → user provides changes, update brief, then proceed
|
|
120
|
-
|
|
121
|
-
### Step 4: Generate Style Variants
|
|
122
|
-
|
|
123
|
-
**If SKILL_PATH found (primary path):**
|
|
124
|
-
|
|
125
|
-
Generate `styleCount` keyword sets with intentional contrast, then call ui-ux-pro-max for each:
|
|
126
|
-
```bash
|
|
127
|
-
python3 "${SKILL_PATH}" "${variant_keywords}" --design-system -p "${project_name}" -f markdown
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**If SKILL_PATH empty or --full (fallback path):**
|
|
131
|
-
|
|
132
|
-
Spawn ui-design-agent to generate variants using 6D attribute space for maximum contrast:
|
|
133
|
-
|
|
134
|
-
| Dimension | Range | Description |
|
|
135
|
-
|-----------|-------|-------------|
|
|
136
|
-
| mood | formal ↔ playful | Overall emotional tone |
|
|
137
|
-
| density | spacious ↔ dense | Content density and whitespace |
|
|
138
|
-
| contrast | subtle ↔ bold | Visual weight and contrast ratios |
|
|
139
|
-
| rounding | sharp ↔ rounded | Border radius scale (0-24px) |
|
|
140
|
-
| motion | minimal ↔ expressive | Animation intensity and frequency |
|
|
141
|
-
| color-temp | cool ↔ warm | Color temperature bias |
|
|
142
|
-
|
|
143
|
-
Each variant occupies a distinct region in 6D space — no two variants within 0.3 Euclidean distance.
|
|
144
|
-
|
|
145
|
-
### Step 5: Present and Select
|
|
146
|
-
|
|
147
|
-
Present all variants with key attributes (colors, typography, effects, 6D coordinates for fallback path).
|
|
148
|
-
|
|
149
|
-
**Interactive** (default): `request_user_input` with variants as options:
|
|
150
|
-
```json
|
|
151
|
-
{ "questions": [{ "id": "variant_select", "header": "Style", "question": "Select preferred design variant:", "options": [
|
|
152
|
-
{ "label": "Variant 1 (Recommended)", "description": "Brief: palette + mood + key trait." },
|
|
153
|
-
{ "label": "Variant 2", "description": "Brief: palette + mood + key trait." },
|
|
154
|
-
{ "label": "Variant 3", "description": "Brief: palette + mood + key trait." }
|
|
155
|
-
]}] }
|
|
156
|
-
```
|
|
157
|
-
Options built dynamically from generated variants. User may respond with "Other" to request regeneration with different keywords.
|
|
158
|
-
|
|
159
|
-
**Auto** (`-y`): select variant 1
|
|
160
|
-
|
|
161
|
-
### Step 6: Solidify Selected Design
|
|
162
|
-
|
|
163
|
-
Spawn Agent to extract structured tokens from selected variant: `design-tokens.json` (OKLCH colors, component_styles, typography.combinations, spacing, border_radius, shadows, breakpoints) and `animation-tokens.json` (duration, easing, transitions, keyframes, interactions, reduced_motion).
|
|
164
|
-
|
|
165
|
-
Write output artifacts:
|
|
166
|
-
- `design-ref/MASTER.md` -- complete design system specification
|
|
167
|
-
- `design-ref/design-tokens.json` -- production-ready tokens
|
|
168
|
-
- `design-ref/animation-tokens.json` -- animation system
|
|
169
|
-
- `design-ref/selection.json` -- selection metadata + rationale
|
|
170
|
-
|
|
171
|
-
### Step 6.5: Layout Template Generation (fallback path only)
|
|
172
|
-
|
|
173
|
-
For each target, generate `layoutCount` layout templates:
|
|
174
|
-
- Each template defines `dom_structure` (semantic HTML skeleton) + `css_layout_rules` (grid/flex layout)
|
|
175
|
-
- Write to `design-ref/layout-templates/{target}-layout-{N}.json`
|
|
176
|
-
- Templates vary in content organization: e.g., hero-first vs. feature-grid vs. sidebar-nav
|
|
177
|
-
|
|
178
|
-
### Step 7: Prototype Generation
|
|
179
|
-
|
|
180
|
-
**Primary path**: For each target, spawn Agent to generate standalone HTML+CSS prototype from design-tokens.json and animation-tokens.json.
|
|
181
|
-
|
|
182
|
-
**Fallback path**: Assemble prototype matrix: `styles × layouts × targets`. For each combination:
|
|
183
|
-
- Merge selected style tokens + layout template + target content
|
|
184
|
-
- Generate standalone HTML+CSS prototype
|
|
185
|
-
|
|
186
|
-
Requirements (both paths): realistic content (no lorem ipsum), SVG icons via CDN, responsive at 375/768/1024px, WCAG AA contrast.
|
|
187
|
-
|
|
188
|
-
**Fallback path only**: Generate `design-ref/compare.html` — interactive matrix viewer showing all prototypes side-by-side with style/layout/target filtering.
|
|
189
|
-
|
|
190
|
-
### Step 8: Update State and Report
|
|
191
|
-
|
|
192
|
-
1. Update index.json with `design_ref` status
|
|
193
|
-
2. Display completion report: phase, variant count + selected, stack, targets, artifact paths
|
|
194
|
-
3. **Next-Step Routing** (skip if `-y` — default to Plan):
|
|
195
|
-
- `request_user_input`:
|
|
196
|
-
```json
|
|
197
|
-
{ "questions": [{ "id": "next_step", "header": "Next Step", "question": "Design system complete. What next?", "options": [
|
|
198
|
-
{ "label": "Plan (Recommended)", "description": "Create execution plan with design reference." },
|
|
199
|
-
{ "label": "Refine", "description": "Iterate on selected design with adjustments." },
|
|
200
|
-
{ "label": "Analyze", "description": "Evaluate feasibility before planning." }
|
|
201
|
-
]}] }
|
|
202
|
-
```
|
|
203
|
-
- **Plan** → invoke `maestro-plan {phase}`
|
|
204
|
-
- **Refine** → invoke `maestro-ui-design {phase} --refine`
|
|
205
|
-
- **Analyze** → invoke `maestro-analyze {phase}`
|
|
206
|
-
</execution>
|
|
207
|
-
|
|
208
|
-
<error_codes>
|
|
209
|
-
| Code | Severity | Condition | Recovery |
|
|
210
|
-
|------|----------|-----------|----------|
|
|
211
|
-
| E001 | error | Phase or topic argument required | Prompt user |
|
|
212
|
-
| E002 | error | Phase directory not found | Check phase number |
|
|
213
|
-
| E003 | error | Python not available for ui-ux-pro-max | Fall back to self-contained pipeline |
|
|
214
|
-
| E004 | error | --refine requires existing design-ref/ | Run without --refine first |
|
|
215
|
-
| W001 | warning | Design system returned partial results | Retry with broader keywords |
|
|
216
|
-
| W002 | warning | Prototype rendering failed for one variant | Continue with remaining |
|
|
217
|
-
| W003 | warning | No context.md found, using phase goal only | Continue with phase goal |
|
|
218
|
-
| W004 | warning | ui-ux-pro-max not found, using fallback | Proceed with self-contained pipeline |
|
|
219
|
-
</error_codes>
|
|
220
|
-
|
|
221
|
-
<success_criteria>
|
|
222
|
-
**Common (both paths)**:
|
|
223
|
-
- [ ] Target resolved (phase or scratch directory)
|
|
224
|
-
- [ ] Requirements context gathered (context.md, brainstorm, or user input)
|
|
225
|
-
- [ ] Style variants generated with intentional contrast
|
|
226
|
-
- [ ] User selected variant (or auto-picked in `-y` mode)
|
|
227
|
-
- [ ] MASTER.md + design-tokens.json + animation-tokens.json + selection.json written
|
|
228
|
-
- [ ] Colors in OKLCH format, WCAG AA contrast met (4.5:1 text, 3:1 UI)
|
|
229
|
-
- [ ] Prototypes generated for all targets with realistic content (no lorem ipsum)
|
|
230
|
-
- [ ] index.json updated with design_ref status
|
|
231
|
-
- [ ] Next-step routing presented (or auto-defaulted with `-y`)
|
|
232
|
-
|
|
233
|
-
**Primary path (ui-ux-pro-max)**:
|
|
234
|
-
- [ ] ui-ux-pro-max `--design-system` called with product/industry/style keywords
|
|
235
|
-
- [ ] Tokens extracted from ui-ux-pro-max output into structured JSON
|
|
236
|
-
|
|
237
|
-
**Fallback path (--full or no skill)**:
|
|
238
|
-
- [ ] 6D attribute space used with ≥0.3 Euclidean distance between variants
|
|
239
|
-
- [ ] Layout templates generated per target (`dom_structure` + `css_layout_rules`)
|
|
240
|
-
- [ ] Prototype matrix assembled: selected style × layouts × targets
|
|
241
|
-
- [ ] `compare.html` generated as interactive matrix viewer
|
|
242
|
-
</success_criteria>
|