maestro-flow 0.3.48 → 0.4.1

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 (93) 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 +231 -74
  6. package/.claude/commands/maestro-merge.md +3 -0
  7. package/.claude/commands/maestro-roadmap.md +5 -1
  8. package/.claude/commands/maestro.md +3 -3
  9. package/.claude/commands/manage-issue-discover.md +4 -0
  10. package/.claude/commands/quality-refactor.md +3 -0
  11. package/.claude/skills/maestro-help/index/catalog.json +1 -1
  12. package/.claude/skills/maestro-help/phases/01-parse-intent.md +1 -1
  13. package/.codex/skills/maestro/SKILL.md +70 -28
  14. package/.codex/skills/maestro-brainstorm/SKILL.md +19 -2
  15. package/.codex/skills/maestro-composer/SKILL.md +5 -0
  16. package/.codex/skills/maestro-help/catalog.json +1 -1
  17. package/.codex/skills/maestro-impeccable/SKILL.md +230 -97
  18. package/.codex/skills/maestro-merge/SKILL.md +3 -0
  19. package/.codex/skills/maestro-milestone-audit/SKILL.md +64 -7
  20. package/.codex/skills/maestro-quick/SKILL.md +1 -1
  21. package/.codex/skills/maestro-roadmap/SKILL.md +1 -1
  22. package/.codex/skills/maestro-tools-execute/SKILL.md +1 -1
  23. package/.codex/skills/maestro-tools-register/SKILL.md +1 -1
  24. package/.codex/skills/quality-refactor/SKILL.md +114 -22
  25. package/chains/_intent-map.json +1 -1
  26. package/chains/singles/ui-design.json +4 -4
  27. package/chains/{ui-design-driven.json → ui-craft-build.json} +8 -8
  28. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +3 -3
  29. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  30. package/dist/src/commands/delegate.d.ts.map +1 -1
  31. package/dist/src/commands/delegate.js +12 -7
  32. package/dist/src/commands/delegate.js.map +1 -1
  33. package/dist/src/commands/impeccable.d.ts +2 -1
  34. package/dist/src/commands/impeccable.d.ts.map +1 -1
  35. package/dist/src/commands/impeccable.js +80 -1
  36. package/dist/src/commands/impeccable.js.map +1 -1
  37. package/package.json +1 -1
  38. package/templates/planning-roles/ui-designer.md +86 -99
  39. package/templates/workflows/specs/node-catalog.md +1 -1
  40. package/workflows/brainstorm.md +26 -0
  41. package/workflows/cli-tools-usage.md +9 -26
  42. package/workflows/delegate-usage.md +301 -343
  43. package/workflows/impeccable/design.md +462 -0
  44. package/workflows/impeccable/explore.md +157 -0
  45. package/workflows/impeccable/shape.md +4 -0
  46. package/workflows/impeccable/ui-search/__pycache__/core.cpython-313.pyc +0 -0
  47. package/workflows/impeccable/ui-search/__pycache__/design_system.cpython-313.pyc +0 -0
  48. package/workflows/impeccable/ui-search/core.py +262 -0
  49. package/workflows/impeccable/ui-search/data/app-interface.csv +31 -0
  50. package/workflows/impeccable/ui-search/data/charts.csv +26 -0
  51. package/workflows/impeccable/ui-search/data/colors.csv +162 -0
  52. package/workflows/impeccable/ui-search/data/design.csv +1776 -0
  53. package/workflows/impeccable/ui-search/data/draft.csv +1779 -0
  54. package/workflows/impeccable/ui-search/data/google-fonts.csv +1924 -0
  55. package/workflows/impeccable/ui-search/data/icons.csv +106 -0
  56. package/workflows/impeccable/ui-search/data/landing.csv +35 -0
  57. package/workflows/impeccable/ui-search/data/products.csv +162 -0
  58. package/workflows/impeccable/ui-search/data/react-performance.csv +45 -0
  59. package/workflows/impeccable/ui-search/data/stacks/angular.csv +51 -0
  60. package/workflows/impeccable/ui-search/data/stacks/astro.csv +54 -0
  61. package/workflows/impeccable/ui-search/data/stacks/flutter.csv +53 -0
  62. package/workflows/impeccable/ui-search/data/stacks/html-tailwind.csv +56 -0
  63. package/workflows/impeccable/ui-search/data/stacks/jetpack-compose.csv +53 -0
  64. package/workflows/impeccable/ui-search/data/stacks/laravel.csv +51 -0
  65. package/workflows/impeccable/ui-search/data/stacks/nextjs.csv +53 -0
  66. package/workflows/impeccable/ui-search/data/stacks/nuxt-ui.csv +51 -0
  67. package/workflows/impeccable/ui-search/data/stacks/nuxtjs.csv +59 -0
  68. package/workflows/impeccable/ui-search/data/stacks/react-native.csv +52 -0
  69. package/workflows/impeccable/ui-search/data/stacks/react.csv +54 -0
  70. package/workflows/impeccable/ui-search/data/stacks/shadcn.csv +61 -0
  71. package/workflows/impeccable/ui-search/data/stacks/svelte.csv +54 -0
  72. package/workflows/impeccable/ui-search/data/stacks/swiftui.csv +51 -0
  73. package/workflows/impeccable/ui-search/data/stacks/threejs.csv +54 -0
  74. package/workflows/impeccable/ui-search/data/stacks/vue.csv +50 -0
  75. package/workflows/impeccable/ui-search/data/styles.csv +85 -0
  76. package/workflows/impeccable/ui-search/data/typography.csv +74 -0
  77. package/workflows/impeccable/ui-search/data/ui-reasoning.csv +162 -0
  78. package/workflows/impeccable/ui-search/data/ux-guidelines.csv +100 -0
  79. package/workflows/impeccable/ui-search/design_system.py +1148 -0
  80. package/workflows/impeccable/ui-search/prototype-template.html +511 -0
  81. package/workflows/impeccable/ui-search/render-prototype.js +208 -0
  82. package/workflows/impeccable/ui-search/search.py +114 -0
  83. package/workflows/maestro-chain-execute.md +2 -2
  84. package/workflows/maestro.codex.md +3 -3
  85. package/workflows/maestro.md +107 -117
  86. package/workflows/plan.md +1 -1
  87. package/workflows/ui-design.md +1 -1
  88. package/workflows/ui-style.md +1 -1
  89. package/.claude/commands/maestro-ui-craft.md +0 -364
  90. package/.claude/commands/maestro-ui-design.md +0 -104
  91. package/.claude/skills/maestro-impeccable/SKILL.md +0 -169
  92. package/.codex/skills/maestro-ui-craft/SKILL.md +0 -341
  93. package/.codex/skills/maestro-ui-design/SKILL.md +0 -242
