@event4u/agent-config 9.17.0 → 9.18.0

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 (128) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +79 -182
  3. package/dist/agent-src/commands/challenge-me/vision.md +5 -0
  4. package/dist/agent-src/commands/evals/rule-compliance-audit.json +46 -0
  5. package/dist/agent-src/commands/feature/plan.md +20 -0
  6. package/dist/agent-src/commands/feature/roadmap.md +19 -0
  7. package/dist/agent-src/commands/pr/create.md +29 -0
  8. package/dist/agent-src/commands/roadmap/create.md +29 -0
  9. package/dist/agent-src/commands/rule-compliance-audit.md +28 -5
  10. package/dist/agent-src/contexts/execution/plan-confidence-gate.md +133 -0
  11. package/dist/agent-src/rules/active-remediation.md +2 -0
  12. package/dist/agent-src/rules/architecture.md +2 -0
  13. package/dist/agent-src/rules/augment-edit-discipline.md +2 -0
  14. package/dist/agent-src/rules/brand-consistency.md +10 -62
  15. package/dist/agent-src/rules/brand-source-of-truth.md +62 -11
  16. package/dist/agent-src/rules/broken-access-control.md +4 -0
  17. package/dist/agent-src/rules/cli-output-handling.md +5 -0
  18. package/dist/agent-src/rules/code-comment-discipline.md +3 -0
  19. package/dist/agent-src/rules/commit-conventions.md +2 -0
  20. package/dist/agent-src/rules/cross-source-consistency.md +3 -0
  21. package/dist/agent-src/rules/design-fidelity.md +2 -0
  22. package/dist/agent-src/rules/doc-screenshot-hygiene.md +2 -0
  23. package/dist/agent-src/rules/docker-commands.md +4 -0
  24. package/dist/agent-src/rules/domain-adoption-policy.md +2 -0
  25. package/dist/agent-src/rules/domain-safety-disclaimer.md +5 -2
  26. package/dist/agent-src/rules/engineering-safety-floor.md +2 -0
  27. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +9 -0
  28. package/dist/agent-src/rules/image-likeness-and-rights.md +4 -0
  29. package/dist/agent-src/rules/improve-before-implement.md +4 -0
  30. package/dist/agent-src/rules/laravel-routing.md +4 -0
  31. package/dist/agent-src/rules/legal-safety-floor.md +3 -0
  32. package/dist/agent-src/rules/lethal-trifecta-guard.md +3 -0
  33. package/dist/agent-src/rules/media-governance-routing.md +5 -0
  34. package/dist/agent-src/rules/minimal-safe-diff.md +2 -0
  35. package/dist/agent-src/rules/no-roadmap-references.md +2 -0
  36. package/dist/agent-src/rules/notes-first-reasoning.md +2 -0
  37. package/dist/agent-src/rules/php-coding.md +2 -0
  38. package/dist/agent-src/rules/prefer-enums-over-literals.md +3 -0
  39. package/dist/agent-src/rules/provider-lifecycle-discipline.md +5 -0
  40. package/dist/agent-src/rules/roadmap-ci-steps-policy.md +2 -0
  41. package/dist/agent-src/rules/roadmap-progress-sync.md +2 -0
  42. package/dist/agent-src/rules/rule-type-governance.md +2 -0
  43. package/dist/agent-src/rules/scale-discipline.md +3 -0
  44. package/dist/agent-src/rules/secret-vcs-guard.md +2 -0
  45. package/dist/agent-src/rules/security-sensitive-stop.md +9 -2
  46. package/dist/agent-src/rules/senior-engineering-discipline.md +6 -0
  47. package/dist/agent-src/rules/skill-quality.md +2 -0
  48. package/dist/agent-src/rules/source-confidentiality.md +4 -0
  49. package/dist/agent-src/rules/source-discovery-gate.md +3 -0
  50. package/dist/agent-src/rules/source-of-truth.md +2 -0
  51. package/dist/agent-src/rules/strategy-safety-floor.md +2 -0
  52. package/dist/agent-src/rules/think-before-action.md +5 -0
  53. package/dist/agent-src/rules/ui-audit-gate.md +2 -0
  54. package/dist/agent-src/skills/design-intelligence/SKILL.md +6 -180
  55. package/dist/agent-src/skills/design-intelligence/references/context-and-registers.md +100 -0
  56. package/dist/agent-src/skills/design-intelligence/references/integration-mapping.md +91 -0
  57. package/dist/agent-src/skills/design-review/SKILL.md +4 -141
  58. package/dist/agent-src/skills/design-review/references/review-communication.md +92 -0
  59. package/dist/agent-src/skills/design-review/references/verification-automation.md +61 -0
  60. package/dist/agent-src/skills/existing-ui-audit/SKILL.md +8 -27
  61. package/dist/agent-src/skills/existing-ui-audit/references/anti-slop-cross-reference.md +31 -0
  62. package/dist/agent-src/skills/fe-design/SKILL.md +4 -289
  63. package/dist/agent-src/skills/fe-design/references/design-patterns.md +227 -0
  64. package/dist/agent-src/skills/fe-design/references/design-read-and-memory.md +75 -0
  65. package/dist/agent-src/skills/roadmap-management/SKILL.md +10 -0
  66. package/dist/agent-src/skills/roadmap-writing/SKILL.md +12 -1
  67. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  68. package/dist/agent-src/templates/roadmaps.md +12 -0
  69. package/dist/agent-src/templates/scripts/work_engine/directives/ui/_fix_lane.ts +52 -0
  70. package/dist/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +8 -0
  71. package/dist/agent-src/templates/scripts/work_engine/directives/ui/design.ts +6 -0
  72. package/dist/agent-src/templates/scripts/work_engine/intent/classify.ts +56 -4
  73. package/dist/cli/registry.js +2 -0
  74. package/dist/cli/registry.js.map +1 -1
  75. package/dist/cli-delegate/chunk-AIIUU73N.js +2040 -0
  76. package/dist/cli-delegate/{chunk-IMSXPRVH.js → chunk-ELMFOQPW.js} +11 -0
  77. package/dist/cli-delegate/chunk-LF2KKJ4Q.js +183 -0
  78. package/dist/cli-delegate/cmd_explain.js +36 -36
  79. package/dist/cli-delegate/cmd_export.js +1 -1
  80. package/dist/cli-delegate/cmd_handoff.js +203 -2228
  81. package/dist/cli-delegate/cmd_prune.js +1 -1
  82. package/dist/cli-delegate/cmd_route_audit.js +249 -0
  83. package/dist/cli-delegate/cmd_route_explain.js +285 -0
  84. package/dist/cli-delegate/cmd_settings_migrate.js +1 -1
  85. package/dist/cli-delegate/cmd_sync.js +1 -1
  86. package/dist/cli-delegate/cmd_uninstall.js +1 -1
  87. package/dist/cli-delegate/cmd_validate.js +1 -1
  88. package/dist/discovery/deprecation-report.md +1 -1
  89. package/dist/discovery/discovery-manifest.json +57 -57
  90. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  91. package/dist/discovery/discovery-manifest.summary.md +1 -1
  92. package/dist/discovery/orphan-report.md +1 -1
  93. package/dist/discovery/packs.json +2 -2
  94. package/dist/discovery/trust-report.md +1 -1
  95. package/dist/discovery/workspaces.json +2 -2
  96. package/dist/install/install.mjs +11 -0
  97. package/dist/mcp/registry-manifest.json +1 -1
  98. package/dist/mcp/server.json +2 -2
  99. package/dist/router.json +1 -1
  100. package/dist/server/schemas/settings.js +12 -0
  101. package/dist/server/schemas/settings.js.map +1 -1
  102. package/package.json +1 -1
  103. package/src/agent-src/templates/scripts/work_engine/directives/ui/_fix_lane.ts +52 -0
  104. package/src/agent-src/templates/scripts/work_engine/directives/ui/audit.ts +8 -0
  105. package/src/agent-src/templates/scripts/work_engine/directives/ui/design.ts +6 -0
  106. package/src/agent-src/templates/scripts/work_engine/intent/classify.ts +56 -4
  107. package/src/config/agent-settings.template.yml +46 -0
  108. package/src/config/evaluator-budgets.json +3 -3
  109. package/src/config/gate-coverage.yml +40 -0
  110. package/src/scripts/_cli/cmd_explain.ts +41 -36
  111. package/src/scripts/_cli/cmd_route_audit.ts +290 -0
  112. package/src/scripts/_cli/cmd_route_explain.ts +269 -0
  113. package/src/scripts/_dispatch.bash +23 -0
  114. package/src/scripts/_lib/git_env.ts +40 -0
  115. package/src/scripts/_lib/md_table.ts +27 -0
  116. package/src/scripts/_lib/planning_settings.ts +43 -0
  117. package/src/scripts/_lib/router_match.ts +301 -0
  118. package/src/scripts/annotate_r1_outcomes.ts +258 -0
  119. package/src/scripts/check_completion_review.ts +1140 -0
  120. package/src/scripts/compile_router.ts +20 -3
  121. package/src/scripts/dispatch_r2_reviewer.ts +968 -0
  122. package/src/scripts/eval_ui_triviality.ts +156 -0
  123. package/src/scripts/lint_abstraction_thresholds.ts +3 -1
  124. package/src/scripts/lint_plan_risk_register.ts +931 -0
  125. package/src/scripts/lint_trigger_collisions.ts +257 -0
  126. package/src/scripts/router_telemetry.ts +16 -290
  127. package/src/scripts/schemas/rule.schema.json +10 -0
  128. package/src/server/schemas/settings.ts +18 -0
