maestro-flow-one 0.2.5 → 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.
Files changed (33) hide show
  1. package/maestro-flow/agents/impeccable-agent.md +99 -0
  2. package/maestro-flow/agents/ui-design-agent.md +1 -0
  3. package/maestro-flow/agents/workflow-executor.md +3 -0
  4. package/maestro-flow/commands/learn/decompose.md +91 -146
  5. package/maestro-flow/commands/learn/follow.md +102 -137
  6. package/maestro-flow/commands/learn/investigate.md +102 -167
  7. package/maestro-flow/commands/learn/retro.md +100 -243
  8. package/maestro-flow/commands/learn/second-opinion.md +95 -135
  9. package/maestro-flow/commands/lifecycle/amend.md +95 -232
  10. package/maestro-flow/commands/lifecycle/analyze.md +3 -8
  11. package/maestro-flow/commands/lifecycle/brainstorm.md +116 -112
  12. package/maestro-flow/commands/lifecycle/collab.md +104 -265
  13. package/maestro-flow/commands/lifecycle/composer.md +117 -292
  14. package/maestro-flow/commands/lifecycle/execute.md +10 -17
  15. package/maestro-flow/commands/lifecycle/impeccable.md +126 -0
  16. package/maestro-flow/commands/lifecycle/merge.md +3 -0
  17. package/maestro-flow/commands/lifecycle/plan.md +1 -6
  18. package/maestro-flow/commands/lifecycle/player.md +111 -340
  19. package/maestro-flow/commands/lifecycle/quick.md +9 -0
  20. package/maestro-flow/commands/lifecycle/roadmap.md +5 -1
  21. package/maestro-flow/commands/lifecycle/ui-codify.md +13 -0
  22. package/maestro-flow/commands/lifecycle/ui-craft.md +416 -0
  23. package/maestro-flow/commands/lifecycle/verify.md +12 -13
  24. package/maestro-flow/commands/manage/issue-discover.md +4 -0
  25. package/maestro-flow/commands/manage/knowhow-capture.md +45 -170
  26. package/maestro-flow/commands/quality/auto-test.md +9 -0
  27. package/maestro-flow/commands/quality/debug.md +11 -25
  28. package/maestro-flow/commands/quality/refactor.md +12 -0
  29. package/maestro-flow/commands/quality/review.md +5 -14
  30. package/maestro-flow/commands/spec/add.md +1 -1
  31. package/maestro-flow/commands/spec/load.md +3 -2
  32. package/package.json +1 -1
  33. package/maestro-flow/commands/lifecycle/ui-design.md +0 -93
@@ -13,8 +13,7 @@ allowed-tools:
13
13
  ---
14
14
  <purpose>
15
15
  Capture reusable knowledge into `.workflow/knowhow/` with type-specific structured fields.
16
- Six content types, each optimized for a different reuse pattern. All entries are automatically
17
- indexed by WikiIndexer (type=knowhow) and searchable via `maestro knowhow search`.
16
+ Auto-indexed by WikiIndexer (type=knowhow), searchable via `maestro knowhow search`.
18
17
  </purpose>
19
18
 
20
19
  <required_reading>