@@ -27,7 +27,7 @@
27
27
  {"name": "maestro-ralph", "command": "/maestro-ralph", "category": "ralph", "description": "Ralph 引擎 — 自适应生命周期决策节点管理", "source": "../../commands/maestro-ralph.md"},
28
28
  {"name": "maestro-ralph-execute", "command": "/maestro-ralph-execute", "category": "ralph", "description": "Ralph 执行 — 运行自适应决策链", "source": "../../commands/maestro-ralph-execute.md"},
29
29
  {"name": "maestro-learn", "command": "/maestro-learn", "category": "core", "description": "学习 — 从执行中提取知识和模式", "source": "../../commands/maestro-learn.md"},
30
- {"name": "maestro-ui-design", "command": "/maestro-ui-design", "category": "ui", "description": "UI 设计设计系统原型和 Token 管理", "source": "../../commands/maestro-ui-design.md"},
30
+ {"name": "maestro-impeccable", "command": "/maestro-impeccable", "category": "ui", "description": "UI 生产管线设计系统原型、自动化生产和质量门控", "source": "../../commands/maestro-impeccable.md"},
31
31
  {"name": "maestro-ui-codify", "command": "/maestro-ui-codify", "category": "ui", "description": "UI 固化 — 将设计产出转化为知识资产", "source": "../../commands/maestro-ui-codify.md"},
32
32
  {"name": "maestro-update", "command": "/maestro-update", "category": "core", "description": "版本更新 — 检查并安装最新版本", "source": "../../commands/maestro-update.md"},
33
33
  {"name": "maestro-tools-register", "command": "/maestro-tools-register", "category": "tools", "description": "MCP 工具注册 — 注册外部工具到 Maestro", "source": "../../commands/maestro-tools-register.md"},
@@ -1,112 +1,245 @@
1
1
  ---
2
2
  name: maestro-impeccable
3
- description: Production-grade UI design with knowhow accumulation -- 23 commands for build, evaluate, refine, enhance, fix
4
- argument-hint: "[craft|shape · audit|critique · animate|bolder|colorize|delight|layout|overdrive|quieter|typeset · adapt|clarify|distill · harden|onboard|optimize|polish · teach|document|extract|live] [target] [--skip-harvest] [-y]"
3
+ description: Production-grade UI design 24 commands + chain orchestration with quality gates + design search
4
+ argument-hint: "<command|chain|intent> [target] [flags]"
5
5
  allowed-tools: Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
