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.
Files changed (94) hide show
  1. package/.claude/agents/impeccable-agent.md +99 -0
  2. package/.claude/commands/maestro-analyze.md +2 -2
  3. package/.claude/commands/maestro-brainstorm.md +116 -112
  4. package/.claude/commands/maestro-composer.md +5 -0
  5. package/.claude/commands/maestro-impeccable.md +46 -9
  6. package/.claude/commands/maestro-merge.md +3 -0
  7. package/.claude/commands/maestro-roadmap.md +5 -1
  8. package/.claude/commands/maestro-ui-craft.md +56 -4
  9. package/.claude/commands/maestro.md +1 -1
  10. package/.claude/commands/manage-issue-discover.md +4 -0
  11. package/.claude/commands/quality-refactor.md +3 -0
  12. package/.claude/skills/maestro-help/index/catalog.json +1 -1
  13. package/.claude/skills/maestro-help/phases/01-parse-intent.md +1 -1
  14. package/.claude/skills/maestro-impeccable/SKILL.md +3 -1
  15. package/.codex/skills/maestro/SKILL.md +167 -25
  16. package/.codex/skills/maestro-brainstorm/SKILL.md +19 -2
  17. package/.codex/skills/maestro-composer/SKILL.md +5 -0
  18. package/.codex/skills/maestro-help/catalog.json +1 -1
  19. package/.codex/skills/maestro-impeccable/SKILL.md +24 -5
  20. package/.codex/skills/maestro-merge/SKILL.md +3 -0
  21. package/.codex/skills/maestro-milestone-audit/SKILL.md +64 -7
  22. package/.codex/skills/maestro-quick/SKILL.md +1 -1
  23. package/.codex/skills/maestro-ralph/SKILL.md +45 -25
  24. package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
  25. package/.codex/skills/maestro-tools-execute/SKILL.md +1 -1
  26. package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
  27. package/.codex/skills/maestro-ui-craft/SKILL.md +51 -6
  28. package/.codex/skills/quality-refactor/SKILL.md +114 -22
  29. package/chains/_intent-map.json +1 -1
  30. package/chains/singles/ui-design.json +4 -4
  31. package/chains/{ui-design-driven.json → ui-craft-build.json} +8 -8
  32. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  33. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  34. package/dist/src/commands/delegate.d.ts.map +1 -1
  35. package/dist/src/commands/delegate.js +12 -7
  36. package/dist/src/commands/delegate.js.map +1 -1
  37. package/dist/src/commands/impeccable.d.ts +2 -1
  38. package/dist/src/commands/impeccable.d.ts.map +1 -1
  39. package/dist/src/commands/impeccable.js +80 -1
  40. package/dist/src/commands/impeccable.js.map +1 -1
  41. package/package.json +1 -1
  42. package/templates/planning-roles/ui-designer.md +86 -99
  43. package/templates/workflows/specs/node-catalog.md +1 -1
  44. package/workflows/brainstorm.md +26 -0
  45. package/workflows/cli-tools-usage.md +9 -26
  46. package/workflows/delegate-usage.md +301 -343
  47. package/workflows/impeccable/design.md +462 -0
  48. package/workflows/impeccable/explore.md +157 -0
  49. package/workflows/impeccable/shape.md +4 -0
  50. package/workflows/impeccable/ui-search/__pycache__/core.cpython-313.pyc +0 -0
  51. package/workflows/impeccable/ui-search/__pycache__/design_system.cpython-313.pyc +0 -0
  52. package/workflows/impeccable/ui-search/core.py +262 -0
  53. package/workflows/impeccable/ui-search/data/app-interface.csv +31 -0
  54. package/workflows/impeccable/ui-search/data/charts.csv +26 -0
  55. package/workflows/impeccable/ui-search/data/colors.csv +162 -0
  56. package/workflows/impeccable/ui-search/data/design.csv +1776 -0
  57. package/workflows/impeccable/ui-search/data/draft.csv +1779 -0
  58. package/workflows/impeccable/ui-search/data/google-fonts.csv +1924 -0
  59. package/workflows/impeccable/ui-search/data/icons.csv +106 -0
  60. package/workflows/impeccable/ui-search/data/landing.csv +35 -0
  61. package/workflows/impeccable/ui-search/data/products.csv +162 -0
  62. package/workflows/impeccable/ui-search/data/react-performance.csv +45 -0
  63. package/workflows/impeccable/ui-search/data/stacks/angular.csv +51 -0
  64. package/workflows/impeccable/ui-search/data/stacks/astro.csv +54 -0
  65. package/workflows/impeccable/ui-search/data/stacks/flutter.csv +53 -0
  66. package/workflows/impeccable/ui-search/data/stacks/html-tailwind.csv +56 -0
  67. package/workflows/impeccable/ui-search/data/stacks/jetpack-compose.csv +53 -0
  68. package/workflows/impeccable/ui-search/data/stacks/laravel.csv +51 -0
  69. package/workflows/impeccable/ui-search/data/stacks/nextjs.csv +53 -0
  70. package/workflows/impeccable/ui-search/data/stacks/nuxt-ui.csv +51 -0
  71. package/workflows/impeccable/ui-search/data/stacks/nuxtjs.csv +59 -0
  72. package/workflows/impeccable/ui-search/data/stacks/react-native.csv +52 -0
  73. package/workflows/impeccable/ui-search/data/stacks/react.csv +54 -0
  74. package/workflows/impeccable/ui-search/data/stacks/shadcn.csv +61 -0
  75. package/workflows/impeccable/ui-search/data/stacks/svelte.csv +54 -0
  76. package/workflows/impeccable/ui-search/data/stacks/swiftui.csv +51 -0
  77. package/workflows/impeccable/ui-search/data/stacks/threejs.csv +54 -0
  78. package/workflows/impeccable/ui-search/data/stacks/vue.csv +50 -0
  79. package/workflows/impeccable/ui-search/data/styles.csv +85 -0
  80. package/workflows/impeccable/ui-search/data/typography.csv +74 -0
  81. package/workflows/impeccable/ui-search/data/ui-reasoning.csv +162 -0
  82. package/workflows/impeccable/ui-search/data/ux-guidelines.csv +100 -0
  83. package/workflows/impeccable/ui-search/design_system.py +1148 -0
  84. package/workflows/impeccable/ui-search/prototype-template.html +511 -0
  85. package/workflows/impeccable/ui-search/render-prototype.js +208 -0
  86. package/workflows/impeccable/ui-search/search.py +114 -0
  87. package/workflows/maestro-chain-execute.md +2 -2
  88. package/workflows/maestro.codex.md +3 -3
  89. package/workflows/maestro.md +5 -5
  90. package/workflows/plan.md +1 -1
  91. package/workflows/ui-design.md +1 -1
  92. package/workflows/ui-style.md +1 -1
  93. package/.claude/commands/maestro-ui-design.md +0 -104
  94. 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>