Impeccable Design Guardrails
Purpose
Every model trained on the same SaaS templates converges on the same tells: Inter for
everything, purple-to-blue gradients, cards nested in cards, gray text on colored
backgrounds, a rounded-square icon tile above every heading, bounce/elastic easing.
This skill encodes the Impeccable anti-pattern checklist so those tells get caught
during generation/review, without requiring the full CLI+hook toolchain to be installed
in every project.
When to activate
- Building or editing visual UI: landing pages, marketing sites, dashboards, new
components, design-system tokens.
- User asks for a design critique/polish/audit ("make this look better", "review the
UX", "does this look AI-generated"), or explicitly names an Impeccable-style command
(
audit, critique, polish, distill, harden, bolder, quieter, colorize,
typeset, layout, animate).
- Does not activate for backend-only, CLI, or non-visual work.
Anti-patterns to catch (condensed from the 46 detector rules)
- Typography: default/overused fonts (Arial, unconfigured system fonts, Inter used
everywhere with no intent); skipped heading levels; line length too long/short for
body text.
- Color: purple-to-blue gradients as a default; gray text on colored backgrounds;
pure black/white (
#000/#fff) instead of tinted near-black/near-white; low-contrast
text.
- Layout/components: cards nested inside cards; a rounded-square icon tile above
every section heading; cramped padding; inconsistent spacing scale; small touch
targets (<44px) on interactive elements.
- Motion: bounce/elastic easing (reads as dated); motion with no purpose.
- Structure: side-tab borders as a lazy nav pattern; dark glow shadows used
decoratively rather than for elevation.
Workflow
- Context first. If the project has
DESIGN.md or PRODUCT.md (from a real
Impeccable install, or hand-written), read it for audience, brand lane, voice,
color/type/component decisions — do not invent a design system from scratch when
one already exists.
- Shape before build for new UI: state the audience/lane (brand vs product
surface), then propose layout/type/color before writing markup, mirroring
/impeccable shape.
- Build using the active stack skill (
vanilla-web, next-stack, etc.) — this
skill supplies the design lens, not the implementation mechanics.
- Self-review against the checklist above before marking UI work done — this
replaces
/impeccable audit/critique/polish when the CLI isn't installed.
- Harden: error/empty/loading states, text overflow, i18n-safe spacing, responsive
behavior — mirrors
/impeccable harden.
Install (opt-in, per project — do not run without asking)
Impeccable's own CLI adds a live browser-iteration mode, 46 deterministic (no-LLM)
detector rules, and a Cursor-native hook that blocks bad writes before they land
(.cursor/hooks.json → .cursor/skills/impeccable/scripts/hook-before-edit.mjs).
Suggest this when a project does sustained frontend work and the user wants automated
enforcement, not just review-time guidance:
npx impeccable install # detects .cursor/.claude/.codex etc.; asks project vs global scope
/impeccable init # inside the AI tool: writes PRODUCT.md / DESIGN.md
Requirements specific to Cursor: Nightly channel (Settings → Beta) and Agent Skills
enabled (Settings → Rules) — Cursor's stable channel does not run Agent Skills yet.
Confirm with the user before running npx impeccable install (network + writes
.cursor/hooks.json, .cursor/skills/impeccable/); this is a per-project decision,
not something to vendor into the global config repo.
Output contract
- For review/critique: a findings list grouped by the anti-pattern categories above,
each with file/selector and a concrete fix (not just "improve this").
- For new UI: the design rationale (audience, lane, key decisions) alongside the code.
- Do not claim a
/impeccable <command> ran unless the CLI is actually installed in
the project — otherwise say "checklist applied manually" instead.
1---2name: impeccable-design3description: Apply frontend/UI design guardrails and the Impeccable anti-pattern checklist (pbakaus/impeccable) when building or reviewing visual UI — landing pages, dashboards, marketing sites, component styling. Use for design critique, polish passes, or before shipping new UI; pairs with vanilla-web/next-stack (implementation) rather than replacing them.4---5
6# Impeccable Design Guardrails
7
8## Purpose
9Every model trained on the same SaaS templates converges on the same tells: Inter for
10everything, purple-to-blue gradients, cards nested in cards, gray text on colored
11backgrounds, a rounded-square icon tile above every heading, bounce/elastic easing.
12This skill encodes the Impeccable anti-pattern checklist so those tells get caught
13during generation/review, without requiring the full CLI+hook toolchain to be installed
14in every project.
15
16## When to activate
17- Building or editing visual UI: landing pages, marketing sites, dashboards, new
18 components, design-system tokens.
19- User asks for a design critique/polish/audit ("make this look better", "review the
20 UX", "does this look AI-generated"), or explicitly names an Impeccable-style command
21 (`audit`, `critique`, `polish`, `distill`, `harden`, `bolder`, `quieter`, `colorize`,
22 `typeset`, `layout`, `animate`).
23- Does **not** activate for backend-only, CLI, or non-visual work.
24
25## Anti-patterns to catch (condensed from the 46 detector rules)
26- **Typography:** default/overused fonts (Arial, unconfigured system fonts, Inter used
27 everywhere with no intent); skipped heading levels; line length too long/short for
28 body text.
29- **Color:** purple-to-blue gradients as a default; gray text on colored backgrounds;
30 pure black/white (`#000`/`#fff`) instead of tinted near-black/near-white; low-contrast
31 text.
32- **Layout/components:** cards nested inside cards; a rounded-square icon tile above
33 every section heading; cramped padding; inconsistent spacing scale; small touch
34 targets (<44px) on interactive elements.
35- **Motion:** bounce/elastic easing (reads as dated); motion with no purpose.
36- **Structure:** side-tab borders as a lazy nav pattern; dark glow shadows used
37 decoratively rather than for elevation.
38
39## Workflow
401. **Context first.** If the project has `DESIGN.md` or `PRODUCT.md` (from a real
41 Impeccable install, or hand-written), read it for audience, brand lane, voice,
42 color/type/component decisions — do not invent a design system from scratch when
43 one already exists.
442. **Shape before build** for new UI: state the audience/lane (brand vs product
45 surface), then propose layout/type/color before writing markup, mirroring
46 `/impeccable shape`.
473. **Build** using the active stack skill (`vanilla-web`, `next-stack`, etc.) — this
48 skill supplies the design lens, not the implementation mechanics.
494. **Self-review against the checklist above** before marking UI work done — this
50 replaces `/impeccable audit`/`critique`/`polish` when the CLI isn't installed.
515. **Harden**: error/empty/loading states, text overflow, i18n-safe spacing, responsive
52 behavior — mirrors `/impeccable harden`.
53
54## Install (opt-in, per project — do not run without asking)
55Impeccable's own CLI adds a live browser-iteration mode, 46 *deterministic* (no-LLM)
56detector rules, and a Cursor-native hook that blocks bad writes before they land
57(`.cursor/hooks.json` → `.cursor/skills/impeccable/scripts/hook-before-edit.mjs`).
58Suggest this when a project does sustained frontend work and the user wants automated
59enforcement, not just review-time guidance:
60
61```bash
62npx impeccable install # detects .cursor/.claude/.codex etc.; asks project vs global scope
63/impeccable init # inside the AI tool: writes PRODUCT.md / DESIGN.md
64```
65
66Requirements specific to Cursor: Nightly channel (Settings → Beta) and Agent Skills
67enabled (Settings → Rules) — Cursor's stable channel does not run Agent Skills yet.
68Confirm with the user before running `npx impeccable install` (network + writes
69`.cursor/hooks.json`, `.cursor/skills/impeccable/`); this is a per-project decision,
70not something to vendor into the global config repo.
71
72## Output contract
73- For review/critique: a findings list grouped by the anti-pattern categories above,
74 each with file/selector and a concrete fix (not just "improve this").
75- For new UI: the design rationale (audience, lane, key decisions) alongside the code.
76- Do not claim a `/impeccable <command>` ran unless the CLI is actually installed in
77 the project — otherwise say "checklist applied manually" instead.