6
  ---
7
+
7
8
  <purpose>
8
- Designs and iterates production-grade frontend interfaces. Real working code, committed design choices, exceptional craft.
9
- After each command, automatically harvests design knowledge to `.workflow/knowhow/` (category: ui) for cross-session accumulation.
9
+ Sequential UI design skill. Parse input prerequisites read workflow file execute → track via status.json.
10
10
 
11
- Replaces the standalone impeccable skill. 23 commands covering the full design lifecycle.
11
+ - **Direct**: single command via workflow file
12
+ - **Chain**: orchestrate command sequence with quality gates
13
+ - **Search**: query design knowledge base via CLI
12
14
  </purpose>
13
15
 
14
16
  <context>
15
- $ARGUMENTS -- sub-command + target + optional flags.
16
-
17
- **Sub-commands** (23):
18
-
19
- | Category | Commands |
20
- |----------|----------|
21
- | Build | craft, shape, teach, document, extract |
22
- | Evaluate | critique, audit |
23
- | Refine | polish, bolder, quieter, distill, harden, onboard |
24
- | Enhance | animate, colorize, typeset, layout, delight, overdrive |
25
- | Fix | clarify, adapt, optimize |
26
- | Iterate | live |
27
-
28
- **Flags:**
29
- - `--skip-harvest` -- Execute command without knowhow capture
30
- - `-y` -- Auto-confirm where the skill allows
17
+ $ARGUMENTS first word determines mode:
18
+
19
+ | First Word | Mode |
20
+ |------------|------|
21
+ | Known command (see routing table) | Direct |
22
+ | Chain name: build, redesign, improve, enhance, launch, harden, foundation, live | Chain |
23
+ | continue / next / -c | Resume |
24
+ | search | Search: `maestro impeccable search "$REST"` |
25
+ | Free text (concrete task) | Direct craft has specific target + specs/reference |
26
+ | Free text (project intent) | Intent classify chain |
27
+ | (empty) | Menu: show commands by category |
28
+
29
+ **Common flags**: `-y` (auto-confirm), `--skip-harvest`, `--skip-design`, `--styles <N>`
30
+ **Chain flags**: `--threshold <N>` (default 26/40), `--max-loops <N>` (default 3)
31
31
  </context>
32
32
 