@@ -160,127 +160,12 @@ When a finding warrants a remediation recommendation, prefer in this order:
160
160
  suggesting a different easing curve.* The same applies to decorative elements,
161
161
  excessive copy, and redundant UI chrome.
162
162
 
163
- ## Before / After / Why output format
163
+ ## Section index — load on demand
164
164
 
165
- When reporting a finding with a specific remediation, use this table format:
165
+ Load the reference file whose sections the review needs — never all of them by default:
166
166
 
167
- | Field | Content |
168
- |---|---|
169
- | **Before** | The current state (quote the code, value, or describe the pattern) |
170
- | **After** | The corrected state (specific value or alternative) |
171
- | **Why** | The mechanism: why is Before wrong and After better? (one sentence, states the principle) |
172
-
173
- **Wrong format** (do not use):
174
- ```
175
- Before:
176
- button { transition: all 0.3s ease; }
177
- After:
178
- button { transition: transform 0.2s ease-out, opacity 0.2s ease-out; }
179
- ```
180
-
181
- **Right format:**
182
-
183
- | | |
184
- |---|---|
185
- | **Before** | `transition: all 0.3s ease` |
186
- | **After** | `transition: transform 0.2s ease-out, opacity 0.2s ease-out` |
187
- | **Why** | `transition: all` animates layout properties on every state change, causing browser reflow; enumerate only the properties that move. |
188
-
189
- The Why column carries the reasoning — it's the part that teaches the developer
190
- and prevents the same finding from recurring.
191
-
192
- ## Communication principles
193
-
194
- ### Problems over prescriptions
195
-
196
- Describe **what's wrong and why it matters**, not how to fix it.
197
-
198
- ```
199
- ❌ "Change margin to 16px"
200
- ✅ "Spacing feels inconsistent with adjacent elements, creating visual clutter near the CTA."
201
- ```
202
-
203
- ### Triage matrix
204
-
205
- Every issue gets a severity:
206
-
207
- | Severity | Meaning | Action |
208
- |---|---|---|
209
- | **Blocker** | Must fix before merge | Blocks PR |
210
- | **High** | Should fix before merge | Strong recommendation |
211
- | **Medium** | Consider for follow-up | Suggestion |
212
- | **Nitpick** | Optional polish | Prefix with "Nit:" |
213
-
214
- ### Evidence-based
215
-
216
- Screenshots required for all visual issues. Reference specific viewport and state.
217
-
218
- ### Start positive
219
-
220
- Acknowledge what works well before listing issues.
221
-
222
- ## Report structure
223
-
224
- ```markdown
225
- ## Design Review Summary
226
- [Positive opening + overall assessment]
227
-
228
- ### 🚫 Blockers
229
- [Critical issues — must fix]
230
-
231
- ### ⚠️ High Priority
232
- [Significant issues — should fix]
233
-
234
- ### 💡 Suggestions
235
- [Improvements for follow-up]
236
-
237
- ### ✨ Nitpicks
238
- [Minor aesthetic details]
239
-
240
- ### Testing Evidence
241
- [Screenshots: Desktop, Tablet, Mobile]
242
-
243
- ### Next Steps
244
- 1. [Fix blockers]
245
- 2. [Address high-priority]
246
-
247
- **Overall: [Ready to merge | Needs revisions]**
248
- ```
249
-
250
-
251
- ## Visual QA with browser automation
252
-
253
- When Playwright MCP or browser tools are available, use them for automated visual verification:
254
-
255
- ### Before/After comparison
256
-
257
- 1. **Capture baseline** — screenshot before changes at all 3 viewports.
258
- 2. **Apply changes** — deploy or hot-reload.
259
- 3. **Capture after** — screenshot at the same viewports and states.
260
- 4. **Compare** — visually diff the screenshots, flag regressions.
261
-
262
- ### State-based verification
263
-
264
- Don't just screenshot the default state. Capture:
265
-
266
- | State | How to trigger |
267
- |---|---|
268
- | Empty | Remove data, check empty state UI |
269
- | Loading | Throttle network, capture skeleton/spinner |
270
- | Error | Force an error response, check error UI |
271
- | Overflow | Add very long text, many items |
272
- | Interactive | Hover, focus, open dropdowns |
273
-
274
- ### Mockup-to-code verification
275
-
276
- When implementing from a design mockup or screenshot:
277
-
278
- 1. **Open the mockup** — use the provided image/screenshot.
279
- 2. **Implement** — build the UI component.
280
- 3. **Side-by-side** — compare mockup vs. implementation at the same viewport.
281
- 4. **Flag deviations** — spacing, colors, typography, alignment differences.
282
-
283
- This is especially useful when the user provides a screenshot or Figma export as a reference.
167
+ - [`references/review-communication.md`](references/review-communication.md) — Before / After / Why output format · Communication principles · Report structure · Design Review Summary
168
+ - [`references/verification-automation.md`](references/verification-automation.md) — Visual QA with browser automation · Async-verifier pattern (keep the main context clean)
284
169
 
