Why every AI-built site looks the same
Ask a model to be creative and it builds its favorite idea. Every single run.
Same italic serif. Same cream background. Same purple gradient. Same three cards in a row with a glow behind them. Impeccable's creator calls these “tells,” and once you see them you can't unsee them.
It's not that the model has bad taste. It's that with no direction, it falls back to the safest thing in its training data. And the safest thing is what everyone else already shipped.
“Make it better” is not direction.It's a coin flip.
What Impeccable actually is
A free, open-source skill built by Paul Bakaus. About 60,000 stars on GitHub. Apache 2.0 license, so you can use it for client work.
It started from Anthropic's own frontend-design skill and went several steps further. It is not a template pack. There are no pre-made components to drop in. What you get is three things:
It works in Claude Code, Cursor, Codex, Gemini CLI, GitHub Copilot, and about 13 tools total.
The real problem it solves: you don't have the words
This is the part most people miss.
When a designer looks at your page, they don't say “make it better.” They say the type hierarchy is flat, the vertical rhythm is broken, the whole thing is monochrome and needs one accent doing real work.
You don't talk like that. So you type “make it pop” and get noise. The 23 commands are those words, handed to you.
The docs site shows a before-and-after image for each one. Worth 5 minutes of scrolling just to learn what the words mean. That alone will make you better at directing any AI.
Live mode: the feature that changes the workflow
This is the headline. It landed in version 4 and it works like a visual editor bolted onto Claude.
Here's the actual loop:
- You have your site running locally. The normal npm run dev situation.
- You type /impeccable live in Claude Code.
- Impeccable injects a picker into your page in the browser.
- You click any element. A headline, a card, a whole section.
- You pick an action from the panel (bolder, quieter, typeset, colorize) or just type what you want in plain English.
- It generates 3 variants and hot-swaps them into the live page. You flip through them with arrows. No rebuild, no refresh.
- Some variants come with sliders and toggles. Drag the accent amount, flip density from tight to airy, watch it change in real time.
- Hit accept and it writes the winner into your actual source files. Slider values included, baked into real CSS.
The part people miss: you can also draw on the element before you hit go. Circle the thing you hate, draw an arrow, cross something out. It reads the annotation and generates against it.
The detector: 59 rules that catch slop before you ship
Separate from the commands, Impeccable ships a scanner.
It catches AI-specific tells like purple gradients, radial glow halos, “AI beige,” italic serif headlines, ghost cards, bounce easing, blinking terminal cursors, and fake hero art made of stock geometric shapes.
It also catches normal quality problems: failing contrast, line length, touch targets too small, skipped heading levels, text overflowing its column.
Two things worth knowing:
- It runs locally. No API key, no tokens burned, no data leaving your machine.
- You can turn on a hook so it runs automatically every time Claude edits a UI file and reports back what it broke.
The hook is smart about it. Nagging on every edit made models play it safe, so per-edit checks only flag things that are objectively broken. The full sweep runs once when the work is done.
Getting it on your machine
You don't need to know any commands for this. Open Claude Code or Codex in your project and just tell it, in plain English:
That's it. It goes and gets it, figures out which tool you're running, and installs the right version for you. Same sentence works in Cursor and Gemini CLI.
Already on GitHub Copilot?It's built in. Skip the install and turn it on under Settings, then Experimental.
If you like doing things yourself, the one-line terminal version is npx impeccable install. But you don't need it. Talking to Claude is the whole point.
The exact three commands to run first
Don't start with live. Start here, in this order.
One more thing v4 does that nobody talks about
When you ask for a new page, v4 doesn't let the model pick its own favorite direction anymore.
It rolls an outside seed and deals 188 human-reviewed design directionsas challengers against whatever the model came up with. The model's idea has to beat them on merit. Every roll prints a key so you can reproduce it, and you can re-roll as many times as you want.
That's the actual fix for sameness. Not better prompting. Removing the model's ability to default.
When to skip it
Straight talk so you don't waste time.