33
- <execution>
34
-
35
- ## Setup
33
+ ## Command Routing
34
+
35
+ All workflows at `~/.maestro/workflows/impeccable/{command}.md`:
36
+
37
+ | Command | Category | Description |
38
+ |---------|----------|-------------|
39
+ | craft | Build | Shape then build end-to-end — full page/component implementation |
40
+ | shape | Build | Plan UX/UI before code — information architecture, wireframe, visual direction |
41
+ | teach | Build | Set up PRODUCT.md — users, brand, tone, anti-references, principles |
42
+ | document | Build | Generate DESIGN.md from existing code — extract tokens, typography, colors |
43
+ | extract | Build | Pull tokens/components into reusable design system |
44
+ | explore | Build | Multi-style comparison — generate variants, render prototypes, visual compare, select/mix |
45
+ | critique | Evaluate | UX heuristic review with Nielsen scoring (/40) + P0/P1 findings |
46
+ | audit | Evaluate | Technical quality checks — a11y, performance, responsive, code quality (/20) |
47
+ | polish | Refine | Final quality pass — micro-adjustments, pixel perfection |
48
+ | bolder | Refine | Amplify bland/safe designs — stronger personality, more contrast |
49
+ | quieter | Refine | Tone down aggressive/overwhelming designs — reduce visual noise |
50
+ | distill | Refine | Strip to essence — remove clutter, reduce cognitive load |
51
+ | harden | Refine | Production-ready — error states, i18n, edge cases, overflow, empty states |
52
+ | onboard | Refine | First-run flows, empty states, activation paths, progressive disclosure |
53
+ | animate | Enhance | Add purposeful motion — transitions, micro-interactions, scroll effects |
54
+ | colorize | Enhance | Add strategic color — OKLCH palette, contrast, color strategy |
55
+ | typeset | Enhance | Improve typography — scale, hierarchy, font pairing, line length |
56
+ | layout | Enhance | Fix spacing, rhythm, visual hierarchy, alignment, grid |
57
+ | delight | Enhance | Add personality — memorable details, joy, surprise moments |
58
+ | overdrive | Enhance | Push past conventional limits — ambitious visual effects |
59
+ | clarify | Fix | Improve UX copy — labels, error messages, microcopy, CTAs |
60
+ | adapt | Fix | Adapt for devices/screens — responsive, touch targets, breakpoints |
61
+ | optimize | Fix | Fix UI performance — loading, rendering, bundle, paint/layout jank |
62
+ | live | Iterate | Browser-based variant iteration — real-time design in DevTools |
63
+
64
+ Reference files (loaded by workflow as needed, not standalone commands):
65
+ brand.md, product.md, design.md, codex.md, heuristics-scoring.md, cognitive-load.md,
66
+ color-and-contrast.md, interaction-design.md, motion-design.md, personas.md,
67
+ responsive-design.md, spatial-design.md, typography.md, ux-writing.md
68
+
69
+ ## Chains
70
+
71
+ | Chain | Steps | Scenario |
72
+ |-------|-------|----------|
73
+ | build | teach? → explore? → shape → craft → critique → [refine] → audit → polish | 从零新建 |
74
+ | redesign | document → explore → shape → craft → critique → [refine] → audit → polish | 基于现有代码重设计 |
75
+ | improve | critique → [refine] → polish → audit | 迭代改进 |
76
+ | enhance | {cmd...} → critique → [refine] → polish | 定向增强(支持多命令) |
77
+ | launch | harden → adapt → optimize → audit → polish | 全方位上线准备 |
78
+ | harden | harden → audit → polish | 边界加固 |
79
+ | foundation | teach? → explore → document → extract | 纯设计系统建设 |
80
+ | live | live | 实时迭代 |
81
+
82
+ - `?` = conditional: teach if PRODUCT.md missing; explore if DESIGN.md missing and --skip-design not set
83
+ - `[refine]` = quality gate loop: gate fails → auto-select fix commands from findings → re-gate
84
+ - `{cmd...}` = enhance supports multiple commands, comma-separated: `enhance colorize,typeset target`
85
+
86
+ ## Free Text Routing
87
+
88
+ Three-layer priority matching. Stop on first match.
89
+
90
+ ### Layer 1: Intent matches single command → Direct
91
+
92
+ Match user description against Command Routing descriptions. Route to the closest single command.
93
+
94
+ | Intent signal | Command |
95
+ |---------------|---------|
96
+ | review, UX check, heuristic, 评审, 评分 | critique |
97
+ | a11y, audit, accessibility, performance audit, 技术检查 | audit |
98
+ | animation, motion, transitions, 动效, 加动画 | animate |
99
+ | color, palette, contrast, OKLCH, 配色, 颜色 | colorize |
100
+ | typography, font, type scale, 字体, 排版 | typeset |
101
+ | layout, spacing, grid, alignment, 布局, 间距 | layout |
102
+ | tone down, too loud, 太花, 视觉噪音 | quieter |
103
+ | too bland, bolder, more personality, 太平淡 | bolder |
104
+ | simplify, strip, too complex, cognitive load, 太复杂 | distill |
105
+ | polish, micro-adjust, pixel perfect, 打磨 | polish |
106
+ | copy, labels, error messages, UX writing, 文案 | clarify |
107
+ | responsive, mobile, breakpoints, 适配 | adapt |
108
+ | performance, loading, bundle, jank, 性能 | optimize |
109
+ | edge cases, error states, i18n, overflow, 边界 | harden |
110
+ | onboarding, first-run, empty state, 引导 | onboard |
111
+ | delight, personality, joy, memorable, 趣味 | delight |
112
+ | extraordinary, push limits, 炫酷, 极限 | overdrive |
113
+ | plan UX, wireframe, information architecture, 规划 | shape |
114
+ | variants, compare styles, multi-style, 多风格 | explore |
115
+ | PRODUCT.md, brand definition, 品牌定义 | teach |
116
+ | DESIGN.md, design documentation, 设计文档 | document |
117
+ | pull tokens, extract components, 提取组件 | extract |
118
+ | browser iteration, 实时迭代 | live |
119
+
120
+ ### Layer 2: Concrete build task → Direct craft
121
+
122
+ Layer 1 missed, but intent is "build/create specific thing":
123
+ - Has specific file path or target
124
+ - Has detailed visual specs (layout, style, palette)
125
+ - Has reference material
126
+
127
+ → Route to **craft** (Direct)
128
+
129
+ ### Layer 3: Project intent → Chain
130
+
131
+ Layer 1+2 missed, broad project direction:
132
+
133
+ | Pattern | Chain |
134
+ |---------|-------|
135
+ | create, build, new, from scratch | build |
136
+ | redesign, rethink, restyle | redesign |
137
+ | improve, iterate, better | improve |
138
+ | enhance, visual upgrade | enhance |
139
+ | launch, deploy, ship, production-ready | launch |
140
+ | harden, production, edge cases | harden |
141
+ | design system, tokens, design spec | foundation |
142
+ | live, browser | live |
143
+
144
+ Ambiguous + no `-y` → `request_user_input`.
145
+
146
+ <invariants>
147
+ 1. Prerequisites before any design work — never skip context loading or register detection
148
+ 2. Read workflow file before execution — never execute a command without loading its .md
149
+ 3. Interactive gates respected — teach, shape, craft retain user confirmation gates
150
+ 4. status.json before chain steps — session created before any chain step runs
151
+ </invariants>
152
+
153
+ ## Prerequisites
154
+
155
+ Before reading any command workflow:
156
+
157
+ 1. **Context**: `maestro spec load --category ui` → if empty → `maestro impeccable load-context`
158
+ 2. **PRODUCT.md**: missing/placeholder (<200 chars / `[TODO]`) → execute teach first, then resume original task
159
+ 3. **Register**: identify brand/product → Read `~/.maestro/workflows/impeccable/{brand|product}.md`
160
+
161
+ ## Direct Execution
162
+
163
+ 1. Prerequisites ✓
164
+ 2. **显示执行信息**:
165
+ ```
166
+ ── Command: {command} ────────────────────
167
+ Category: {category} | Target: {target}
168
+ ─────────────────────────────────────────
169
+ ```
170
+ 3. Read `~/.maestro/workflows/impeccable/{command}.md`
171
+ 4. **TodoWrite 跟踪**:按 workflow 文件中的主要阶段创建 todo 项
172
+ - 格式:`[{command}] {phase description}`
173
+ - 每个阶段完成后立即标记 completed
174
+ 5. Follow workflow file instructions
175
+ 6. Post: suggest logical next command (teach→shape, shape→craft, craft→critique, etc.)
36
176
 