285
170
  ## Output format
286
171
 
@@ -297,28 +182,6 @@ This is especially useful when the user provides a screenshot or Figma export as
297
182
  - WCAG
298
183
  - responsive
299
184
 
300
- ## Async-verifier pattern (keep the main context clean)
301
-
302
- For a review that needs browser probing, use an **async background verifier**
303
- rather than self-screenshotting inline: fork a verifier subagent with its own
304
- view — it takes the screenshots, probes viewports, and checks states, then
305
- **stays silent on pass and surfaces only real, actionable problems** (never
306
- nitpicks). The main agent does not self-screenshot, so its context stays clean
307
- for the actual review reasoning. This is an orchestration pattern —
308
- dispatch it via [`subagent-orchestration`](../subagent-orchestration/SKILL.md)
309
- and position it against [`verify-repair-loop`](../verify-repair-loop/SKILL.md)
310
- (the existing verify skill); it complements them, it does not duplicate them.
311
-
312
- **Why the audit passes stay serial (not a parallel-4 fan-out).** A fan-out of
313
- a11y + slop + hierarchy + states across four subagents was evaluated and
314
- deferred: the passes share one live browser/navigation session and later phases
315
- build on state established by earlier ones, so they are not cleanly independent;
316
- and the expensive part — browser probing / screenshots — is already offloaded by
317
- the async verifier above, which captures the fan-out's main win without spinning
318
- up four separate views. Reconsider only when `design-review` runs as a standalone
319
- heavy batch over many *independent* surfaces, where per-surface
320
- `do-in-parallel` genuinely pays.
321
-
322
185
  ## Gotcha