@@ -22,181 +21,57 @@ indexed by WikiIndexer (type=knowhow) and searchable via `maestro knowhow search
22
21
  </required_reading>
23
22
 
24
23
  <context>
25
- Arguments: $ARGUMENTS
26
-
27
- **Types:**
28
-
29
- | Type | Prefix | Use Case | Key Fields |
30
- |------|--------|----------|------------|
31
- | `compact` | KNW- | Session state recovery | objective, files, decisions, plan, pending |
32
- | `template` | TPL- | Code/config templates | language, code block, usage context |
33
- | `recipe` | RCP- | Step-by-step how-to | prerequisites, steps, expected outcome |
34
- | `reference` | REF- | External doc / API quick-ref | source URL, key points, scenarios |
35
- | `decision` | DCS- | Design decision record | context, alternatives, rationale, consequences |
36
- | `tip` | TIP- | Quick note / reminder | content, tags |
37
- | `asset` | AST- | Code asset (API contract, data model) | assetType, codePaths, category |
38
- | `blueprint` | BLP- | Architecture design with code paths | codePaths, category |
39
- | `document` | DOC- | General long-form (fallback) | |
40
-
41
- No arguments: auto-detect type or ask user via AskUserQuestion.
42
-
43
- **Flags:**
44
- - `--lang <lang>` — Language for templates (typescript, python, bash, yaml, etc.)
45
- - `--source <url>` Source URL for references
46
- - `--tag tag1,tag2` — Categorization tags
47
- - `--title <title>` — Explicit title (auto-generated if omitted)
48
- - `--asset-type <type>` — Asset subtype: api-contract, data-model, prompt, config, etc.
49
- - `--code-paths <paths>` — Related source paths for asset/blueprint (comma-separated)
50
- - `--category <cat>` — Spec category for agent discovery (coding, arch, test, debug, review, learning)
24
+ $ARGUMENTS — type token + description + optional flags.
25
+
26
+ **Flags**: `--lang <lang>`, `--source <url>`, `--tag tag1,tag2`, `--title <title>`, `--asset-type <type>`, `--code-paths <paths>`, `--category <cat>`
27
+
28
+ **Type routing** (first token match):
29
+
30
+ | Token | Type | Prefix | Key fields |
31
+ |-------|------|--------|------------|
32
+ | `compact`/`session`/`压缩`/`保存` | compact | KNW- | objective, files, decisions, plan, pending |
33
+ | `template`/`tpl`/`模板` | template | TPL- | language, code block, usage, parameters |
34
+ | `recipe`/`rcp`/`配方`/`步骤` | recipe | RCP- | prerequisites, steps, expected outcome, pitfalls |
35
+ | `reference`/`ref`/`参考`/`引用` | reference | REF- | source URL, key points, scenarios, examples |
36
+ | `decision`/`dcs`/`决策`/`adr` | decision | DCS- | context, alternatives table, rationale, consequences |
37
+ | `tip`/`note`/`记录`/`快速` | tip | TIP- | content, tags |
38
+ | `asset`/`ast`/`资产`/`契约` | asset | AST- | assetType, codePaths, category |
39
+ | `blueprint`/`blp`/`蓝图` | blueprint | BLP- | codePaths, category |
40
+ | `document`/`doc`/`文档` | document | DOC- | (general fallback) |
41
+ | Short text + `--tag` | tip | TIP- | — |
42
+ | No args | — | — | AskUserQuestion (9 options) |
43
+
44
+ **Output**: `.workflow/knowhow/{PREFIX}-{YYYYMMDD}-{HHMM}.md` with YAML frontmatter (title, type, category, created, tags, source, lang, status)
51
45
  </context>
52
46
 
53
47
  <execution>
54
-
55
- ### Step 1: Detect Type
56
-
57
- Parse first token as type. If ambiguous, AskUserQuestion with options:
58
-
59
- | Token Match | Type |
60
- |-------------|------|
61
- | `compact`, `session`, `压缩`, `保存` | compact |
62
- | `template`, `tpl`, `模板` | template |
63
- | `recipe`, `rcp`, `配方`, `步骤` | recipe |
64
- | `reference`, `ref`, `参考`, `引用` | reference |
65
- | `decision`, `dcs`, `决策`, `adr` | decision |
66
- | `tip`, `note`, `记录`, `快速` | tip |
67
- | `asset`, `ast`, `资产`, `契约` | asset |
68
- | `blueprint`, `blp`, `蓝图` | blueprint |
69
- | `document`, `doc`, `文档` | document |
70
- | No match, short text, `--tag` present | tip |
71
- | No arguments | AskUserQuestion (9 options) |
72
-
73
- ### Step 2: Generate Content by Type
74
-
75
- #### compact (KNW-{YYYYMMDD}-{HHMM}.md)
76
-
77
- Extract from conversation history:
78
- - **Session ID** — WFS-* if workflow session active, else `manual-{date}`
79
- - **Project Root** — Absolute path
80
- - **Objective** — High-level goal
81
- - **Execution Plan** — Source + complete verbatim content (never summarize)
82
- - **Working Files** — Modified files with roles (absolute paths, 3-8 files)
83
- - **Reference Files** — Read-only context files
84
- - **Last Action** — Final action + result
85
- - **Decisions** — Table: decision | reasoning
86
- - **Constraints** — User-specified limitations
87
- - **Dependencies** — Added/changed packages
88
- - **Known Issues** — Deferred bugs
89
- - **Changes Made** — Completed modifications
90
- - **Pending** — Next steps
91
- - **Notes** — Unstructured thoughts
92
-
93
- Plan detection priority: workflow session IMPL_PLAN.md > TodoWrite items > user-stated > inferred.
94
-
95
- #### template (TPL-{YYYYMMDD}-{HHMM}.md)
96
-
97
- Ask for or extract:
98
- - **Language / Tech** — `--lang` flag or inferred from context
99
- - **Usage** — When/how to use this template
100
- - **Code** — The template content (ask user to provide or select from conversation)
101
- - **Parameters** — Placeholders to replace (e.g. `{{name}}`, `{{port}}`)
102
- - **Dependencies** — Required packages/config
103
- - **Tags** — From `--tag` flag
104
-
105
- If code not provided explicitly, prompt user: "Paste the template code:"
106
-
107
- #### recipe (RCP-{YYYYMMDD}-{HHMM}.md)
108
-
109
- Ask for or extract:
110
- - **Goal** — What this recipe accomplishes
111
- - **Prerequisites** — Tools, access, config needed
112
- - **Steps** — Numbered step-by-step instructions
113
- - **Expected Outcome** — What success looks like
114
- - **Common Pitfalls** — Known issues / gotchas
115
- - **Related** — Links to templates, references, decisions used
116
- - **Tags** — From `--tag` flag
117
-
118
- If steps not clear, prompt user: "Describe the steps (numbered list):"
119
-
120
- #### reference (REF-{YYYYMMDD}-{HHMM}.md)
121
-
122
- Ask for or extract:
123
- - **Source** — `--source` flag (URL, doc title, API endpoint)
124
- - **Key Points** — Bullet list of essential info
125
- - **Applicable Scenarios** — When to consult this reference
126
- - **Quick Examples** — Copy-paste ready code snippets
127
- - **Last Verified** — Date (today)
128
- - **Tags** — From `--tag` flag
129
-
130
- If `--source` provided, offer to fetch and summarize via WebFetch.
131
-
132
- #### decision (DCS-{YYYYMMDD}-{HHMM}.md)
133
-
134
- Ask for or extract:
135
- - **Context** — Background and problem statement
136
- - **Decision** — What was decided
137
- - **Alternatives Considered** — Table: alternative | pros | cons | rejected because
138
- - **Rationale** — Why this choice over alternatives
139
- - **Consequences** — Positive and negative impact
140
- - **Related** — Links to affected specs, recipes, templates
141
- - **Date** — Decision date
142
- - **Status** — proposed | accepted | superseded
143
-
144
- #### tip (TIP-{YYYYMMDD}-{HHMM}.md)
145
-
146
- Simple note:
147
- - **Content** — Everything after type token (or full $ARGUMENTS)
148
- - **Context** — Auto-detected from recent conversation files
149
- - **Tags** — From `--tag` flag
150
- - **Timestamp** — ISO format
151
-
152
- ### Step 3: Write File
153
-
154
- Write to `.workflow/knowhow/{PREFIX}-{YYYYMMDD}-{HHMM}.md` with YAML frontmatter:
155
-
156
- ```yaml
157
- ---
158
- title: {auto or --title}
159
- type: {type}
160
- category: {type}
161
- created: {ISO timestamp}
162
- tags: [{tags}]
163
- source: {url if reference}
164
- lang: {language if template}
165
- status: {status if decision}
166
- ---
167
- {markdown body}
168
- ```
169
-
170
- ### Step 4: Confirm
171
-
172
- ```
173
- === KNOWHOW CAPTURED ===
174
- Type: {type}
175
- ID: knowhow-{slug}
176
- File: .workflow/knowhow/{filename}
177
-
178
- {type-specific summary line}
179
- ```
48
+ Follow '~/.maestro/workflows/knowhow.md' completely.
49
+
50
+ **Type-specific content rules**:
51
+
52
+ | Type | Content extraction |
53
+ |------|-------------------|
54
+ | compact | Extract from conversation: session ID, objective, execution plan (verbatim), working files (3-8), decisions, constraints, pending. Plan priority: workflow IMPL_PLAN.md > TodoWrite > user-stated > inferred. |
55
+ | template | Ask for: language, code block, parameters (placeholders), usage context, dependencies |
56
+ | recipe | Ask for: goal, prerequisites, numbered steps, expected outcome, common pitfalls |
57
+ | reference | From --source URL or ask. Key points, applicable scenarios, quick examples. Offer WebFetch if URL provided. |
58
+ | decision | Context, alternatives (table: alt/pros/cons/rejected-because), rationale, consequences. Status: proposed/accepted/superseded. |
59
+ | tip | Content = everything after type token. Auto-detect context from recent files. |
60
+ | asset | assetType (api-contract/data-model/prompt/config), codePaths, category for agent discovery |
61
+ | blueprint | Architecture design with codePaths and category |
180
62
  </execution>
181
63
 
182
64
  <error_codes>
183
- | Code | Severity | Description | Stage |
184
- |------|----------|-------------|-------|
185
- | E001 | error | `.workflow/` not initialized run `/maestro-init` first | validate |
186
- | E002 | error | Template: no code provided after prompt | template |
187
- | E003 | error | Recipe: no steps provided after prompt | recipe |
188
- | W001 | warning | No active workflow session compact captures conversation only | compact |
189
- | W002 | warning | Plan detection found no explicit plan — using inferred plan | compact |
190
- | W003 | warning | `--source` URL could not be fetched — proceeding with manual entry | reference |
65
+ | Code | Condition | Recovery |
66
+ |------|-----------|----------|
67
+ | E002 | Template: no code provided after prompt | Ask again or cancel |
68
+ | E003 | Recipe: no steps provided after prompt | Ask again or cancel |
69
+ | W001 | No active workflow session (compact) | Captures conversation only |
70
+ | W002 | Plan detection found no explicit plan (compact) | Uses inferred plan |
191
71
  </error_codes>
192
72
 
193
73
  <success_criteria>
194
- - [ ] Type correctly detected or selected
195
- - [ ] All type-specific fields populated (not empty)
196
- - [ ] YAML frontmatter written with correct fields
197
- - [ ] Markdown body follows type structure
198
- - [ ] File written to `.workflow/knowhow/` with correct prefix
199
- - [ ] Auto-indexed by WikiIndexer (type=knowhow)
200
- - [ ] Confirmation displayed with ID, type, file path
201
- - [ ] Next step hint appropriate to type shown
74
+ - [ ] Type detected or selected, all type-specific fields populated
75
+ - [ ] File written to .workflow/knowhow/ with correct prefix and YAML frontmatter
76
+ - [ ] Confirmation displayed with ID, type, path
202
77
  </success_criteria>
@@ -50,6 +50,15 @@ Phase or task: $ARGUMENTS (required — phase number)
50
50
  | 5 | Default | code | quality-integration-test |
51
51
 
52
52
  Flags, artifact context resolution, and output formats defined in workflow auto-test.md.
53
+
54
+ ### Pre-load context (before test generation)
55
+
56
+ 1. **Test specs + tools**: Run `maestro spec load --category test` to load test conventions (framework, patterns, naming). Apply to all generated tests.
57
+ 2. **Coding specs**: Run `maestro spec load --category coding` to understand coding patterns for accurate test targeting.
58
+ 3. **Role Knowledge**:
59
+ - Browse: `maestro wiki list --category test`
60
+ - Load task-relevant entries: `maestro wiki load <id1> [id2...]`
61
+ 4. All are optional — proceed without if unavailable.
53
62
  </context>
54
63
 
55
64
  <execution>
@@ -43,20 +43,11 @@ Each artifact's type determines its outputs at `.workflow/{a.path}/`:
43
43
 
44
44
  Extract conclusions from related artifacts that may affect this debug session — review findings guide investigation direction, prior debug avoids redundant work.
45
45
 
46
- ### Pre-load context (before hypothesis formation)
47
-
48
- 1. **Codebase docs**: If `.workflow/codebase/ARCHITECTURE.md` exists, load module boundaries to scope impact analysis and inform hypothesis formation.
49
- 2. **Wiki prior knowledge**: Run `maestro wiki search "<symptom keywords>" --json 2>/dev/null`. If results found, check for prior investigations on similar issues to avoid re-investigation.
50
- 3. **Debug specs + tools**: Run `maestro spec load --category debug --keyword "<symptom keywords>"`. If tools found, extract known issues, workarounds, and root-cause notes to inform hypotheses.
51
- 4. All are optional — proceed without if unavailable.
52
-
53
- ### Role Knowledge
54
- 1. Browse accumulated knowledge for this role:
55
- `maestro wiki list --category debug`
56
- 2. Analyze the index, identify entries relevant to the current task
57
- 3. Load selected documents:
58
- `maestro wiki load <id1> [id2] [id3...]`
59
- 4. Review loaded knowledge before proceeding
46
+ ### Pre-load (optional, proceed without)
47
+ - Codebase docs: `.workflow/codebase/ARCHITECTURE.md` → module boundaries
48
+ - Wiki: `maestro wiki search "<symptom keywords>" --json` prior investigations
49
+ - Specs: `maestro spec load --category debug --keyword "<symptom>"` known issues/workarounds
50
+ - Role knowledge: `maestro wiki list --category debug` select relevant `maestro wiki load`
60
51
 
61
52
  **Output**: `DEBUG_DIR = .workflow/scratch/{YYYYMMDD}-debug-P{N}-{slug}/` (P{N} = phase number when phase-scoped; omit for standalone). Output directory rules defined in workflow debug.md Step 4.
62
53
  </context>
@@ -84,18 +75,13 @@ Append to state.json.artifacts[]:
84
75
 
85
76
  ### Post-debug Knowledge Inquiry
86
77
 
87
- After root cause is confirmed, evaluate inquiry triggers:
88
-
89
- 1. **Recurring pattern**: If root cause matches a recurring pattern (similar to prior debug sessions):
90
- Ask: "This root cause pattern has appeared before. Should it be documented in `debug-notes.md` to prevent recurrence? (`/spec-add debug`)"
91
-
92
- 2. **Non-obvious fix**: If fix involved a non-obvious approach or workaround:
93
- → Ask: "This fix used a non-obvious strategy. Should it be recorded as a learning? (`/spec-add learning`)"
94
-
95
- 3. **Architectural gap**: If root cause traces to architectural boundary violation or missing constraint:
96
- → Ask: "Root cause points to an architectural gap. Should `architecture-constraints.md` be updated? (`/spec-add arch`)"
78
+ | Condition | Ask | Route |
79
+ |-----------|-----|-------|
80
+ | Recurring root cause pattern (seen in prior debug) | "Document in debug-notes.md?" | spec-add debug |
81
+ | Non-obvious fix / workaround | "Record as learning?" | spec-add learning |
82
+ | Root cause = architectural boundary violation | "Update architecture-constraints.md?" | spec-add arch |
97
83
 
98
- If user confirms, invoke `Skill({ skill: "spec-add", args: "<category> <content>" })`.
84
+ On confirm `Skill("spec-add", "<category> <content>")`.
99
85
 
100
86
  **Next-step routing on completion:**
101
87
  - Root cause found, fix needed → `/maestro-plan {phase} --gaps`
@@ -27,11 +27,23 @@ Scope: $ARGUMENTS (required)
27
27
  - "all" - full codebase scan
28
28
 
29
29
  If not provided, prompt user for scope.
30
+
31
+ ### Pre-load context (before refactoring)
32
+
33
+ 1. **Coding specs**: Run `maestro spec load --category coding` to load coding conventions. Apply conventions to all refactored code.
34
+ 2. **Review specs**: Run `maestro spec load --category review` to load review standards. Use as quality gate for refactored code.
35
+ 3. **Role Knowledge**:
36
+ - Browse: `maestro wiki list --category coding`
37
+ - Identify task-relevant entries, then load: `maestro wiki load <id1> [id2...]`
38
+ 4. All are optional — proceed without if unavailable.
30
39
  </context>
31
40
 
32
41
  <execution>
33
42
  Follow '~/.maestro/workflows/refactor.md' completely.
34
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
+
35
47
  **Next-step routing on completion:**
36
48
  - All tests pass → `/quality-sync` (update codebase docs)
37
49
  - Test failures after refactor → `/quality-debug {scope}`
@@ -48,20 +48,11 @@ Each artifact's type determines its outputs at `.workflow/{a.path}/`:
48
48
 
49
49
  Extract conclusions from related artifacts that may affect this review. Pass as prior quality context to reviewer agents — avoid redundant work, focus on gaps and regressions.
50
50
 
51
- ### Pre-load context (before dispatching reviewer agents)
52
-
53
- 1. **Codebase docs**: If `.workflow/codebase/ARCHITECTURE.md` exists, load component boundaries and layer rules. Pass as `codebase_context` to reviewer agents (especially architecture dimension).
54
- 2. **Wiki constraints**: Run `maestro wiki search "architecture constraint" --json 2>/dev/null`. If results found, pass as `wiki_context` to reviewer agents for evaluating code against documented decisions.
55
- 3. **Review specs + tools**: Run `maestro spec load --category review` to load review standards, checklists, AND discoverable knowhow tools. Pass as `specs_content` to all reviewer agents.
56
- 4. All are optional — proceed without if unavailable.
57
-
58
- ### Role Knowledge
59
- 1. Browse accumulated knowledge for this role:
60
- `maestro wiki list --category review`
61
- 2. Analyze the index, identify entries relevant to the current task
62
- 3. Load selected documents:
63
- `maestro wiki load <id1> [id2] [id3...]`
64
- 4. Review loaded knowledge before proceeding
51
+ ### Pre-load (optional, proceed without)
52
+ - Codebase docs: `.workflow/codebase/ARCHITECTURE.md` → component boundaries, layer rules
53
+ - Wiki constraints: `maestro wiki search "architecture constraint" --json` documented decisions
54
+ - Specs: `maestro spec load --category review` review standards, checklists, knowhow tools
55
+ - Role knowledge: `maestro wiki list --category review` select relevant `maestro wiki load`
65
56
 
66
57
  **Output**: `REVIEW_DIR = .workflow/scratch/{YYYYMMDD}-review-P{N}-{slug}/` (P{N} = phase number, enables directory-level identification as state.json fallback)
67
58
  </context>
@@ -50,7 +50,7 @@ Follow '~/.maestro/workflows/specs-add.md' completely.
50
50
  |------|----------|-------------|-------|
51
51
  | E001 | fatal | Category and content are both required | parse_input |
52
52
  | E002 | fatal | Specs directory not initialized -- run `maestro spec init --scope <scope>` | validate_entry |
53
- | E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning, tools | parse_input |
53
+ | E003 | fatal | Invalid category -- must be one of: coding, arch, quality, debug, test, review, learning, tools, ui | parse_input |
54
54
  | E004 | fatal | Invalid scope -- must be one of: project, global, team, personal | parse_input |
55
55
  | E005 | fatal | Personal scope requires uid -- use `--uid` or run `maestro collab join` first | parse_input |
56
56
  </error_codes>
@@ -21,7 +21,7 @@ Category-based loading: loads the category's primary doc in full + matching entr
21
21
  $ARGUMENTS -- optional flags and keyword
22
22
 
23
23
  **Flags:**
24
- - `--category <category>` — Load by category: primary category doc (full) + cross-file entries with matching category attr. Categories: coding, arch, test, review, debug, quality, learning.
24
+ - `--category <category>` — Load by category: primary category doc (full) + cross-file entries with matching category attr. Categories: coding, arch, test, review, debug, learning, ui.
25
25
  - `--keyword <word>` — Filter by keyword within entries
26
26
 
27
27
  **File → Primary Category mapping:**
@@ -32,7 +32,8 @@ $ARGUMENTS -- optional flags and keyword
32
32
  | test-conventions.md | test |
33
33
  | review-standards.md | review |
34
34
  | debug-notes.md | debug |
35
- | quality-rules.md | quality |
35
+ | ui-conventions.md | ui |
36
+ | quality-rules.md | review |
36
37
  | learnings.md | learning |
37
38
 
38
39
  **Examples:**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maestro-flow-one",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "All Maestro workflow commands as a single Claude Code skill — intent routing, decision gates, minimal closed-loop chains",
5
5
  "bin": {
6
6
  "maestro-flow": "bin/maestro-flow.js"
@@ -1,93 +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
- ## Workflow Routing
44
-
45
- Detect ui-ux-pro-max skill availability and route to the appropriate workflow:
46
-
47
- - **`--full` flag present** → Follow '~/.maestro/workflows/ui-design.md' completely (forced full pipeline)
48
- - **ui-ux-pro-max found** → Follow '~/.maestro/workflows/ui-style.md' completely (lightweight delegation)
49
- - **ui-ux-pro-max not found** → Follow '~/.maestro/workflows/ui-design.md' completely (self-contained fallback)
50
-
51
- Skill detection logic, report format, and complete pipeline steps defined in the routed workflow file.
52
-
53
- **Next-step routing on completion:**
54
- - Plan with design reference → /maestro-plan {phase}
55
- - Refine selected design → /maestro-ui-design {phase} --refine
56
- - Analyze before planning → /maestro-analyze {phase}
57
- </execution>
58
-
59
- <error_codes>
60
- | Code | Severity | Description | Stage |
61
- |------|----------|-------------|-------|
62
- | E001 | error | Phase or topic argument required | parse_input |
63
- | E002 | error | Phase directory not found | parse_input |
64
- | E003 | error | Python not available (both paths need Python for ui-ux-pro-max or agent fallback) | setup |
65
- | E004 | error | --refine requires existing design-ref/ | parse_input |
66
- | W001 | warning | Design system generation returned partial results | generate |
67
- | W002 | warning | Prototype rendering failed for one variant | render |
68
- | W003 | warning | No context.md found, using phase goal only | context |
69
- | W004 | warning | ui-ux-pro-max not found, falling back to full pipeline | routing |
70
- </error_codes>
71
-
72
- <success_criteria>
73
- **Both paths (common):**
74
- - [ ] Requirements extracted from phase context (context.md, brainstorm, spec, or user input)
75
- - [ ] N style variants generated with contrasting design directions
76
- - [ ] User selected preferred variant (or auto-selected in -y mode)
77
- - [ ] MASTER.md written with complete design system specification
78
- - [ ] design-tokens.json written with production-ready tokens (OKLCH colors, component_styles)
79
- - [ ] animation-tokens.json written (duration, easing, transitions, keyframes)
80
- - [ ] selection.json recorded with choice metadata
81
- - [ ] index.json updated with design_ref status
82
-
83
- **ui-style.md path (primary):**
84
- - [ ] ui-ux-pro-max --design-system called with product/industry/style keywords
85
- - [ ] Tokens extracted from ui-ux-pro-max output into structured JSON
86
-
87
- **ui-design.md path (--full or fallback):**
88
- - [ ] 6D attribute space used for maximum contrast between variants
89
- - [ ] Layout templates generated per target (dom_structure + css_layout_rules)
90
- - [ ] HTML prototypes assembled: styles x layouts x targets
91
- - [ ] compare.html generated as interactive matrix viewer
92
- </success_criteria>
93
- </output>