37
- Before any design work:
177
+ ## Chain Execution
38
178
 
39
- 1. Load context (PRODUCT.md / DESIGN.md) via spec system:
40
- ```bash
41
- maestro spec load --category ui
179
+ 1. Prerequisites
180
+ 2. **显示执行链**:解析 chain 定义,输出完整步骤预览:
42
181
  ```
43
- This surfaces all design context (product + visual) from `.workflow/specs/ui-conventions.md`.
44
-
45
- If specs are not initialized, fall back to the legacy loader:
46
- ```bash
47
- maestro impeccable load-context
182
+ ── Chain: build ──────────────────────────
183
+ 1. teach (conditional: PRODUCT.md missing)
184
+ 2. explore (conditional: DESIGN.md missing)
185
+ 3. shape
186
+ 4. craft
187
+ 5. critique ◆ quality gate (threshold: 26/40)
188
+ 6. [refine] ↺ auto-fix loop (max: 3)
189
+ 7. audit ◆ quality gate (threshold: 14/20)
190
+ 8. polish
191
+ ─────────────────────────────────────────
192
+ Target: {target}
193
+ ```
194
+ - `◆` 标记 quality gate 步骤,显示阈值
195
+ - `↺` 标记 refine loop,显示最大循环次数
196
+ - conditional 步骤注明触发条件
197
+ - 跳过的 conditional 步骤标记 `(skipped)`
198
+ 3. Create session: `.workflow/.maestro/ui-craft-{YYYYMMDD-HHmmss}/status.json`
199
+ ```json
200
+ { "chain_type": "...", "target": "...", "steps": [...], "current_step": 0,
201
+ "gate_history": [], "loop_count": 0, "status": "running" }
48
202
  ```