323
186
 
324
187
  - Don't review design without understanding the user's constraints (time, resources, scope).
@@ -0,0 +1,92 @@
1
+ # design-review — review communication
2
+
3
+ > Section-level entry point of the `design-review` skill (progressive
4
+ > disclosure, 2026-08-04). Content moved VERBATIM from SKILL.md —
5
+ > load this file when the section index in SKILL.md routes here.
6
+
7
+ ## Before / After / Why output format
8
+
9
+ When reporting a finding with a specific remediation, use this table format:
10
+
11
+ | Field | Content |
12
+ |---|---|
13
+ | **Before** | The current state (quote the code, value, or describe the pattern) |
14
+ | **After** | The corrected state (specific value or alternative) |
15
+ | **Why** | The mechanism: why is Before wrong and After better? (one sentence, states the principle) |
16
+
17
+ **Wrong format** (do not use):
18
+ ```
19
+ Before:
20
+ button { transition: all 0.3s ease; }
21
+ After:
22
+ button { transition: transform 0.2s ease-out, opacity 0.2s ease-out; }
23
+ ```
24
+
25
+ **Right format:**
26
+
27
+ | | |
28
+ |---|---|
29
+ | **Before** | `transition: all 0.3s ease` |
30
+ | **After** | `transition: transform 0.2s ease-out, opacity 0.2s ease-out` |
31
+ | **Why** | `transition: all` animates layout properties on every state change, causing browser reflow; enumerate only the properties that move. |
32
+
33
+ The Why column carries the reasoning — it's the part that teaches the developer
34
+ and prevents the same finding from recurring.
35
+
36
+ ## Communication principles
37
+
38
+ ### Problems over prescriptions
39
+
40
+ Describe **what's wrong and why it matters**, not how to fix it.
41
+
42
+ ```
43
+ ❌ "Change margin to 16px"
44
+ ✅ "Spacing feels inconsistent with adjacent elements, creating visual clutter near the CTA."
45
+ ```
46
+
47
+ ### Triage matrix
48
+
49
+ Every issue gets a severity:
50
+
51
+ | Severity | Meaning | Action |
52
+ |---|---|---|
53
+ | **Blocker** | Must fix before merge | Blocks PR |
54
+ | **High** | Should fix before merge | Strong recommendation |
55
+ | **Medium** | Consider for follow-up | Suggestion |
56
+ | **Nitpick** | Optional polish | Prefix with "Nit:" |
57
+
58
+ ### Evidence-based
59
+
60
+ Screenshots required for all visual issues. Reference specific viewport and state.
61
+
62
+ ### Start positive
63
+
64
+ Acknowledge what works well before listing issues.
65
+
66
+ ## Report structure
67
+
68
+ ```markdown
69
+ ## Design Review Summary
70
+ [Positive opening + overall assessment]
71
+
72
+ ### 🚫 Blockers
73
+ [Critical issues — must fix]
74
+
75
+ ### ⚠️ High Priority
76
+ [Significant issues — should fix]
77
+
78
+ ### 💡 Suggestions
79
+ [Improvements for follow-up]
80
+
81
+ ### ✨ Nitpicks
82
+ [Minor aesthetic details]
83
+
84
+ ### Testing Evidence
85
+ [Screenshots: Desktop, Tablet, Mobile]
86
+
87
+ ### Next Steps
88
+ 1. [Fix blockers]
89
+ 2. [Address high-priority]
90
+
91
+ **Overall: [Ready to merge | Needs revisions]**
92
+ ```
@@ -0,0 +1,61 @@
1
+ # design-review — verification automation
2
+
3
+ > Section-level entry point of the `design-review` skill (progressive
4
+ > disclosure, 2026-08-04). Content moved VERBATIM from SKILL.md —
5
+ > load this file when the section index in SKILL.md routes here.
6
+
7
+ ## Visual QA with browser automation
8
+
9
+ When Playwright MCP or browser tools are available, use them for automated visual verification:
10
+
11
+ ### Before/After comparison
12
+
13
+ 1. **Capture baseline** — screenshot before changes at all 3 viewports.
14
+ 2. **Apply changes** — deploy or hot-reload.
15
+ 3. **Capture after** — screenshot at the same viewports and states.
16
+ 4. **Compare** — visually diff the screenshots, flag regressions.
17
+
18
+ ### State-based verification
19
+
20
+ Don't just screenshot the default state. Capture:
21
+
22
+ | State | How to trigger |
23
+ |---|---|
24
+ | Empty | Remove data, check empty state UI |
25
+ | Loading | Throttle network, capture skeleton/spinner |
26
+ | Error | Force an error response, check error UI |
27
+ | Overflow | Add very long text, many items |
28
+ | Interactive | Hover, focus, open dropdowns |
29
+
30
+ ### Mockup-to-code verification
31
+
32
+ When implementing from a design mockup or screenshot:
33
+
34
+ 1. **Open the mockup** — use the provided image/screenshot.
35
+ 2. **Implement** — build the UI component.
36
+ 3. **Side-by-side** — compare mockup vs. implementation at the same viewport.
37
+ 4. **Flag deviations** — spacing, colors, typography, alignment differences.
38
+
39
+ This is especially useful when the user provides a screenshot or Figma export as a reference.
40
+
41
+ ## Async-verifier pattern (keep the main context clean)
42
+
43
+ For a review that needs browser probing, use an **async background verifier**
44
+ rather than self-screenshotting inline: fork a verifier subagent with its own
45
+ view — it takes the screenshots, probes viewports, and checks states, then
46
+ **stays silent on pass and surfaces only real, actionable problems** (never
47
+ nitpicks). The main agent does not self-screenshot, so its context stays clean
48
+ for the actual review reasoning. This is an orchestration pattern —
49
+ dispatch it via [`subagent-orchestration`](../subagent-orchestration/SKILL.md)
50
+ and position it against [`verify-repair-loop`](../verify-repair-loop/SKILL.md)
51
+ (the existing verify skill); it complements them, it does not duplicate them.
52
+
53
+ **Why the audit passes stay serial (not a parallel-4 fan-out).** A fan-out of
54
+ a11y + slop + hierarchy + states across four subagents was evaluated and
55
+ deferred: the passes share one live browser/navigation session and later phases
56
+ build on state established by earlier ones, so they are not cleanly independent;
57
+ and the expensive part — browser probing / screenshots — is already offloaded by
58
+ the async verifier above, which captures the fan-out's main win without spinning
59
+ up four separate views. Reconsider only when `design-review` runs as a standalone
60
+ heavy batch over many *independent* surfaces, where per-surface
61
+ `do-in-parallel` genuinely pays.
@@ -234,6 +234,14 @@ violations will surface as new findings on every run.
234
234
  2. Verify `state.ui_audit.greenfield == true` implies `state.ui_audit.greenfield_decision` is set.
