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.
- 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 +231 -74
- package/.claude/commands/maestro-merge.md +3 -0
- package/.claude/commands/maestro-roadmap.md +5 -1
- package/.claude/commands/maestro.md +3 -3
- 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/.codex/skills/maestro/SKILL.md +70 -28
- 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 +230 -97
- 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-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/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 +107 -117
- 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-craft.md +0 -364
- package/.claude/commands/maestro-ui-design.md +0 -104
- package/.claude/skills/maestro-impeccable/SKILL.md +0 -169
- package/.codex/skills/maestro-ui-craft/SKILL.md +0 -341
- 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-
|
|
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
|
|
4
|
-
argument-hint: "
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
|
20
|
-
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
**
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
177
|
+
## Chain Execution
|
|
38
178
|
|
|
39
|
-
1.
|
|
40
|
-
|
|
41
|
-
maestro spec load --category ui
|
|
179
|
+
1. Prerequisites ✓
|
|
180
|
+
2. **显示执行链**:解析 chain 定义,输出完整步骤预览:
|
|
42
181
|
```
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
- **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
|
|
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
|
|
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**:
|
|
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
|
|
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
|
-
|
|
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
|
|
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,
|
|
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-
|
|
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
|
|
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
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<purpose>
|