maestro-flow 0.3.45 → 0.3.47
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/ui-design-agent.md +1 -0
- package/.claude/agents/workflow-executor.md +3 -0
- package/.claude/commands/learn-decompose.md +91 -146
- package/.claude/commands/learn-follow.md +102 -137
- package/.claude/commands/learn-investigate.md +102 -167
- package/.claude/commands/learn-retro.md +100 -243
- package/.claude/commands/learn-second-opinion.md +95 -135
- package/.claude/commands/maestro-amend.md +95 -232
- package/.claude/commands/maestro-analyze.md +1 -6
- package/.claude/commands/maestro-collab.md +104 -265
- package/.claude/commands/maestro-composer.md +113 -293
- package/.claude/commands/maestro-execute.md +11 -17
- package/.claude/commands/maestro-impeccable.md +89 -0
- package/.claude/commands/maestro-plan.md +1 -6
- package/.claude/commands/maestro-player.md +111 -340
- package/.claude/commands/maestro-quick.md +9 -0
- package/.claude/commands/maestro-ralph-execute.md +167 -210
- package/.claude/commands/maestro-ralph.md +245 -426
- package/.claude/commands/maestro-tools-register.md +28 -7
- package/.claude/commands/maestro-ui-codify.md +13 -0
- package/.claude/commands/maestro-ui-craft.md +364 -0
- package/.claude/commands/maestro-ui-design.md +12 -1
- package/.claude/commands/maestro-verify.md +12 -13
- package/.claude/commands/maestro.md +142 -72
- package/.claude/commands/manage-knowhow-capture.md +45 -161
- package/.claude/commands/quality-auto-test.md +9 -0
- package/.claude/commands/quality-debug.md +11 -24
- package/.claude/commands/quality-refactor.md +9 -0
- package/.claude/commands/quality-review.md +5 -13
- package/.claude/commands/quality-test.md +5 -0
- package/.claude/commands/spec-add.md +1 -1
- package/.claude/commands/spec-load.md +3 -2
- package/.claude/skills/maestro-help/SKILL.md +264 -0
- package/.claude/skills/maestro-help/index/catalog.json +182 -0
- package/.claude/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.claude/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.claude/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.claude/skills/maestro-impeccable/SKILL.md +169 -0
- package/.codex/agents/team-supervisor.toml +40 -0
- package/.codex/agents/team-worker.toml +63 -0
- package/.codex/skills/learn-decompose/SKILL.md +1 -1
- package/.codex/skills/learn-investigate/SKILL.md +2 -1
- package/.codex/skills/maestro/SKILL.md +278 -313
- package/.codex/skills/maestro-analyze/SKILL.md +126 -417
- package/.codex/skills/maestro-brainstorm/SKILL.md +129 -451
- package/.codex/skills/maestro-collab/SKILL.md +134 -547
- package/.codex/skills/maestro-execute/SKILL.md +4 -2
- package/.codex/skills/maestro-help/SKILL.md +213 -0
- package/.codex/skills/maestro-help/catalog.json +182 -0
- package/.codex/skills/maestro-impeccable/SKILL.md +112 -0
- package/.codex/skills/maestro-plan/SKILL.md +88 -437
- package/.codex/skills/maestro-player/SKILL.md +191 -333
- package/.codex/skills/maestro-quick/SKILL.md +2 -0
- package/.codex/skills/maestro-ralph/SKILL.md +307 -710
- package/.codex/skills/maestro-roadmap/SKILL.md +201 -518
- package/.codex/skills/maestro-tools-register/SKILL.md +29 -7
- package/.codex/skills/maestro-ui-codify/SKILL.md +1 -0
- package/.codex/skills/maestro-ui-craft/SKILL.md +341 -0
- package/.codex/skills/maestro-ui-design/SKILL.md +10 -0
- package/.codex/skills/maestro-verify/SKILL.md +116 -409
- package/.codex/skills/manage-knowhow-capture/SKILL.md +18 -3
- package/.codex/skills/quality-auto-test/SKILL.md +145 -443
- package/.codex/skills/quality-debug/SKILL.md +2 -1
- package/.codex/skills/quality-refactor/SKILL.md +1 -1
- package/.codex/skills/quality-review/SKILL.md +1 -1
- package/.codex/skills/quality-test/SKILL.md +229 -507
- package/.codex/skills/spec-add/SKILL.md +1 -1
- package/README.md +4 -1
- package/README.zh-CN.md +3 -1
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +3 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/index.js +5 -3
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js +3 -3
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +14 -5
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +110 -1
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js +181 -0
- package/dashboard/dist-server/dashboard/src/server/routes/maestro-coordinate.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js +56 -0
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +58 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +2 -2
- package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +3 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +7 -2
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +7 -1
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js +9 -9
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.d.ts +113 -0
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js +6 -0
- package/dashboard/dist-server/dashboard/src/shared/maestro-session-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +4 -3
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +1 -3
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/agents/cli-history-store.d.ts +5 -0
- package/dist/src/agents/cli-history-store.d.ts.map +1 -1
- package/dist/src/agents/cli-history-store.js +65 -13
- package/dist/src/agents/cli-history-store.js.map +1 -1
- package/dist/src/cli.js +13 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/command-help.d.ts +3 -0
- package/dist/src/commands/command-help.d.ts.map +1 -0
- package/dist/src/commands/command-help.js +60 -0
- package/dist/src/commands/command-help.js.map +1 -0
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +17 -0
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +12 -2
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/impeccable.d.ts +10 -0
- package/dist/src/commands/impeccable.d.ts.map +1 -0
- package/dist/src/commands/impeccable.js +181 -0
- package/dist/src/commands/impeccable.js.map +1 -0
- package/dist/src/commands/knowhow.d.ts.map +1 -1
- package/dist/src/commands/knowhow.js +7 -4
- package/dist/src/commands/knowhow.js.map +1 -1
- package/dist/src/commands/spec.js +1 -1
- package/dist/src/commands/spec.js.map +1 -1
- package/dist/src/commands/wiki.d.ts.map +1 -1
- package/dist/src/commands/wiki.js +5 -1
- package/dist/src/commands/wiki.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +10 -7
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/core/addon-registry.d.ts +31 -0
- package/dist/src/core/addon-registry.d.ts.map +1 -0
- package/dist/src/core/addon-registry.js +28 -0
- package/dist/src/core/addon-registry.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js +9 -4
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.js +2 -2
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools/impeccable/critique-storage.d.ts +28 -0
- package/dist/src/tools/impeccable/critique-storage.d.ts.map +1 -0
- package/dist/src/tools/impeccable/critique-storage.js +120 -0
- package/dist/src/tools/impeccable/critique-storage.js.map +1 -0
- package/dist/src/tools/impeccable/design-parser.d.ts +90 -0
- package/dist/src/tools/impeccable/design-parser.d.ts.map +1 -0
- package/dist/src/tools/impeccable/design-parser.js +696 -0
- package/dist/src/tools/impeccable/design-parser.js.map +1 -0
- package/dist/src/tools/impeccable/detect-csp.d.ts +6 -0
- package/dist/src/tools/impeccable/detect-csp.d.ts.map +1 -0
- package/dist/src/tools/impeccable/detect-csp.js +130 -0
- package/dist/src/tools/impeccable/detect-csp.js.map +1 -0
- package/dist/src/tools/impeccable/is-generated.d.ts +4 -0
- package/dist/src/tools/impeccable/is-generated.d.ts.map +1 -0
- package/dist/src/tools/impeccable/is-generated.js +56 -0
- package/dist/src/tools/impeccable/is-generated.js.map +1 -0
- package/dist/src/tools/impeccable/live/accept.d.ts +50 -0
- package/dist/src/tools/impeccable/live/accept.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/accept.js +556 -0
- package/dist/src/tools/impeccable/live/accept.js.map +1 -0
- package/dist/src/tools/impeccable/live/bootstrap.d.ts +2 -0
- package/dist/src/tools/impeccable/live/bootstrap.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/bootstrap.js +244 -0
- package/dist/src/tools/impeccable/live/bootstrap.js.map +1 -0
- package/dist/src/tools/impeccable/live/complete.d.ts +7 -0
- package/dist/src/tools/impeccable/live/complete.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/complete.js +67 -0
- package/dist/src/tools/impeccable/live/complete.js.map +1 -0
- package/dist/src/tools/impeccable/live/completion.d.ts +24 -0
- package/dist/src/tools/impeccable/live/completion.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/completion.js +26 -0
- package/dist/src/tools/impeccable/live/completion.js.map +1 -0
- package/dist/src/tools/impeccable/live/inject.d.ts +41 -0
- package/dist/src/tools/impeccable/live/inject.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/inject.js +394 -0
- package/dist/src/tools/impeccable/live/inject.js.map +1 -0
- package/dist/src/tools/impeccable/live/poll.d.ts +24 -0
- package/dist/src/tools/impeccable/live/poll.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/poll.js +180 -0
- package/dist/src/tools/impeccable/live/poll.js.map +1 -0
- package/dist/src/tools/impeccable/live/resume.d.ts +5 -0
- package/dist/src/tools/impeccable/live/resume.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/resume.js +30 -0
- package/dist/src/tools/impeccable/live/resume.js.map +1 -0
- package/dist/src/tools/impeccable/live/server.d.ts +6 -0
- package/dist/src/tools/impeccable/live/server.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/server.js +867 -0
- package/dist/src/tools/impeccable/live/server.js.map +1 -0
- package/dist/src/tools/impeccable/live/session-store.d.ts +72 -0
- package/dist/src/tools/impeccable/live/session-store.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/session-store.js +281 -0
- package/dist/src/tools/impeccable/live/session-store.js.map +1 -0
- package/dist/src/tools/impeccable/live/static/live-browser-session.js +123 -0
- package/dist/src/tools/impeccable/live/static/live-browser.js +4860 -0
- package/dist/src/tools/impeccable/live/static/modern-screenshot.umd.js +14 -0
- package/dist/src/tools/impeccable/live/status.d.ts +2 -0
- package/dist/src/tools/impeccable/live/status.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/status.js +52 -0
- package/dist/src/tools/impeccable/live/status.js.map +1 -0
- package/dist/src/tools/impeccable/live/wrap.d.ts +33 -0
- package/dist/src/tools/impeccable/live/wrap.d.ts.map +1 -0
- package/dist/src/tools/impeccable/live/wrap.js +572 -0
- package/dist/src/tools/impeccable/live/wrap.js.map +1 -0
- package/dist/src/tools/impeccable/load-context.d.ts +13 -0
- package/dist/src/tools/impeccable/load-context.d.ts.map +1 -0
- package/dist/src/tools/impeccable/load-context.js +79 -0
- package/dist/src/tools/impeccable/load-context.js.map +1 -0
- package/dist/src/tools/impeccable/paths.d.ts +34 -0
- package/dist/src/tools/impeccable/paths.d.ts.map +1 -0
- package/dist/src/tools/impeccable/paths.js +102 -0
- package/dist/src/tools/impeccable/paths.js.map +1 -0
- package/dist/src/tools/spec-entry-parser.d.ts +1 -1
- package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
- package/dist/src/tools/spec-entry-parser.js +1 -1
- package/dist/src/tools/spec-entry-parser.js.map +1 -1
- package/dist/src/tools/spec-init.d.ts.map +1 -1
- package/dist/src/tools/spec-init.js +26 -1
- package/dist/src/tools/spec-init.js.map +1 -1
- package/dist/src/tools/spec-loader.d.ts +1 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +2 -0
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/store-knowhow.d.ts.map +1 -1
- package/dist/src/tools/store-knowhow.js +15 -6
- package/dist/src/tools/store-knowhow.js.map +1 -1
- package/package.json +5 -3
- package/workflows/claude-instructions.md +17 -5
- package/workflows/cli-tools-usage.md +10 -3
- package/workflows/delegate-usage.md +3 -2
- package/workflows/impeccable/adapt.md +190 -0
- package/workflows/impeccable/animate.md +175 -0
- package/workflows/impeccable/audit.md +133 -0
- package/workflows/impeccable/bolder.md +113 -0
- package/workflows/impeccable/brand.md +118 -0
- package/workflows/impeccable/clarify.md +174 -0
- package/workflows/impeccable/codex.md +105 -0
- package/workflows/impeccable/cognitive-load.md +106 -0
- package/workflows/impeccable/color-and-contrast.md +105 -0
- package/workflows/impeccable/colorize.md +154 -0
- package/workflows/impeccable/craft.md +123 -0
- package/workflows/impeccable/critique.md +261 -0
- package/workflows/impeccable/delight.md +302 -0
- package/workflows/impeccable/distill.md +111 -0
- package/workflows/impeccable/document.md +439 -0
- package/workflows/impeccable/extract.md +69 -0
- package/workflows/impeccable/harden.md +347 -0
- package/workflows/impeccable/heuristics-scoring.md +234 -0
- package/workflows/impeccable/interaction-design.md +195 -0
- package/workflows/impeccable/layout.md +141 -0
- package/workflows/impeccable/live.md +622 -0
- package/workflows/impeccable/motion-design.md +109 -0
- package/workflows/impeccable/onboard.md +234 -0
- package/workflows/impeccable/optimize.md +258 -0
- package/workflows/impeccable/overdrive.md +130 -0
- package/workflows/impeccable/personas.md +179 -0
- package/workflows/impeccable/polish.md +242 -0
- package/workflows/impeccable/product.md +62 -0
- package/workflows/impeccable/quieter.md +99 -0
- package/workflows/impeccable/responsive-design.md +114 -0
- package/workflows/impeccable/shape.md +165 -0
- package/workflows/impeccable/spatial-design.md +100 -0
- package/workflows/impeccable/teach.md +168 -0
- package/workflows/impeccable/typeset.md +124 -0
- package/workflows/impeccable/typography.md +159 -0
- package/workflows/impeccable/ux-writing.md +107 -0
- package/workflows/impeccable.md +164 -0
- package/workflows/maestro.md +7 -3
- package/workflows/skill-authoring.md +265 -0
- package/workflows/specs-add.md +3 -2
- package/workflows/specs-load.md +2 -1
- package/workflows/specs-setup.md +21 -1
- package/workflows/tools-spec.md +20 -13
- package/.claude/commands/maestro-link-coordinate.md +0 -71
- package/.codex/skills/maestro-link-coordinate/SKILL.md +0 -257
|
@@ -17,9 +17,21 @@ Available CLI endpoints are dynamically defined by the config file
|
|
|
17
17
|
|
|
18
18
|
- **Prefer `mcp__ide__getDiagnostics`** for code error checking over shell-based TypeScript compilation
|
|
19
19
|
|
|
20
|
-
## Knowledge
|
|
20
|
+
## Knowledge System
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
22
|
+
### Search — Query Before Acting
|
|
23
|
+
|
|
24
|
+
When tackling unfamiliar domains or cross-cutting concerns, search existing knowledge first:
|
|
25
|
+
- `maestro spec load --category <cat>` — load rules by category (coding/arch/debug/test/review/learning)
|
|
26
|
+
- `maestro spec load --keyword <kw>` — cross-category keyword match
|
|
27
|
+
- `maestro wiki search "<query>"` — full-text search across all knowhow
|
|
28
|
+
- `maestro wiki list --category <cat>` → `maestro wiki load <id>` — browse then load full detail
|
|
29
|
+
|
|
30
|
+
### Record — Capture Knowledge
|
|
31
|
+
|
|
32
|
+
When execution surfaces non-obvious knowledge (decisions, root causes, pitfalls, patterns), persist it:
|
|
33
|
+
|
|
34
|
+
- **Spec entry** (short rule/constraint) → `/spec-add <category> "title" "content" --keywords kw1,kw2`
|
|
35
|
+
- **Knowhow document** (detailed recipe/template/decision/reference) → `/manage-knowhow-capture`
|
|
36
|
+
|
|
37
|
+
Category routing: decisions→`arch`, patterns→`coding`, pitfalls→`debug`/`learning`, rules→`review`, test strategy→`test`.
|
|
@@ -35,10 +35,16 @@ maestro delegate "<PROMPT>" [options]
|
|
|
35
35
|
|
|
36
36
|
### Tool Resolution Priority
|
|
37
37
|
|
|
38
|
-
1. `--to <tool>` — explicit tool selection (
|
|
38
|
+
1. `--to <tool>` — explicit tool selection (highest priority)
|
|
39
39
|
2. `--role <role>` — capability-based auto-selection via config
|
|
40
40
|
3. No flag — first enabled tool in config
|
|
41
41
|
|
|
42
|
+
### Caller Decision Rule
|
|
43
|
+
|
|
44
|
+
- **User names a tool** (e.g. "用 gemini 分析", "ask codex") → **must use `--to <tool>`**
|
|
45
|
+
- **User names a capability** (e.g. "分析一下", "review this") → use `--role <role>` or omit
|
|
46
|
+
- **Never use `--role` when user has explicitly named a tool** — `--role` may route to a different tool
|
|
47
|
+
|
|
42
48
|
### Role-Based Tool Selection
|
|
43
49
|
|
|
44
50
|
Roles map to tools via `cli-tools.json` configuration:
|
|
@@ -229,7 +235,8 @@ Resume auto-assembles previous conversation context. Warning emitted when contex
|
|
|
229
235
|
```bash
|
|
230
236
|
maestro delegate show # recent 20 executions
|
|
231
237
|
maestro delegate show --all # up to 100
|
|
232
|
-
maestro delegate output <id> #
|
|
238
|
+
maestro delegate output <id> # last reply only (after last tool call)
|
|
239
|
+
maestro delegate output <id> --full # full output (all turns)
|
|
233
240
|
maestro delegate output <id> --verbose # include start/end timestamps
|
|
234
241
|
maestro delegate status <id> # broker + history + snapshot preview
|
|
235
242
|
maestro delegate tail <id> # recent events + history
|
|
@@ -257,6 +264,6 @@ Proactively invoke `maestro delegate` when these conditions are met — no user
|
|
|
257
264
|
|
|
258
265
|
- Default `--mode analysis` (safe, read-only)
|
|
259
266
|
- Wait for results before next action
|
|
260
|
-
-
|
|
267
|
+
- User named a tool → `--to <tool>`; user didn't → `--role` or omit (see Caller Decision Rule)
|
|
261
268
|
- Rule suggestions are guidelines — choose the best fit
|
|
262
269
|
</execution>
|
|
@@ -230,8 +230,9 @@ maestro delegate tail <id> # recent events + history
|
|
|
230
230
|
maestro delegate tail <id> --events 20 --history 20
|
|
231
231
|
|
|
232
232
|
# Get result
|
|
233
|
-
maestro delegate output <id> #
|
|
234
|
-
maestro delegate output <id> --
|
|
233
|
+
maestro delegate output <id> # last reply only (after last tool call)
|
|
234
|
+
maestro delegate output <id> --full # full output (all turns)
|
|
235
|
+
maestro delegate output <id> --verbose # include start/end timestamps
|
|
235
236
|
|
|
236
237
|
# Lifecycle control
|
|
237
238
|
maestro delegate cancel <id> # request cancellation
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
> **Additional context needed**: target platforms/devices and usage contexts.
|
|
2
|
+
|
|
3
|
+
Adapt an existing design to a different context: another screen size, device, platform, or use case. The trap is treating adaptation as scaling. The job is rethinking the experience for the new context.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Assess Adaptation Challenge
|
|
9
|
+
|
|
10
|
+
Understand what needs adaptation and why:
|
|
11
|
+
|
|
12
|
+
1. **Identify the source context**:
|
|
13
|
+
- What was it designed for originally? (Desktop web? Mobile app?)
|
|
14
|
+
- What assumptions were made? (Large screen? Mouse input? Fast connection?)
|
|
15
|
+
- What works well in current context?
|
|
16
|
+
|
|
17
|
+
2. **Understand target context**:
|
|
18
|
+
- **Device**: Mobile, tablet, desktop, TV, watch, print?
|
|
19
|
+
- **Input method**: Touch, mouse, keyboard, voice, gamepad?
|
|
20
|
+
- **Screen constraints**: Size, resolution, orientation?
|
|
21
|
+
- **Connection**: Fast wifi, slow 3G, offline?
|
|
22
|
+
- **Usage context**: On-the-go vs desk, quick glance vs focused reading?
|
|
23
|
+
- **User expectations**: What do users expect on this platform?
|
|
24
|
+
|
|
25
|
+
3. **Identify adaptation challenges**:
|
|
26
|
+
- What won't fit? (Content, navigation, features)
|
|
27
|
+
- What won't work? (Hover states on touch, tiny touch targets)
|
|
28
|
+
- What's inappropriate? (Desktop patterns on mobile, mobile patterns on desktop)
|
|
29
|
+
|
|
30
|
+
**CRITICAL**: Adaptation is rethinking the experience for the new context, not scaling pixels.
|
|
31
|
+
|
|
32
|
+
## Plan Adaptation Strategy
|
|
33
|
+
|
|
34
|
+
Create context-appropriate strategy:
|
|
35
|
+
|
|
36
|
+
### Mobile Adaptation (Desktop → Mobile)
|
|
37
|
+
|
|
38
|
+
**Layout Strategy**:
|
|
39
|
+
- Single column instead of multi-column
|
|
40
|
+
- Vertical stacking instead of side-by-side
|
|
41
|
+
- Full-width components instead of fixed widths
|
|
42
|
+
- Bottom navigation instead of top/side navigation
|
|
43
|
+
|
|
44
|
+
**Interaction Strategy**:
|
|
45
|
+
- Touch targets 44x44px minimum (not hover-dependent)
|
|
46
|
+
- Swipe gestures where appropriate (lists, carousels)
|
|
47
|
+
- Bottom sheets instead of dropdowns
|
|
48
|
+
- Thumbs-first design (controls within thumb reach)
|
|
49
|
+
- Larger tap areas with more spacing
|
|
50
|
+
|
|
51
|
+
**Content Strategy**:
|
|
52
|
+
- Progressive disclosure (don't show everything at once)
|
|
53
|
+
- Prioritize primary content (secondary content in tabs/accordions)
|
|
54
|
+
- Shorter text (more concise)
|
|
55
|
+
- Larger text (16px minimum)
|
|
56
|
+
|
|
57
|
+
**Navigation Strategy**:
|
|
58
|
+
- Hamburger menu or bottom navigation
|
|
59
|
+
- Reduce navigation complexity
|
|
60
|
+
- Sticky headers for context
|
|
61
|
+
- Back button in navigation flow
|
|
62
|
+
|
|
63
|
+
### Tablet Adaptation (Hybrid Approach)
|
|
64
|
+
|
|
65
|
+
**Layout Strategy**:
|
|
66
|
+
- Two-column layouts (not single or three-column)
|
|
67
|
+
- Side panels for secondary content
|
|
68
|
+
- Master-detail views (list + detail)
|
|
69
|
+
- Adaptive based on orientation (portrait vs landscape)
|
|
70
|
+
|
|
71
|
+
**Interaction Strategy**:
|
|
72
|
+
- Support both touch and pointer
|
|
73
|
+
- Touch targets 44x44px but allow denser layouts than phone
|
|
74
|
+
- Side navigation drawers
|
|
75
|
+
- Multi-column forms where appropriate
|
|
76
|
+
|
|
77
|
+
### Desktop Adaptation (Mobile → Desktop)
|
|
78
|
+
|
|
79
|
+
**Layout Strategy**:
|
|
80
|
+
- Multi-column layouts (use horizontal space)
|
|
81
|
+
- Side navigation always visible
|
|
82
|
+
- Multiple information panels simultaneously
|
|
83
|
+
- Fixed widths with max-width constraints (don't stretch to 4K)
|
|
84
|
+
|
|
85
|
+
**Interaction Strategy**:
|
|
86
|
+
- Hover states for additional information
|
|
87
|
+
- Keyboard shortcuts
|
|
88
|
+
- Right-click context menus
|
|
89
|
+
- Drag and drop where helpful
|
|
90
|
+
- Multi-select with Shift/Cmd
|
|
91
|
+
|
|
92
|
+
**Content Strategy**:
|
|
93
|
+
- Show more information upfront (less progressive disclosure)
|
|
94
|
+
- Data tables with many columns
|
|
95
|
+
- Richer visualizations
|
|
96
|
+
- More detailed descriptions
|
|
97
|
+
|
|
98
|
+
### Print Adaptation (Screen → Print)
|
|
99
|
+
|
|
100
|
+
**Layout Strategy**:
|
|
101
|
+
- Page breaks at logical points
|
|
102
|
+
- Remove navigation, footer, interactive elements
|
|
103
|
+
- Black and white (or limited color)
|
|
104
|
+
- Proper margins for binding
|
|
105
|
+
|
|
106
|
+
**Content Strategy**:
|
|
107
|
+
- Expand shortened content (show full URLs, hidden sections)
|
|
108
|
+
- Add page numbers, headers, footers
|
|
109
|
+
- Include metadata (print date, page title)
|
|
110
|
+
- Convert charts to print-friendly versions
|
|
111
|
+
|
|
112
|
+
### Email Adaptation (Web → Email)
|
|
113
|
+
|
|
114
|
+
**Layout Strategy**:
|
|
115
|
+
- Narrow width (600px max)
|
|
116
|
+
- Single column only
|
|
117
|
+
- Inline CSS (no external stylesheets)
|
|
118
|
+
- Table-based layouts (for email client compatibility)
|
|
119
|
+
|
|
120
|
+
**Interaction Strategy**:
|
|
121
|
+
- Large, obvious CTAs (buttons not text links)
|
|
122
|
+
- No hover states (not reliable)
|
|
123
|
+
- Deep links to web app for complex interactions
|
|
124
|
+
|
|
125
|
+
## Implement Adaptations
|
|
126
|
+
|
|
127
|
+
Apply changes systematically:
|
|
128
|
+
|
|
129
|
+
### Responsive Breakpoints
|
|
130
|
+
|
|
131
|
+
Choose appropriate breakpoints:
|
|
132
|
+
- Mobile: 320px-767px
|
|
133
|
+
- Tablet: 768px-1023px
|
|
134
|
+
- Desktop: 1024px+
|
|
135
|
+
- Or content-driven breakpoints (where design breaks)
|
|
136
|
+
|
|
137
|
+
### Layout Adaptation Techniques
|
|
138
|
+
|
|
139
|
+
- **CSS Grid/Flexbox**: Reflow layouts automatically
|
|
140
|
+
- **Container Queries**: Adapt based on container, not viewport
|
|
141
|
+
- **`clamp()`**: Fluid sizing between min and max
|
|
142
|
+
- **Media queries**: Different styles for different contexts
|
|
143
|
+
- **Display properties**: Show/hide elements per context
|
|
144
|
+
|
|
145
|
+
### Touch Adaptation
|
|
146
|
+
|
|
147
|
+
- Increase touch target sizes (44x44px minimum)
|
|
148
|
+
- Add more spacing between interactive elements
|
|
149
|
+
- Remove hover-dependent interactions
|
|
150
|
+
- Add touch feedback (ripples, highlights)
|
|
151
|
+
- Consider thumb zones (easier to reach bottom than top)
|
|
152
|
+
|
|
153
|
+
### Content Adaptation
|
|
154
|
+
|
|
155
|
+
- Use `display: none` sparingly (still downloads)
|
|
156
|
+
- Progressive enhancement (core content first, enhancements on larger screens)
|
|
157
|
+
- Lazy loading for off-screen content
|
|
158
|
+
- Responsive images (`srcset`, `picture` element)
|
|
159
|
+
|
|
160
|
+
### Navigation Adaptation
|
|
161
|
+
|
|
162
|
+
- Transform complex nav to hamburger/drawer on mobile
|
|
163
|
+
- Bottom nav bar for mobile apps
|
|
164
|
+
- Persistent side navigation on desktop
|
|
165
|
+
- Breadcrumbs on smaller screens for context
|
|
166
|
+
|
|
167
|
+
**IMPORTANT**: Test on real devices. Device emulation in DevTools is helpful but not perfect.
|
|
168
|
+
|
|
169
|
+
**NEVER**:
|
|
170
|
+
- Hide core functionality on mobile (if it matters, make it work)
|
|
171
|
+
- Assume desktop = powerful device (consider accessibility, older machines)
|
|
172
|
+
- Use different information architecture across contexts (confusing)
|
|
173
|
+
- Break user expectations for platform (mobile users expect mobile patterns)
|
|
174
|
+
- Forget landscape orientation on mobile/tablet
|
|
175
|
+
- Use generic breakpoints blindly (use content-driven breakpoints)
|
|
176
|
+
- Ignore touch on desktop (many desktop devices have touch)
|
|
177
|
+
|
|
178
|
+
## Verify Adaptations
|
|
179
|
+
|
|
180
|
+
Test thoroughly across contexts:
|
|
181
|
+
|
|
182
|
+
- **Real devices**: Test on actual phones, tablets, desktops
|
|
183
|
+
- **Different orientations**: Portrait and landscape
|
|
184
|
+
- **Different browsers**: Safari, Chrome, Firefox, Edge
|
|
185
|
+
- **Different OS**: iOS, Android, Windows, macOS
|
|
186
|
+
- **Different input methods**: Touch, mouse, keyboard
|
|
187
|
+
- **Edge cases**: Very small screens (320px), very large screens (4K)
|
|
188
|
+
- **Slow connections**: Test on throttled network
|
|
189
|
+
|
|
190
|
+
When the adaptation feels native to each context, hand off to `/maestro-impeccable polish` for the final pass.
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
> **Additional context needed**: performance constraints.
|
|
2
|
+
|
|
3
|
+
Add motion that conveys state, gives feedback, and clarifies hierarchy. Cut motion that exists only for decoration. Animation fatigue is a real cost; spend the budget on the moments that need it.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Register
|
|
8
|
+
|
|
9
|
+
Brand: orchestrated page-load sequences, staggered reveals, scroll-driven animation. Motion is part of the voice; one well-rehearsed entrance beats scattered micro-interactions.
|
|
10
|
+
|
|
11
|
+
Product: 150–250 ms on most transitions. Motion conveys state: feedback, reveal, loading, transitions between views. No page-load choreography; users are in a task and won't wait for it.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Assess Animation Opportunities
|
|
16
|
+
|
|
17
|
+
Analyze where motion would improve the experience:
|
|
18
|
+
|
|
19
|
+
1. **Identify static areas**:
|
|
20
|
+
- **Missing feedback**: Actions without visual acknowledgment (button clicks, form submission, etc.)
|
|
21
|
+
- **Jarring transitions**: Instant state changes that feel abrupt (show/hide, page loads, route changes)
|
|
22
|
+
- **Unclear relationships**: Spatial or hierarchical relationships that aren't obvious
|
|
23
|
+
- **Lack of delight**: Functional but joyless interactions
|
|
24
|
+
- **Missed guidance**: Opportunities to direct attention or explain behavior
|
|
25
|
+
|
|
26
|
+
2. **Understand the context**:
|
|
27
|
+
- What's the personality? (Playful vs serious, energetic vs calm)
|
|
28
|
+
- What's the performance budget? (Mobile-first? Complex page?)
|
|
29
|
+
- Who's the audience? (Motion-sensitive users? Power users who want speed?)
|
|
30
|
+
- What matters most? (One hero animation vs many micro-interactions?)
|
|
31
|
+
|
|
32
|
+
If any of these are unclear from the codebase, STOP and call the AskUserQuestion tool to clarify.
|
|
33
|
+
|
|
34
|
+
**CRITICAL**: Respect `prefers-reduced-motion`. Always provide non-animated alternatives for users who need them.
|
|
35
|
+
|
|
36
|
+
## Plan Animation Strategy
|
|
37
|
+
|
|
38
|
+
Create a purposeful animation plan:
|
|
39
|
+
|
|
40
|
+
- **Hero moment**: What's the ONE signature animation? (Page load? Hero section? Key interaction?)
|
|
41
|
+
- **Feedback layer**: Which interactions need acknowledgment?
|
|
42
|
+
- **Transition layer**: Which state changes need smoothing?
|
|
43
|
+
- **Delight layer**: Where can we surprise and delight?
|
|
44
|
+
|
|
45
|
+
**IMPORTANT**: One well-orchestrated experience beats scattered animations everywhere. Focus on high-impact moments.
|
|
46
|
+
|
|
47
|
+
## Implement Animations
|
|
48
|
+
|
|
49
|
+
Add motion systematically across these categories:
|
|
50
|
+
|
|
51
|
+
### Entrance Animations
|
|
52
|
+
- **Page load choreography**: Stagger element reveals (100-150ms delays), fade + slide combinations
|
|
53
|
+
- **Hero section**: Dramatic entrance for primary content (scale, parallax, or creative effects)
|
|
54
|
+
- **Content reveals**: Scroll-triggered animations using intersection observer
|
|
55
|
+
- **Modal/drawer entry**: Smooth slide + fade, backdrop fade, focus management
|
|
56
|
+
|
|
57
|
+
### Micro-interactions
|
|
58
|
+
- **Button feedback**:
|
|
59
|
+
- Hover: Subtle scale (1.02-1.05), color shift, shadow increase
|
|
60
|
+
- Click: Quick scale down then up (0.95 → 1), ripple effect
|
|
61
|
+
- Loading: Spinner or pulse state
|
|
62
|
+
- **Form interactions**:
|
|
63
|
+
- Input focus: Border color transition, slight scale or glow
|
|
64
|
+
- Validation: Shake on error, check mark on success, smooth color transitions
|
|
65
|
+
- **Toggle switches**: Smooth slide + color transition (200-300ms)
|
|
66
|
+
- **Checkboxes/radio**: Check mark animation, ripple effect
|
|
67
|
+
- **Like/favorite**: Scale + rotation, particle effects, color transition
|
|
68
|
+
|
|
69
|
+
### State Transitions
|
|
70
|
+
- **Show/hide**: Fade + slide (not instant), appropriate timing (200-300ms)
|
|
71
|
+
- **Expand/collapse**: Height transition with overflow handling, icon rotation
|
|
72
|
+
- **Loading states**: Skeleton screen fades, spinner animations, progress bars
|
|
73
|
+
- **Success/error**: Color transitions, icon animations, gentle scale pulse
|
|
74
|
+
- **Enable/disable**: Opacity transitions, cursor changes
|
|
75
|
+
|
|
76
|
+
### Navigation & Flow
|
|
77
|
+
- **Page transitions**: Crossfade between routes, shared element transitions
|
|
78
|
+
- **Tab switching**: Slide indicator, content fade/slide
|
|
79
|
+
- **Carousel/slider**: Smooth transforms, snap points, momentum
|
|
80
|
+
- **Scroll effects**: Parallax layers, sticky headers with state changes, scroll progress indicators
|
|
81
|
+
|
|
82
|
+
### Feedback & Guidance
|
|
83
|
+
- **Hover hints**: Tooltip fade-ins, cursor changes, element highlights
|
|
84
|
+
- **Drag & drop**: Lift effect (shadow + scale), drop zone highlights, smooth repositioning
|
|
85
|
+
- **Copy/paste**: Brief highlight flash on paste, "copied" confirmation
|
|
86
|
+
- **Focus flow**: Highlight path through form or workflow
|
|
87
|
+
|
|
88
|
+
### Delight Moments
|
|
89
|
+
- **Empty states**: Subtle floating animations on illustrations
|
|
90
|
+
- **Completed actions**: Confetti, check mark flourish, success celebrations
|
|
91
|
+
- **Easter eggs**: Hidden interactions for discovery
|
|
92
|
+
- **Contextual animation**: Weather effects, time-of-day themes, seasonal touches
|
|
93
|
+
|
|
94
|
+
## Technical Implementation
|
|
95
|
+
|
|
96
|
+
Use appropriate techniques for each animation:
|
|
97
|
+
|
|
98
|
+
### Timing & Easing
|
|
99
|
+
|
|
100
|
+
**Durations by purpose:**
|
|
101
|
+
- **100-150ms**: Instant feedback (button press, toggle)
|
|
102
|
+
- **200-300ms**: State changes (hover, menu open)
|
|
103
|
+
- **300-500ms**: Layout changes (accordion, modal)
|
|
104
|
+
- **500-800ms**: Entrance animations (page load)
|
|
105
|
+
|
|
106
|
+
**Easing curves (use these, not CSS defaults):**
|
|
107
|
+
```css
|
|
108
|
+
/* Recommended: natural deceleration */
|
|
109
|
+
--ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1); /* Smooth */
|
|
110
|
+
--ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1); /* Slightly snappier */
|
|
111
|
+
--ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); /* Confident, decisive */
|
|
112
|
+
|
|
113
|
+
/* AVOID: feel dated and tacky */
|
|
114
|
+
/* bounce: cubic-bezier(0.34, 1.56, 0.64, 1); */
|
|
115
|
+
/* elastic: cubic-bezier(0.68, -0.6, 0.32, 1.6); */
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**Exit animations are faster than entrances.** Use ~75% of enter duration.
|
|
119
|
+
|
|
120
|
+
### CSS Animations
|
|
121
|
+
```css
|
|
122
|
+
/* Prefer for simple, declarative animations */
|
|
123
|
+
- transitions for state changes
|
|
124
|
+
- @keyframes for complex sequences
|
|
125
|
+
- transform and opacity for reliable movement
|
|
126
|
+
- blur, filters, masks, clip paths, shadows, and color shifts for premium atmospheric effects when verified smooth
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### JavaScript Animation
|
|
130
|
+
```javascript
|
|
131
|
+
/* Use for complex, interactive animations */
|
|
132
|
+
- Web Animations API for programmatic control
|
|
133
|
+
- Framer Motion for React
|
|
134
|
+
- GSAP for complex sequences
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Performance
|
|
138
|
+
- **Motion materials**: Use transform/opacity for reliable movement, but use blur, filters, masks, shadows, and color shifts when they materially improve the effect
|
|
139
|
+
- **Layout safety**: Avoid casual animation of layout-driving properties (`width`, `height`, `top`, `left`, margins)
|
|
140
|
+
- **will-change**: Add sparingly for known expensive animations
|
|
141
|
+
- **Bound expensive effects**: Keep blur/filter/shadow areas small or isolated, use `contain` where appropriate
|
|
142
|
+
- **Monitor FPS**: Ensure 60fps on target devices
|
|
143
|
+
|
|
144
|
+
### Accessibility
|
|
145
|
+
```css
|
|
146
|
+
@media (prefers-reduced-motion: reduce) {
|
|
147
|
+
* {
|
|
148
|
+
animation-duration: 0.01ms !important;
|
|
149
|
+
animation-iteration-count: 1 !important;
|
|
150
|
+
transition-duration: 0.01ms !important;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
**NEVER**:
|
|
156
|
+
- Use bounce or elastic easing curves; they feel dated and draw attention to the animation itself
|
|
157
|
+
- Animate layout properties casually (`width`, `height`, `top`, `left`, margins) when transform, FLIP, or grid-based techniques would work
|
|
158
|
+
- Use durations over 500ms for feedback (it feels laggy)
|
|
159
|
+
- Animate without purpose (every animation needs a reason)
|
|
160
|
+
- Ignore `prefers-reduced-motion` (this is an accessibility violation)
|
|
161
|
+
- Animate everything (animation fatigue makes interfaces feel exhausting)
|
|
162
|
+
- Block interaction during animations unless intentional
|
|
163
|
+
|
|
164
|
+
## Verify Quality
|
|
165
|
+
|
|
166
|
+
Test animations thoroughly:
|
|
167
|
+
|
|
168
|
+
- **Smooth at 60fps**: No jank on target devices
|
|
169
|
+
- **Feels natural**: Easing curves feel organic, not robotic
|
|
170
|
+
- **Appropriate timing**: Not too fast (jarring) or too slow (laggy)
|
|
171
|
+
- **Reduced motion works**: Animations disabled or simplified appropriately
|
|
172
|
+
- **Doesn't block**: Users can interact during/after animations
|
|
173
|
+
- **Adds value**: Makes interface clearer or more delightful
|
|
174
|
+
|
|
175
|
+
When the motion clarifies state instead of decorating it, hand off to `/maestro-impeccable polish` for the final pass.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
Run systematic **technical** quality checks and generate a comprehensive report. Don't fix issues; document them for other commands to address.
|
|
2
|
+
|
|
3
|
+
This is a code-level audit, not a design critique. Check what's measurable and verifiable in the implementation.
|
|
4
|
+
|
|
5
|
+
## Diagnostic Scan
|
|
6
|
+
|
|
7
|
+
Run comprehensive checks across 5 dimensions. Score each dimension 0-4 using the criteria below.
|
|
8
|
+
|
|
9
|
+
### 1. Accessibility (A11y)
|
|
10
|
+
|
|
11
|
+
**Check for**:
|
|
12
|
+
- **Contrast issues**: Text contrast ratios < 4.5:1 (or 7:1 for AAA)
|
|
13
|
+
- **Missing ARIA**: Interactive elements without proper roles, labels, or states
|
|
14
|
+
- **Keyboard navigation**: Missing focus indicators, illogical tab order, keyboard traps
|
|
15
|
+
- **Semantic HTML**: Improper heading hierarchy, missing landmarks, divs instead of buttons
|
|
16
|
+
- **Alt text**: Missing or poor image descriptions
|
|
17
|
+
- **Form issues**: Inputs without labels, poor error messaging, missing required indicators
|
|
18
|
+
|
|
19
|
+
**Score 0-4**: 0=Inaccessible (fails WCAG A), 1=Major gaps (few ARIA labels, no keyboard nav), 2=Partial (some a11y effort, significant gaps), 3=Good (WCAG AA mostly met, minor gaps), 4=Excellent (WCAG AA fully met, approaches AAA)
|
|
20
|
+
|
|
21
|
+
### 2. Performance
|
|
22
|
+
|
|
23
|
+
**Check for**:
|
|
24
|
+
- **Layout thrashing**: Reading/writing layout properties in loops
|
|
25
|
+
- **Expensive animations**: Casual layout-property animation, unbounded blur/filter/shadow effects, or effects that visibly drop frames
|
|
26
|
+
- **Missing optimization**: Images without lazy loading, unoptimized assets, missing will-change
|
|
27
|
+
- **Bundle size**: Unnecessary imports, unused dependencies
|
|
28
|
+
- **Render performance**: Unnecessary re-renders, missing memoization
|
|
29
|
+
|
|
30
|
+
**Score 0-4**: 0=Severe issues (layout thrash, unoptimized everything), 1=Major problems (no lazy loading, expensive animations), 2=Partial (some optimization, gaps remain), 3=Good (mostly optimized, minor improvements possible), 4=Excellent (fast, lean, well-optimized)
|
|
31
|
+
|
|
32
|
+
### 3. Theming
|
|
33
|
+
|
|
34
|
+
**Check for**:
|
|
35
|
+
- **Hard-coded colors**: Colors not using design tokens
|
|
36
|
+
- **Broken dark mode**: Missing dark mode variants, poor contrast in dark theme
|
|
37
|
+
- **Inconsistent tokens**: Using wrong tokens, mixing token types
|
|
38
|
+
- **Theme switching issues**: Values that don't update on theme change
|
|
39
|
+
|
|
40
|
+
**Score 0-4**: 0=No theming (hard-coded everything), 1=Minimal tokens (mostly hard-coded), 2=Partial (tokens exist but inconsistently used), 3=Good (tokens used, minor hard-coded values), 4=Excellent (full token system, dark mode works perfectly)
|
|
41
|
+
|
|
42
|
+
### 4. Responsive Design
|
|
43
|
+
|
|
44
|
+
**Check for**:
|
|
45
|
+
- **Fixed widths**: Hard-coded widths that break on mobile
|
|
46
|
+
- **Touch targets**: Interactive elements < 44x44px
|
|
47
|
+
- **Horizontal scroll**: Content overflow on narrow viewports
|
|
48
|
+
- **Text scaling**: Layouts that break when text size increases
|
|
49
|
+
- **Missing breakpoints**: No mobile/tablet variants
|
|
50
|
+
|
|
51
|
+
**Score 0-4**: 0=Desktop-only (breaks on mobile), 1=Major issues (some breakpoints, many failures), 2=Partial (works on mobile, rough edges), 3=Good (responsive, minor touch target or overflow issues), 4=Excellent (fluid, all viewports, proper touch targets)
|
|
52
|
+
|
|
53
|
+
### 5. Anti-Patterns (CRITICAL)
|
|
54
|
+
|
|
55
|
+
Check against ALL the **DON'T** guidelines from the parent impeccable skill (already loaded in this context). Look for AI slop tells (AI color palette, gradient text, glassmorphism, hero metrics, card grids, generic fonts) and general design anti-patterns (gray on color, nested cards, bounce easing, redundant copy).
|
|
56
|
+
|
|
57
|
+
**Score 0-4**: 0=AI slop gallery (5+ tells), 1=Heavy AI aesthetic (3-4 tells), 2=Some tells (1-2 noticeable), 3=Mostly clean (subtle issues only), 4=No AI tells (distinctive, intentional design)
|
|
58
|
+
|
|
59
|
+
## Generate Report
|
|
60
|
+
|
|
61
|
+
### Audit Health Score
|
|
62
|
+
|
|
63
|
+
| # | Dimension | Score | Key Finding |
|
|
64
|
+
|---|-----------|-------|-------------|
|
|
65
|
+
| 1 | Accessibility | ? | [most critical a11y issue or "--"] |
|
|
66
|
+
| 2 | Performance | ? | |
|
|
67
|
+
| 3 | Responsive Design | ? | |
|
|
68
|
+
| 4 | Theming | ? | |
|
|
69
|
+
| 5 | Anti-Patterns | ? | |
|
|
70
|
+
| **Total** | | **??/20** | **[Rating band]** |
|
|
71
|
+
|
|
72
|
+
**Rating bands**: 18-20 Excellent (minor polish), 14-17 Good (address weak dimensions), 10-13 Acceptable (significant work needed), 6-9 Poor (major overhaul), 0-5 Critical (fundamental issues)
|
|
73
|
+
|
|
74
|
+
### Anti-Patterns Verdict
|
|
75
|
+
**Start here.** Pass/fail: Does this look AI-generated? List specific tells. Be brutally honest.
|
|
76
|
+
|
|
77
|
+
### Executive Summary
|
|
78
|
+
- Audit Health Score: **??/20** ([rating band])
|
|
79
|
+
- Total issues found (count by severity: P0/P1/P2/P3)
|
|
80
|
+
- Top 3-5 critical issues
|
|
81
|
+
- Recommended next steps
|
|
82
|
+
|
|
83
|
+
### Detailed Findings by Severity
|
|
84
|
+
|
|
85
|
+
Tag every issue with **P0-P3 severity**:
|
|
86
|
+
- **P0 Blocking**: Prevents task completion. Fix immediately
|
|
87
|
+
- **P1 Major**: Significant difficulty or WCAG AA violation. Fix before release
|
|
88
|
+
- **P2 Minor**: Annoyance, workaround exists. Fix in next pass
|
|
89
|
+
- **P3 Polish**: Nice-to-fix, no real user impact. Fix if time permits
|
|
90
|
+
|
|
91
|
+
For each issue, document:
|
|
92
|
+
- **[P?] Issue name**
|
|
93
|
+
- **Location**: Component, file, line
|
|
94
|
+
- **Category**: Accessibility / Performance / Theming / Responsive / Anti-Pattern
|
|
95
|
+
- **Impact**: How it affects users
|
|
96
|
+
- **WCAG/Standard**: Which standard it violates (if applicable)
|
|
97
|
+
- **Recommendation**: How to fix it
|
|
98
|
+
- **Suggested command**: Which command to use (prefer: /maestro-impeccable adapt, /maestro-impeccable animate, /maestro-impeccable audit, /maestro-impeccable bolder, /maestro-impeccable clarify, /maestro-impeccable colorize, /maestro-impeccable critique, /maestro-impeccable delight, /maestro-impeccable distill, /maestro-impeccable document, /maestro-impeccable harden, /maestro-impeccable layout, /maestro-impeccable onboard, /maestro-impeccable optimize, /maestro-impeccable overdrive, /maestro-impeccable polish, /maestro-impeccable quieter, /maestro-impeccable shape, /maestro-impeccable typeset)
|
|
99
|
+
|
|
100
|
+
### Patterns & Systemic Issues
|
|
101
|
+
|
|
102
|
+
Identify recurring problems that indicate systemic gaps rather than one-off mistakes:
|
|
103
|
+
- "Hard-coded colors appear in 15+ components, should use design tokens"
|
|
104
|
+
- "Touch targets consistently too small (<44px) throughout mobile experience"
|
|
105
|
+
|
|
106
|
+
### Positive Findings
|
|
107
|
+
|
|
108
|
+
Note what's working well: good practices to maintain and replicate.
|
|
109
|
+
|
|
110
|
+
## Recommended Actions
|
|
111
|
+
|
|
112
|
+
List recommended commands in priority order (P0 first, then P1, then P2):
|
|
113
|
+
|
|
114
|
+
1. **[P?] `/command-name`**: Brief description (specific context from audit findings)
|
|
115
|
+
2. **[P?] `/command-name`**: Brief description (specific context)
|
|
116
|
+
|
|
117
|
+
**Rules**: Only recommend commands from: /maestro-impeccable adapt, /maestro-impeccable animate, /maestro-impeccable audit, /maestro-impeccable bolder, /maestro-impeccable clarify, /maestro-impeccable colorize, /maestro-impeccable critique, /maestro-impeccable delight, /maestro-impeccable distill, /maestro-impeccable document, /maestro-impeccable harden, /maestro-impeccable layout, /maestro-impeccable onboard, /maestro-impeccable optimize, /maestro-impeccable overdrive, /maestro-impeccable polish, /maestro-impeccable quieter, /maestro-impeccable shape, /maestro-impeccable typeset. Map findings to the most appropriate command. End with `/maestro-impeccable polish` as the final step if any fixes were recommended.
|
|
118
|
+
|
|
119
|
+
After presenting the summary, tell the user:
|
|
120
|
+
|
|
121
|
+
> You can ask me to run these one at a time, all at once, or in any order you prefer.
|
|
122
|
+
>
|
|
123
|
+
> Re-run `/maestro-impeccable audit` after fixes to see your score improve.
|
|
124
|
+
|
|
125
|
+
**IMPORTANT**: Be thorough but actionable. Too many P3 issues creates noise. Focus on what actually matters.
|
|
126
|
+
|
|
127
|
+
**NEVER**:
|
|
128
|
+
- Report issues without explaining impact (why does this matter?)
|
|
129
|
+
- Provide generic recommendations (be specific and actionable)
|
|
130
|
+
- Skip positive findings (celebrate what works)
|
|
131
|
+
- Forget to prioritize (everything can't be P0)
|
|
132
|
+
- Report false positives without verification
|
|
133
|
+
|