235
235
  3. Write the full object back into the state-file. Audit completes with outcome `done` — the dispatcher's audit gate now passes.
236
236
 
237
+ ## Section index — load on demand
238
+
239
+ Load on demand once the audit needs the pitfall catalog:
240
+
241
+ - [`references/anti-slop-cross-reference.md`](references/anti-slop-cross-reference.md) — Anti-slop cross-reference
242
+
243
+ - [`references/output-and-pitfalls.md`](references/output-and-pitfalls.md) — Output format · Gotcha · Anti-slop cross-reference
244
+
237
245
  ## Output format
238
246
 
239
247
  1. **`state.ui_audit.components`** — array of component/template descriptors (path, name, kind, exports)
@@ -273,33 +281,6 @@ tool produces, so the import path is uniform.
273
281
  that run are absent from the inventory the later ones are checked against.
274
282
  Adding a second component in the same run → re-read the component directories
275
283
  directly rather than trusting `state.ui_audit.components_found`.
276
-
277
- ## Anti-slop cross-reference
278
-
279
- When the audit inventory reveals an existing aesthetic direction (dominant color
280
- scheme, border-radius convention, motion patterns), cross-check the findings
281
- against
282
- [`docs/guidelines/design-antipatterns.md`](../../../docs/guidelines/design-antipatterns.md).
283
- If the existing UI already uses a listed anti-pattern, surface it as a design-debt
284
- finding (separate from the reuse inventory) — flag by entry ID and severity.
285
-
286
- **What the design step may then do depends on whose aesthetic it is.** These
287
- are two different situations and the sentence that used to cover both was
288
- wrong about one of them:
289
-
290
- | The anti-pattern lives in… | The design step may… |
291
- |---|---|
292
- | **The consumer's own legacy UI** (inventoried from the repo) | continue it for consistency, **or** propose a corrective direction change. Both are legitimate; it is their codebase and their debt. |
293
- | **A supplied spec** (a handed-over artifact, a `design-system.json`, a registered brand token) | **neither.** Build it as given. The finding is recorded as informational, marked `artifact_covered`, and no polish round acts on it. |
294
-
295
- A corrective direction change against a supplied spec is not a design
296
- improvement, it is overriding a decision the user already made — the failure
297
- [`design-fidelity`](../../rules/design-fidelity.md) exists to prevent, arriving
298
- through the audit's side door. Precedence and its exact scope:
299
- [`design-fidelity-mechanics`](../../../docs/guidelines/design-fidelity-mechanics.md)
300
- § Provided-artifact precedence. Where the two sources disagree, surface the
301
- conflict rather than picking (fixture `daf-slop-vs-provided`).
302
-
303
284
  ## Do NOT
