Impeccable: A Design Language and Deterministic Rule Engine for AI Coding Agents
Impeccable is an open-source design skill by Paul Bakaus that targets the sameness problem in AI-generated frontends — default Inter type, purple-to-blue gradients, cards nested in cards — produced because every model trains on similar web data. Building on Anthropic's frontend-design skill, it separates durable product context (PRODUCT.md) from visual direction (DESIGN.md), and ships 24 commands spanning planning, building, critique, and hardening alongside 61 deterministic detector rules that run in the CLI and a browser extension without any LLM or API key, gathering over 74,000 GitHub stars.
Background and Problem Definition
Every large language model used for coding is trained on roughly the same corpus of public web code: the same component libraries, the same SaaS marketing sites, the same Dribbble-adjacent Tailwind templates. The predictable result is that AI-generated frontends converge on a narrow set of visual habits regardless of which model produced them — Inter as the default typeface, a purple-to-blue gradient hero, cards nested inside cards, pale gray text sitting on a colored background, and a rounded-square icon tile floating above every section heading.
These are not bugs in any single model; they are statistical artifacts of training data that no amount of prompt engineering reliably removes, because the model has no persistent memory of what it shipped yesterday and no mechanism to check its own output against a rule book. Anthropic's frontend-design skill was the first widely adopted attempt to give a coding agent explicit design guidance rather than leaving aesthetic judgment to chance. Impeccable, created by Paul Bakaus, starts from that foundation and treats the underlying problem as a workflow and tooling gap rather than a single skill file: agents need durable product context that persists across sessions, a shared vocabulary for requesting changes, and a way to verify the result without relying on the same model's self-assessment.
Architectural Core and Technical Principles
Impeccable installs as a single skill invoked with `/impeccable`, but the real architecture lives in the separation between two documents and two layers of checking. `PRODUCT.md`, written once by `/impeccable init`, captures durable product truth — audience, purpose, operating context, constraints, voice, and evidence — deliberately kept apart from surface-level visual direction, which is chosen per surface and recorded separately in `DESIGN.md` once a visual system exists or is built.
On top of that foundation sit 24 commands that map to distinct phases of a design workflow: `shape` and `craft` for planning and building, `critique` and `audit` for review, `polish`, `harden`, and `onboard` for production readiness, and expressive dial commands — `bolder`, `quieter`, `distill`, `animate`, `colorize`, `overdrive` — for tuning intensity without re-litigating the whole design. The second layer is 61 deterministic detector rules that run with no LLM and no API key, in both the CLI and a companion browser extension, so a check for contrast ratios, spacing rhythm, or font-pairing violations produces the same answer every time instead of a probabilistic judgment that can drift between runs or models.
Practical Evaluation and Applications
In practice, a project adopts Impeccable by running `npx impeccable install` once and `/impeccable init` at the start of each new effort; the setup step asks only about gaps in the durable product context instead of re-interviewing the team on facts already on record.
From there, `/impeccable craft` runs a full shape-then-build loop with live browser iteration, so the agent can see its own rendered output and correct it before handing control back. The review commands are where the deterministic rules matter most: `/impeccable audit` runs the 61-rule technical pass — accessibility, performance, responsiveness — while `/impeccable critique` stays qualitative, judging hierarchy, clarity, and emotional resonance the way a design lead would in a crit session. `/impeccable document` and `/impeccable extract` close the loop by generating `DESIGN.md` from existing code and pulling reusable components and tokens into a shared system, which matters for teams that adopt Impeccable on a codebase that already has an established, if undocumented, visual language.
Industry Impact and Outlook
Impeccable's more than 74,000 stars in a short span signal how acutely teams feel the sameness problem once agentic coding tools write most of the frontend code themselves. Its real contribution is less the individual commands than the insistence that design quality checking for AI output needs the same rigor as test suites: deterministic, repeatable, and runnable without a model in the loop for the parts that do not require judgment.
That split — LLM-only critique for the subjective half, deterministic rules for the checkable half — is the template most follow-on tooling in this space is likely to copy, because it is the only approach that scales past the inconsistency of asking the same model that wrote the code to also grade it. The open question is how far 61 rules can travel as design trends shift; a rule set tuned against today's "AI tells" will need the same maintenance discipline as any linter configuration, or it will simply chase yesterday's gradient while agents find tomorrow's default.
Sources
FAQ
How does Impeccable relate to Anthropic's frontend-design skill?
Impeccable, built by Paul Bakaus, explicitly starts from Anthropic's frontend-design skill and extends it with a PRODUCT.md/DESIGN.md separation, 24 workflow commands, and 61 deterministic detector rules.
Why do the 61 detector rules avoid using an LLM?
They check objectively verifiable issues like contrast ratios, spacing rhythm, and font-pairing violations, so running them deterministically guarantees the same result every time instead of a probabilistic judgment that can drift between models or runs.
What is the difference between PRODUCT.md and DESIGN.md?
PRODUCT.md holds durable product facts that persist across sessions — audience, purpose, constraints, and voice — while DESIGN.md records the visual direction chosen per surface once a visual system exists, kept deliberately separate from product truth.