“Make it look good” is the prompt equivalent of asking a waiter for “food.” You get something edible, not memorable. You can’t ask for “tinted neutrals” or “vertical rhythm” or “fluid type scale with optical sizing” if you don’t know those terms exist. The model already knows good design. The interface between developer and AI is the constraint.

The frontend-design skill proved that better prompts produce better output. Impeccable asks: what if the system itself taught you the vocabulary?

The Vocabulary Bottleneck

Three concrete gaps between what developers ask for and what the model can actually execute:

  • Color: “nice colors” vs “OKLCH tinted neutrals with warm base hue.” One gets you gray-on-white. The other gets you a cohesive palette with perceptual uniformity.
  • Typography: “good text” vs “fluid type scale with optical sizing and proper vertical rhythm.” One gets you 16px Inter. The other gets you a responsive hierarchy that breathes.
  • Spacing: “add padding” vs “8px baseline grid with optical alignment.” One gets you arbitrary values. The other gets you a system.

The model can execute all of these. It just never gets asked. The capability gap isn’t in the AI. It’s in the prompt.

What Impeccable Actually Is

Not a component library. Not a design system. A vocabulary layer that sits between developer intent and AI execution.

  • 1 enhanced skill building on Anthropic’s frontend-design (277k installs)
  • 7 reference files: typography, color (OKLCH), spatial, motion, interaction, responsive, UX writing
  • 17 slash commands as workflow: build with /frontend-design then /audit then /critique then /normalize then /polish
  • Anti-patterns list: explicit “don’t do this” guidance (Inter/Arial defaults, gray-on-color text, pure black without tinting, cards wrapping everything, bounce easing)

Works across six tools: Claude Code, Cursor, Gemini CLI, Codex CLI, Kiro, VS Code Copilot.

Anti-patterns might be the most valuable part

Telling AI what NOT to do counteracts training-data bias. Negative constraints break the default trajectory. “No Inter” forces a font choice. “No pure black” forces tinted neutrals. “No bounce easing” forces intentional motion. The model stops reaching for the median.

The Numbers

Tessl ran third-party quality benchmarks across three scenarios: revenue dashboard, landing page, task manager.

  • Aggregate score: 0.82/1.00
  • Improvement over baseline: +0.35 (1.59x multiplier)
  • OKLCH color usage: 0 to 12/12 with skill active
  • Tinted neutrals, fluid typography: near-zero to full marks

The key insight: 1.59x from a vocabulary injection, not a model upgrade. The capability was always there. The prompts weren’t specific enough to unlock it.

Who Built This

Paul Bakaus has a career pattern: he gravitates to moments when tech shifts outpace available tooling, then builds the bridge.

  • jQuery UI: the original web component library
  • First in-browser game engine (acquired by Zynga)
  • Chrome DevTools product lead at Google
  • AMP & Web Stories: love or hate it, it shipped
  • Google’s first Head of Creator Relations

New paradigm creates a capability gap. Bakaus builds the bridge. Impeccable is the same pattern applied to AI-assisted design.

You can’t request “more vertical rhythm” without knowing the phrase exists.

— Paul Bakaus

What It Doesn’t Solve

  • Vocabulary isn’t taste. Knowing “tinted neutrals” doesn’t mean knowing when to use them. The agents can’t do design systems problem is still real: visual judgment requires seeing what you built.
  • Single-generation scope. Multi-page consistency still requires your own design constraints. Each generation is independent.
  • Opinionated defaults. “No bounce easing” is Bakaus’s taste codified, not universal truth. You’re adopting his aesthetic opinions alongside his vocabulary.
  • Benchmarks test their own criteria. Tessl measured what Impeccable optimizes for. Useful signal, but somewhat circular.
  • Context cost. Seven reference files is meaningful token overhead for a quick fix. You’re paying for vocabulary you might not need on every task.

The Bigger Pattern

Vocabulary layers as a category. This connects to threads I’ve been following:

Stop Designing in Pixels” argued for shared vocabulary across platforms: tokens as nouns, patterns as verbs, vocabulary as grammar. Impeccable proves the same idea works for the developer-to-AI interface.

Agents Can’t Do Design Systems” said agents lack visual judgment. Vocabulary doesn’t give judgment, but it constrains the output space enough that judgment matters less. The distance between “good enough” and “good” shrinks when the defaults improve.

Prediction: expect vocabulary layers for every domain. Backend architecture. API design. Database schemas. Security posture. Anywhere expert knowledge compresses into terms non-experts don’t know, a vocabulary layer will bridge the gap.

I ran Impeccable’s /audit, /harden, and /optimize commands on this blog. The audit caught 18 issues I’d missed: missing alt text on hero images, no skip-to-content link, zero prefers-reduced-motion handling, no focus-visible styles, a position: fixed background gradient causing scroll repaints, and inline code that overflowed on mobile. The slash commands made the fixes systematic rather than ad hoc. That’s the vocabulary layer working as intended.

The vocabulary gap is the most underrated bottleneck in AI-assisted development. Impeccable is the first serious attempt to close it for design. The benchmarks suggest it works. Check it out at impeccable.style.