304
285
 
305
286
  - Do NOT advance to `directives/ui/design.ts` or `apply.ts` if `state.ui_audit` is empty.
@@ -0,0 +1,31 @@
1
+ # existing-ui-audit — anti-slop cross-reference
2
+
3
+ > Section-level entry point of the `existing-ui-audit` skill (progressive
4
+ > disclosure, 2026-08-04). Content moved VERBATIM from SKILL.md —
5
+ > load this file when the section index in SKILL.md routes here.
6
+
7
+ ## Anti-slop cross-reference
8
+
9
+ When the audit inventory reveals an existing aesthetic direction (dominant color
10
+ scheme, border-radius convention, motion patterns), cross-check the findings
11
+ against
12
+ [`docs/guidelines/design-antipatterns.md`](../../../../docs/guidelines/design-antipatterns.md).
13
+ If the existing UI already uses a listed anti-pattern, surface it as a design-debt
14
+ finding (separate from the reuse inventory) — flag by entry ID and severity.
15
+
16
+ **What the design step may then do depends on whose aesthetic it is.** These
17
+ are two different situations and the sentence that used to cover both was
18
+ wrong about one of them:
19
+
20
+ | The anti-pattern lives in… | The design step may… |
21
+ |---|---|
22
+ | **The consumer's own legacy UI** (inventoried from the repo) | continue it for consistency, **or** propose a corrective direction change. Both are legitimate; it is their codebase and their debt. |
23
+ | **A supplied spec** (a handed-over artifact, a `design-system.json`, a registered brand token) | **neither.** Build it as given. The finding is recorded as informational, marked `artifact_covered`, and no polish round acts on it. |
24
+
25
+ A corrective direction change against a supplied spec is not a design
26
+ improvement, it is overriding a decision the user already made — the failure
27
+ [`design-fidelity`](../../rules/design-fidelity.md) exists to prevent, arriving
28
+ through the audit's side door. Precedence and its exact scope:
29
+ [`design-fidelity-mechanics`](../../../../docs/guidelines/design-fidelity-mechanics.md)
30
+ § Provided-artifact precedence. Where the two sources disagree, surface the
31
+ conflict rather than picking (fixture `daf-slop-vs-provided`).