What it is and why it matters
You open your site and you can tell right away: AI made it. Inter everywhere, a purple-to-blue gradient, cards inside other cards, gray text on a colored background. The Impeccable README lists these as the tells that show up in every project: every AI model learned from the same cookie-cutter sites.
Impeccable is there to remove them. It's a skill, a package of instructions for Claude Code, with 24 commands that become a shared vocabulary between you and it. On top of that there's a detector with 62 fixed rules that runs with no AI and no API keys. It's open source on GitHub, under the Apache 2.0 license, with more than 90,000 stars at the end of October.
It's for people who build alone with Claude Code, without a designer. To design a brand-new page from scratch there's another guide, GUSTO. This one starts from a different question: you already have the site, so how do you take the AI look off it?
1. What you need and how to install it in Claude Code
You need Claude Code, the project folder and a recent version of Node.js, the program that runs npx (check with node -v in the terminal). Then:
- From your project's root folder, run the installer, the line below.
- Pick the tools you use from the ones it finds, for example Claude Code, and whether to install it in this project or in all of them.
- When it offers the automatic check on every edit, say yes: we'll look at it in step 5.
- Restart Claude Code so it loads the skill.
npx impeccable install
Alternatively there's the plugin: in Claude Code type /plugin marketplace add pbakaus/impeccable, then open /plugin, install Impeccable from Discover and restart. I use the installer: it's the route the README recommends, and the automatic check comes with it.
2. The first command: /impeccable init
Every command goes through /impeccable. You type the first one, once per project, in the Claude Code chat:
/impeccable init
First it reads the project: docs, features, code, images. Then it asks only for what's missing: who the product is for, what situation they use it in, what it's for, which constraints to respect. And it has you confirm what it figured out on its own.
Then it writes PRODUCT.md, a text file in the project, with the facts you agreed on and the open decisions. It matters because every command starts from there and knows who the page is talking to, instead of guessing. Reread it and correct it; if the product changes, run init again.
If the site already has a style of its own, also type /impeccable document: it records it in DESIGN.md, and the detector checks that your pages don't drift away from it.
3. Check your site in a minute, with no AI
The part I like best: the detector runs from the terminal, with no Claude and no keys. Instead of src/, put your code folder, a file or an address, even http://localhost:3000. For addresses it uses Chrome, Chromium or Edge; with --viewport 390x844 you look at the page at phone size.
npx impeccable detect src/
- It finds the AI tells: purple gradients, text filled with a gradient, dark glows, bouncing animations, the overused font.
- And quality problems: lines that are too long, cramped spacing, buttons too small to tap, headings that skip a level.
Look at the number it exits with: 0, no primary problems; 2, problems found; 1, there was something it couldn't check, so the check failed. With --json you get the results in a format Claude reads instantly; --list-rules shows you every rule.
And remember what the README says: a clean check is evidence, not proof. Those rules found nothing, but open the page anyway, on a phone too.
4. The five commands to use first on the page you already have
You type them in the Claude Code chat: /impeccable, the command and what to look at, in plain words. Replace the parts in [ ] with yours.
critique: what's holding it back
A design review: where the page feels generic or confusing and what to fix first. It changes nothing, it gives you a report.
/impeccable critique the home page. Whoever lands here should [download the app]. Tell me what makes it look AI-made and what you would fix first.
audit: the technical checks
Accessibility, speed, themes, phones. Every problem gets a priority from P0, blocking, to P3, polish. Audit leaves the code as it is too.
/impeccable audit the pricing page. For each problem tell me who it hurts and how to fix it. Don't change anything yet.
distill: cut what isn't needed
It removes what gets in the way of the main action: repeated information, decoration that says nothing. If the main action isn't clear, it asks you first.
/impeccable distill the home page. The main action is [joining the waitlist]. Remove the cards inside cards, keep [the prices].
typeset: the type
Heading hierarchy, sizes, line length. It keeps the fonts you have unless you ask to change them: if Inter came by default, tell it.
/impeccable typeset the whole site. The current font is a default, not a brand choice: suggest an alternative that suits [who uses the product].
polish: the final pass
It refines a page whose direction is already right: missing states, spacing, alignment. It changes the code, so look at the changes. If it's the direction that's wrong, ask for a redesign.
/impeccable polish the signup page. Keep the layout and the brand colors. When you're done, tell me what you changed and run npx impeccable detect again.
5. The automatic check on every edit
With the installer, Claude Code gets two hooks, commands that run on their own. After every edit to an interface file, a quick check looks for broken images, overflowing text, glows; at the end of the turn a broader one looks at the files touched. What it finds goes back to Claude, which fixes it or explains the choice. You can see them with /hooks.
- /impeccable hooks status tells you whether it's on; /impeccable hooks off turns it off, /impeccable hooks on turns it back on.
- npx impeccable install --no-hooks installs without the hook, just that one time.
- /impeccable doctor checks that it's installed properly: if it stays silent, it might just be off.
And what if Inter really is your font? Tell it once: the rule stays on for the other fonts, and the exception applies to both the hook and detect.
npx impeccable ignores add-value overused-font Inter --reason "Brand font"
Common mistakes
- Trusting a clean detect. It's evidence, not proof: open the page and ask for a critique.
- Using polish to change direction. Polish refines, it doesn't redesign.
- Turning everything off because of one font. Add the exception with ignores add-value and keep the other rules.
- Committing the whole .impeccable/ folder to git, screenshots and temporary files included. Copy the README's block into your .gitignore.
Checklist
- After the restart, Claude Code sees /impeccable
- PRODUCT.md exists and I've reread and corrected it
- npx impeccable detect on my code exits with 0
- /impeccable hooks status says the automatic check is on
Frequently asked questions
Is Impeccable free?
Yes, it's open source under the Apache 2.0 license, and the detector runs on your computer with no keys. The commands inside Claude Code are carried out by Claude, so they use up your usage like any other request.
Does it change my code on its own?
It depends on the command: critique and audit only produce the report, polish works on the files. The hook fixes nothing by itself: it reports what it finds to Claude.
Does it work with Cursor or Codex?
Yes, the installer also works with Cursor, Codex, GitHub Copilot, Gemini CLI and others. In Codex, after installing, open /hooks and approve the project hook.
Does my data go anywhere?
The detector runs locally and sends no files or results to Impeccable's servers. When a new design starts, unless you turn it off, it sends an anonymous record of the visual direction chosen. Your project name, files, code and PRODUCT.md are never sent. To turn it off: npx impeccable telemetry off, or DO_NOT_TRACK=1.