49
- The loader searches `.workflow/impeccable/` first, then the project root, then `.agents/context/` and `docs/`.
50
- PRODUCT.md and DESIGN.md are stored at `.workflow/impeccable/`.
51
-
52
- 2. Identify register (brand vs product) and load matching reference from `~/.maestro/workflows/impeccable/brand.md` or `product.md`.
53
- 3. If sub-command invoked, load its reference file from `~/.maestro/workflows/impeccable/{command}.md`.
54
-
55
- If PRODUCT.md missing → run `teach` first, then resume original task.
56
-
57
- ## Command Execution
58
-
59
- Route by first argument:
60
- 1. **Matches command** → load `~/.maestro/workflows/impeccable/{command}.md`, follow instructions
61
- 2. **No argument** show command menu grouped by category
62
- 3. **No match** general design invocation with full argument as context
63
-
64
- ## Harvest (Post-Execution)
65
-
66
- After command completes (except `live`), unless `--skip-harvest`:
67
-
68
- | Command | Knowhow Type | Prefix |
69
- |---------|-------------|--------|
70
- | craft | decision + asset | DCS- + AST- |
71
- | shape | decision | DCS- |
72
- | teach | reference | REF- |
73
- | document, extract | asset | AST- |
74
- | critique, audit, polish, harden, onboard, clarify, adapt, optimize | tip | TIP- |
75
- | colorize, typeset, layout, animate, bolder, quieter, distill, delight, overdrive | decision | DCS- |
76
-
77
- Write knowhow with `category: ui`. For DCS-/AST- types, also create spec index:
78
- ```bash
79
- maestro spec add ui "<title>" "<summary>" --keywords impeccable,<cmd>,... --ref knowhow/<file>
80
- ```
81
-
82
- </execution>
83
-
84
- <shared_design_laws>
85
-
86
- - **Color**: OKLCH only. Never #000/#fff. Pick color strategy first (Restrained → Committed → Full palette → Drenched).
87
- - **Theme**: Write physical scene sentence before choosing dark/light.
88
- - **Typography**: Body 65-75ch. Hierarchy via scale + weight (>=1.25 ratio).
89
- - **Layout**: Vary spacing for rhythm. Cards only when truly best. No nested cards.
90
- - **Motion**: No CSS layout animations. Ease-out exponential curves.
91
- - **Bans**: Side-stripe borders, gradient text, glassmorphism default, hero-metric template, identical card grids, modal as first thought.
92
- - **Copy**: Every word earns its place. No em dashes.
93
- - **AI slop test**: Two-altitude category-reflex check.
94
-
95
- </shared_design_laws>
96
-
97
- <error_codes>
98
- | Code | Severity | Description |
99
- |------|----------|-------------|
100
- | E001 | error | Invalid sub-command |
101
- | E002 | error | No intent or target specified |
102
- | W001 | warning | Harvest failed (command still succeeded) |
103
- | W002 | warning | PRODUCT.md missing, auto-triggering teach |
104
- </error_codes>
105
-
106
- <success_criteria>
107
- - [ ] Sub-command recognized and reference file loaded
108
- - [ ] Context loaded from .workflow/impeccable/ (PRODUCT.md, register identified)
109
- - [ ] Design changes applied to target files
110
- - [ ] Knowhow entry created in .workflow/knowhow/ with category: ui (unless --skip-harvest or live)
111
- - [ ] Spec index entry created for DCS-/AST- types
112
- </success_criteria>
203
+ 4. **TodoWrite 初始化**:为 chain 所有步骤创建 todo
204
+ - 每步一项,格式:`[chain] step N: {command} {description}`
205
+ - conditional 步骤若跳过,立即标记 completed
206
+ - quality gate 步骤标注阈值:`[chain] step 5: critique gate ≥26/40`
207
+ 5. For each step:
208
+ - Read `~/.maestro/workflows/impeccable/{command}.md` → execute
209
+ - **步骤开始**:TodoWrite 标记当前步骤 in_progress
210
+ - **步骤完成**:TodoWrite 标记 completed + update status.json (`current_step`, step `status`)
211
+ - **步骤失败**:TodoWrite 标记 completed(with note) + 记录原因
212
+ 6. **Quality gate** (critique/audit steps):
213
+ - Parse score: critique `**Total** | | **N/40**`, audit `**Total** | | **N/20**`
214
+ - Count `[P0]` / `[P1]` tags
215
+ - Pass: score threshold AND P0 == 0 → advance
216
+ - Fail: collect suggested commands from findings execute re-gate
217
+ - Max loops exceeded → force advance with warning
218
+ - TodoWrite:gate 结果记入当前步骤备注(score, P0/P1 count, pass/fail)
219
+ 7. Final report: scores + trend + commands executed
220
+
221
+ ## Resume
222
+
223
+ Scan `.workflow/.maestro/ui-craft-*/status.json` for `status == "running"` → most recent → resume from `current_step`.
224
+
225
+ ## Quality Gate Finding Command Fallback
226
+
227
+ When findings lack explicit suggested command:
228
+
229
+ | Finding Category | Command |
230
+ |-----------------|---------|
231
+ | Layout, spacing, hierarchy, alignment | layout |
232
+ | Color, contrast, palette | colorize |
233
+ | Typography, font, readability | typeset |
234
+ | Animation, motion, transitions | animate |
235
+ | Copy, labels, UX writing | clarify |
236
+ | Responsive, mobile, breakpoints | adapt |
237
+ | Performance, loading, speed | optimize |
238
+ | Complexity, overload, clutter | distill |
239
+ | Bland, safe, generic | bolder |
240
+ | Aggressive, overwhelming | quieter |
241
+ | Onboarding, empty state | onboard |
242
+ | Edge cases, i18n, error handling | harden |
243
+ | Personality, memorability | delight |
244
+
245
+ Never auto-select: teach, shape, craft, live, document, extract, overdrive, critique, audit.
@@ -40,6 +40,9 @@ $ARGUMENTS — milestone number and optional flags.
40
40
  <execution>
41
41
  Follow '~/.maestro/workflows/merge.md' completely.
42
42
 
43
+ **Knowledge inquiry on completion:**
44
+ After successful merge, ask user once: "Record milestone learnings?" If yes, persist via `maestro spec add learning "<title>" "<insight>" --keywords <kw1>,<kw2>`.
45
+
43
46
  **Next steps:**
44
47
  - View dashboard → `$manage-status`
45
48
  - Audit milestone → `$maestro-milestone-audit`
@@ -2,11 +2,13 @@
2
2
  name: maestro-milestone-audit
3
3
  description: Audit current milestone for cross-phase integration gaps
4
4
  argument-hint: "[milestone, e.g., 'M1']"
5
- allowed-tools: Read, Write, Bash, Glob, Grep, Agent
5
+ allowed-tools: spawn_agents_on_csv, Read, Write, Bash, Glob, Grep
6
6
  ---
7
7
 
8
8
  <purpose>
9
- Sequential audit based on artifact registry in state.json. Checks phase coverage (ANL->PLN->EXC chains), ad-hoc completeness, execution completeness, and cross-artifact integration. Produces PASS/FAIL verdict report.
9
+ Sequential audit based on artifact registry in state.json. Checks phase coverage (ANL->PLN->EXC chains), ad-hoc completeness, execution completeness, and cross-artifact integration via `spawn_agents_on_csv`. Produces PASS/FAIL verdict report.
10
+
11
+ **Core workflow**: Load Artifacts -> Coverage Check -> Completeness Check -> CSV Wave (Integration Check) -> Verdict
10
12
  </purpose>
11
13
 
12
14
  <context>
@@ -16,14 +18,52 @@ $maestro-milestone-audit ""
16
18
  $maestro-milestone-audit "M1"
17
19
  ```
18
20
 
19
- **Output**: Audit report with artifact chain verification, integration analysis, and PASS/FAIL verdict
21
+ **Output**: `.workflow/milestones/{milestone}/audit-report.md` with artifact chain verification, integration analysis, and PASS/FAIL verdict
20
22
 
23
+ **Session**: `.workflow/.csv-wave/{YYYYMMDD}-audit-{milestone}/`
21
24
  </context>
22
25
 
26
+ <csv_schema>
27
+
28
+ ### tasks.csv (Master State)
29
+
30
+ ```csv
31
+ id,title,description,scope,check_targets,deps,wave,status,findings,gaps_found,severity,error
32
+ "integ-1","Interface & dependency chains","Verify shared interfaces are consistent across phases: re-exports match, dependency chains unbroken, no circular imports between phase outputs","cross-phase imports, shared types, re-exports","grep for shared type names across phase output dirs; verify export/import consistency","","1","","","","",""
33
+ "integ-2","Data contracts & API consistency","Verify request/response schemas match across phases: API signatures consistent, error codes aligned, no contract drift","request/response schemas, API signatures, error codes","diff API type definitions across phases; check error code enum consistency","","1","","","","",""
34
+ ```
35
+
36
+ **Columns**:
37
+
38
+ | Column | Phase | Description |
39
+ |--------|-------|-------------|
40
+ | `id` | Input | Worker identifier: `integ-{N}` |
41
+ | `title` | Input | Integration dimension name |
42
+ | `description` | Input | Detailed check instructions |
43
+ | `scope` | Input | What to examine |
44
+ | `check_targets` | Input | Specific verification commands/grep patterns |
45
+ | `deps` | Input | Dependencies (empty — all wave 1) |
46
+ | `wave` | Computed | Wave number (always 1 — single parallel wave) |
47
+ | `status` | Output | `pending` -> `pass` / `fail` / `warning` |
48
+ | `findings` | Output | Detailed findings per dimension (max 500 chars) |
49
+ | `gaps_found` | Output | Semicolon-separated list of integration gaps |
50
+ | `severity` | Output | `critical` / `warning` / `info` per gap |
51
+ | `error` | Output | Error message if check failed |
52
+
53
+ ### Session Structure
54
+
55
+ ```
56
+ .workflow/.csv-wave/{YYYYMMDD}-audit-{milestone}/
57
+ +-- tasks.csv
58
+ +-- wave-1.csv (temporary)
59
+ +-- wave-1-results.csv
60
+ ```
61
+ </csv_schema>
62
+
23
63
  <invariants>
24
64
  1. **Artifact registry is source of truth** — don't scan directories, read state.json
25
65
  2. **Non-blocking warnings** — missing analyze is warning, missing execute is error
26
- 3. **Integration check is required** — always spawn checker agent
66
+ 3. **Integration check is required** — always spawn checker via CSV wave
27
67
  4. **Clear verdict** — PASS or FAIL with specific reasons
28
68
  </invariants>
29
69
 
@@ -45,9 +85,26 @@ For each phase: check for completed analyze (optional), plan (required), execute
45
85
 
46
86
  Verify all adhoc-scoped artifacts completed. For each execute artifact, verify all tasks in plan dir completed.
47
87
 
48
- ### Step 5: Integration Check
88
+ ### Step 5: Integration Check via CSV Wave
89
+
90
+ 1. Create session folder: `.workflow/.csv-wave/{dateStr}-audit-{milestone}/`
91
+ 2. Build `tasks.csv` from csv_schema — populate `scope` and `check_targets` columns using phase artifacts discovered in Step 2
92
+ 3. Write `wave-1.csv` from pending rows, then execute:
93
+
94
+ ```javascript
95
+ spawn_agents_on_csv({
96
+ csv_path: `${sessionFolder}/wave-1.csv`,
97
+ id_column: "id",
98
+ instruction: `You are an integration checker for milestone ${milestone}. For each row, examine the scope and check_targets. Search the codebase for inconsistencies, contract drift, and broken dependencies across phase outputs. Report findings with file:line references. Set status to pass/fail/warning. List specific gaps in gaps_found (semicolon-separated).`,
99
+ max_concurrency: 2, max_runtime_seconds: 600,
100
+ output_csv_path: `${sessionFolder}/wave-1-results.csv`,
101
+ output_schema: { id, status: [pass|fail|warning], findings, gaps_found, severity, error }
102
+ })
103
+ ```
49
104
 
50
- Spawn Agent for cross-phase validation: shared interfaces, dependency chains, data contracts, API consistency. Write report to `.workflow/milestones/{milestone}/audit-report.md`.
105
+ 4. Merge results into master `tasks.csv`
106
+ 5. Parse `gaps_found` from all workers — aggregate into `.workflow/milestones/{milestone}/audit-report.md`
107
+ 6. Any worker with `status == fail` and `severity == critical` → milestone verdict = FAIL
51
108
 
52
109
  ### Step 6: Verdict
53
110
 
@@ -81,7 +138,7 @@ Display structured audit report.
81
138
  - [ ] Artifact registry loaded and filtered by milestone
82
139
  - [ ] Phase coverage matrix generated
83
140
  - [ ] Ad-hoc and execution completeness verified
84
- - [ ] Integration check performed via agent
141
+ - [ ] Integration check performed via spawn_agents_on_csv (2 parallel workers)
85
142
  - [ ] Audit report written to milestones/ directory
86
143
  - [ ] Clear PASS/FAIL verdict with specific reasons
87
144
  </success_criteria>
@@ -2,7 +2,7 @@
2
2
  name: maestro-quick
3
3
  description: Quick task execution, skip optional agents
4
4
  argument-hint: "\"task description\" [--discuss] [--full]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Agent, AskUserQuestion
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
6
  ---
7
7
 
8
8
  <purpose>
@@ -158,7 +158,7 @@ Build prev_context from wave 1. Inject strategy + --phases constraint (light mod
158
158
  +-- readiness-report.md
159
159
  ```
160
160
  7. Update state.json milestones + current_milestone
161
- 8. Next-step routing: need analysis -> maestro-analyze; ready to plan -> maestro-plan; UI first -> maestro-ui-design; full mode setup -> maestro-init
161
+ 8. Next-step routing: need analysis -> maestro-analyze; ready to plan -> maestro-plan; UI first -> maestro-impeccable build; full mode setup -> maestro-init
162
162
 
163
163
  </actions>
164
164
 
@@ -2,7 +2,7 @@
2
2
  name: maestro-tools-execute
3
3
  description: Load and execute tool specs by role or name
4
4
  argument-hint: "[tool-name | --category <category>]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, Agent
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
6
  ---
7
7
 
8
8
  <purpose>
@@ -2,7 +2,7 @@
2
2
  name: maestro-tools-register
3
3
  description: Register tool specs - extract, generate, or optimize reusable process definitions
4
4
  argument-hint: "[description or intent]"
5
- allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion, Agent
5
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
6
6
  ---
7
7
 
8
8
  <purpose>