Independent guide — Impeccable is not ArtCraft. Impeccable is a design skill for coding agents by Paul Bakaus. It is not an ArtCraft product, not a Crafting App, and not made by the ArtCraft / storytold team. This page is our tutorial, not official documentation. Official sources: impeccable.style and github.com/pbakaus/impeccable.

Impeccable Skill: A Design Vocabulary for Coding Agents

Short answer: Impeccable is a free, open-source skill and CLI that gives a coding agent design commands it can act on. Install it from your project root with npx impeccable install, reload the agent, run /impeccable init, then point commands such as critique, polish and audit at one page or component at a time. It is not an ArtCraft product and not a replacement for a designer.

impeccable.stylepbakaus/impeccableOfficial docs中文指南

Checked: · Site updated: · English: this page · 中文

A guesthouse landing page built without Impeccable: cream background, thin serif headline with an italic accent, two pill buttons, and flat vector illustrations in rounded cards
The same fourteen-room guesthouse brief, built by the same model without Impeccable: the tasteful default — cream page, thin serif, italic accent, pill buttons. Image from the official pbakaus/impeccable README; it is an illustration of the design problem, not a screenshot of this site.

What Impeccable is — and what it is not

Impeccable describes itself as “the design vocabulary for your coding agent.” Instead of a vague instruction such as “make it pop,” you name a move the agent has a playbook for and point it at a target: /impeccable bolder the pricing cards, /impeccable critique the onboarding flow, or /impeccable polish settings. The skill loads guidance for that move, reads the project’s context, and works on the code. It also ships audit for technical quality, critique for scored UX review, and a detector for the visual tells that make AI-generated interfaces look generic.

It is strongest on interfaces that already exist: point it at one page or component and iterate. It can build new pages too, but the official README is candid that this is the harder mode. The project started from Anthropic’s frontend-design skill, is licensed under Apache-2.0, and is distributed as an npm package, a set of per-tool skills, and optional plugins for Claude Code, GitHub Copilot and Grok Build. Node is only needed for npx; the skill runs a self-contained engine binary beside it.

What it is not. Impeccable is not ArtCraft, not a Crafting App and not an Adobe product. It is not a standalone design canvas such as Figma, not an image generator, and not a hosted review service. It does not ship ArtCraft assets, and installing it does not install PhotoCraft, LightCraft or ArtCraft MCP. If a page bundles “Impeccable + ArtCraft” as one official product, treat that claim as wrong unless impeccable.style or getartcraft.com says otherwise.

Install Impeccable in a project

Run the installer from the project you want the agent to work on, not from a random global directory. It detects the coding tools it can see, asks whether to install for this project or globally, and offers the design hook. The README recommends accepting the hook: it is where most slop gets caught, because the detector runs during the edit instead of only when someone remembers to run it.

npx impeccable install
  1. Check the runtime. npx needs Node 18.19 or newer. The installer writes the skill into the folder your tool expects (for example .claude/skills/, .cursor/, .agents/ or .dsh/), and can install globally.
  2. Reload the coding tool. A running agent session usually will not see the new skill until the tool reloads. Then run /impeccable init — or $impeccable init on Codex — and answer its questions about audience, goals and constraints. It writes PRODUCT.md, which every later command reads.
  3. Approve the hook where required. Claude Code needs workspace trust and a look at /hooks; Codex needs the project hook approved in /hooks and again after an update that changes it; Grok Build needs /hooks-trust or --trust; Hermes Agent enables the hook as a plugin. The exact steps are in the hooks documentation.
  4. Keep it current deliberately. npx impeccable update refreshes an existing install. For scripts, the installer accepts --providers=claude,codex,cursor and --scope=project|global. If you need a pinned version for a whole team, the official README documents a git submodule plus npx impeccable link.

No Node? The official site offers ZIP builds and the repo commits each tool’s build. A manual copy gives you the skill but not the design hook or subagents; the README says to run the installer if you want those. On Claude Code you can also add the plugin marketplace: /plugin marketplace add pbakaus/impeccable.

The commands that matter: critique, polish, audit, typeset, distill

Impeccable ships 24 commands. You do not need all of them on day one. The five below cover the common loop — understand the problem, refine the details, check the implementation, then fix typography or clutter when those are the actual blockers. Invoke them as /impeccable <command> <target>; on Codex use $impeccable, and /impeccable alone lists the commands.

Impeccable commands worth learning first
CommandWhat it doesUse it when
/impeccable initReads the code and asks only what it cannot infer, then writes PRODUCT.md with audience, goals and constraints. Later commands read it.Once per project, before the first critique or build.
/impeccable critiqueA scored UX review: design quality, usability, different perspectives and a prioritized list. It also runs automated anti-pattern checks and leaves the design unchanged.A page feels generic, confusing or hard to use and you are unsure why.
/impeccable polishRefines spacing, typography, interactions, copy and states while preserving the page’s purpose and visual identity. Blocking problems come first.The direction is right but the details are not ready to ship.
/impeccable auditA technical report across accessibility, performance, theming, responsive behavior and implementation integrity, ranked P0 (blocking) to P3 (polish). No code changes.Before release, after a substantial change, or when quality is suspect.
/impeccable typesetFixes the typography system: font choices, hierarchy, size, line length, spacing and consistency across pages, including zoom and large-text behavior.Headings blend into body text, or the same role looks different page to page.
/impeccable distillSimplifies around the main task: removes repetition, combines related elements and hides occasional options until they are needed, while preserving required labels and states.The interface asks people to take in too much at once.
/impeccable hooks status|on|offShows, enables or disables the design hook for the current project. The hook runs the detector while the agent edits UI files and returns findings before the agent stops.You want automatic checks, or need to silence them for a focused run.

The rest of the roster is there when you need a narrower move: bolder, quieter, colorize, layout, animate, delight, overdrive, harden, clarify, adapt, optimize, onboard, shape, document, extract, generate, live and pin. craft is a deprecated alias for a plain build request. The official docs give each command its own page; use those for the current flag-level detail.

A practical first pass on a real page

Narrow targets get better results than asking for a whole site at once. Pick one page or component, say what must not change, and let the agent work in a branch or a local diff you can review. The sequence below is a sensible default, not a rigid pipeline.

/impeccable init
/impeccable critique the pricing page. Keep the current plan names and prices.
/impeccable polish the pricing cards. Keep the layout and brand colors.
/impeccable audit the checkout flow
/impeccable typeset the help articles
  1. Set context once. init writes PRODUCT.md; run /impeccable document if you also want the existing visual system captured in DESIGN.md so changes stay on-brand.
  2. Review before you rewrite. Run critique first and read the priority list. Ask for the fixes you agree with rather than accepting every suggestion.
  3. Polish one surface. Keep the direction; let polish fix spacing, states, focus, loading and empty states. Check the narrow viewport and keyboard path yourself.
  4. Audit before release. Fix P0 and P1 findings first. Re-run audit after the fixes; a strong score can still contain a blocking issue.

If a command asks a question that changes the design direction, answer it in the chat rather than guessing. If the output misses, give a focused correction (“the error message is clearer, but the form jumps when it appears — keep the button in place”) instead of restarting the whole page.

Impeccable and your coding agent

Impeccable is designed to sit inside the agent you already use, not beside it. It supports Claude Code, Cursor, Codex CLI, GitHub Copilot, Devin, Replit Agent, Gemini CLI, Grok Build, OpenCode, Google Antigravity, Kiro, Trae, Rovo Dev, Qoder, Mistral Vibe, Pi, Hermes Agent, DeepSeek Harness and Veto. The installer picks the build for the detected tool; the commands are the same, but the invocation and hook-trust steps differ. On Codex, for example, the syntax is $impeccable rather than a slash command.

The design hook is the part that changes day-to-day work. Without it, the detector runs only when someone remembers to run it. With it, every UI file the agent edits is scanned and the findings come back while the change is still in context. The same detector is available as a CLI for CI — npx impeccable detect src/ — and as a Chrome extension that overlays findings on any live page. It is deterministic: 62 rules, no LLM, no API key. Source files such as JSX and TSX get the pattern rules; rules that need a rendered page, such as low contrast or tiny text, need a URL or a running dev server.

The same guesthouse landing page built with Impeccable: a full-bleed engraved night scene of the villa above the sea, a condensed cream and vermilion headline, and a month strip along the bottom
Same model, same brief, with Impeccable: the page is built around one picture instead of the generic cream-and-serif default. Image from the official pbakaus/impeccable README, used here to illustrate the design vocabulary, not as a promise of a specific result.

Impeccable vs ArtCraft MCP: when to use which

These tools are easy to confuse because both are “for agents,” but they operate on different layers. Impeccable is a design skill that works on front-end source and rendered interfaces. ArtCraft MCP is the official per-app MCP/CLI surface that lets an agent drive local Crafting Apps — PhotoCraft, FigCraft, LightCraft, EffectCraft, VectorCraft and siblings — through their own servers. One shapes the interface; the other operates the content-production apps behind it.

Different jobs — do not treat one as a substitute for the other
DimensionImpeccable skillArtCraft MCP
Operates onFront-end source, components, design system, rendered pages.Local Crafting Apps through their official CLI/MCP servers (for example PhotoCraft).
OutputDesign guidance, prioritized critique and audit findings, edited UI code.App actions: image edits, exports, automation and project operations.
Use whenThe UI looks generic, the hierarchy is weak, or you need an accessibility and quality pass before shipping.An agent needs to produce, edit or export assets in a Crafting App on your machine.
Not the same asFigma, a design canvas, an image generator or official ArtCraft docs.A design review skill, or the community “artcraft-mcp” subscription API projects.

A combined workflow is reasonable: use Impeccable to design and audit the marketing or product UI, and use ArtCraft MCP to automate the image or video assets that UI needs. Keep the credentials, permissions and review boundaries separate. For the official MCP/CLI setup, see ArtCraft MCP and the Crafting Apps hub. Do not install a community “all-in-one” bundle that claims to merge the two.

Detector, CLI and CI

The detector is useful even if you never use a slash command. It scans source or a rendered page and reports findings with rule IDs; --json gives machine-readable output and --github prints GitHub Actions annotations. --list-rules prints every rule without scanning. Exit code 2 means findings were reported; exit code 1 means a target could not be scanned, which is a different failure and should not be treated as a clean pass.

npx impeccable detect src/
npx impeccable detect https://example.com
npx impeccable detect --json .
npx impeccable detect --github src/
npx impeccable detect --list-rules

To allow a brand font globally, the README shows npx impeccable ignores add-value overused-font Inter --reason "Brand font". To disable a rule for one file, add a comment such as <!-- impeccable-disable overused-font: exported brand doc -->. Treat these as code changes: review them, keep them narrow, and do not silence a rule just because the report is noisy.

Safety, scope and limits

Install only from the official npm package or the official repository. The installer can write hooks that run outside the model’s own approval flow — in Claude Code, command hooks run even when you deny the model’s commands — so review the hook entries before unattended runs. If you do not want hooks for a particular run, the README documents passing --settings with disableAllHooks: true to turn them off for that run.

Live mode is a local development tool. It edits a local checkout, and the README explicitly says not to inject it into a deployed site or weaken a production CSP to make it work. Applying copy edits can run your project’s optional impeccable:manual-edit-validate script with your permissions, so review that script before using live mode in an unfamiliar repository. Telemetry is on by default for the visual-direction catalog; it does not send your project name, files, code or PRODUCT.md, and you can disable it with npx impeccable telemetry off, DO_NOT_TRACK=1, or a project setting. Read the official privacy page for the current list.

Finally, Impeccable is a fast-moving third-party project. Commands, flags and integrations can change after this page’s check date. Use the official docs and changelog for the version you actually install, and pin a version if your team depends on a specific workflow. This guide does not reproduce the whole command reference and is not a substitute for the official documentation.

Who should use Impeccable

Related pages

Impeccable skill FAQ

What is the Impeccable skill?

Impeccable is an open-source design skill and command-line tool for AI coding agents, created by Paul Bakaus. It gives an agent a shared design vocabulary — commands such as critique, polish, audit, typeset and distill — plus a deterministic detector for common AI-generated interface patterns. It is not a standalone design app and it does not generate images. Official site: impeccable.style; source: github.com/pbakaus/impeccable.

Is Impeccable part of ArtCraft or Open Creative Apps?

No. Impeccable is not an ArtCraft product, not a Crafting App, and not made by the ArtCraft / storytold team. Open Creative Apps is an independent guide that also covers ArtCraft; this page is our tutorial, not Impeccable’s official documentation. The only official Impeccable sources are impeccable.style, its docs and github.com/pbakaus/impeccable. Do not download “Impeccable for ArtCraft” bundles — no such official product exists.

How do I install Impeccable?

From your project root, run npx impeccable install. The installer detects your coding tools, asks whether to install for this project or globally, and offers the design hook where your tool supports one. Accept the hook, reload your coding tool, then run /impeccable init in the agent ($impeccable init on Codex). npx needs Node 18.19 or newer; the skill itself runs a self-contained engine binary. Use npx impeccable update to refresh an existing install.

What is the difference between critique, polish and audit?

critique is a scored UX review: it explains what is holding the design back and what to fix first, and leaves the code unchanged. polish is the final refinement pass over spacing, typography, interactions and copy while preserving the existing direction. audit is a technical quality report covering accessibility, performance, theming, responsive behavior and implementation integrity, ranked P0 to P3. Use critique to find direction, polish to finish, and audit before release.

Which coding agents does Impeccable work with?

The official README lists Claude Code, Cursor, Codex CLI, GitHub Copilot, Devin, Replit Agent, Gemini CLI, Grok Build, OpenCode, Google Antigravity, Kiro, Trae, Rovo Dev, Qoder, Mistral Vibe, Pi, Hermes Agent, DeepSeek Harness and Veto. Most tools use the slash command /impeccable; Codex uses $impeccable. Some tools need the hook trusted separately (for example /hooks in Codex, or `hermes plugins enable impeccable-design-hook`). Check the current docs for your tool rather than assuming every integration is identical.

Does Impeccable need an API key or a paid subscription?

No. Impeccable is Apache-2.0 licensed and free to use. Its detector is deterministic — 62 rules, no LLM and no API key — and runs in your agent, in a terminal, in CI or as a browser extension. The design commands run through the coding agent you already use, so you pay for that agent, not for an Impeccable subscription. Optional image generation for a comp-first workflow uses your tool’s image capability or your own OpenAI key, not a required Impeccable plan.

What do the /impeccable hooks commands do?

The design hook runs the detector while your agent edits UI files and returns findings before the agent calls the work done. Inside the agent, /impeccable hooks status shows whether it is on for the project, and /impeccable hooks on or /impeccable hooks off toggles it. Your coding tool must also allow hooks: accept workspace trust in Claude Code, review hooks in Codex or Cursor, and commit the Copilot hook file if your team uses Copilot. Hook setup is documented at impeccable.style/docs/hooks.

When should I use Impeccable instead of ArtCraft MCP?

Use Impeccable when the work is the interface itself: a page, component, design system or responsive layout in your front-end source. Use ArtCraft MCP when an agent needs to drive a local Crafting App — for example PhotoCraft for layered image edits or LightCraft for RAW development — through that app’s official CLI/MCP server. They solve different layers and can be complementary: Impeccable reviews the UI, ArtCraft MCP produces or edits the assets. Neither one is a replacement for the other, and community “artcraft-mcp” subscription APIs are a third, separate thing.

Is Impeccable safe to install?

Install only from the official npm package `impeccable` (npx impeccable install) or from github.com/pbakaus/impeccable. Read the installer’s hook changes before approving them: in Claude Code, command hooks can run even when you deny the model’s own commands, so review them for unattended runs. Live mode edits a local checkout only; do not inject it into a deployed site or weaken a production CSP. Telemetry can be disabled with npx impeccable telemetry off, DO_NOT_TRACK=1, or a project config flag. As with any third-party tool, pin versions and review updates.

Does Impeccable replace a designer or Figma?

No. Impeccable gives an agent better design judgment and a repeatable review vocabulary; it does not remove the need for a human with taste, product context and accountability. It is strongest on interfaces that already exist, where you can point it at a page or component and iterate. For new work, the official docs describe comp-led and code-led paths, but the output still needs a person to decide what “good” means for the product. Treat its scores as a structured second opinion, not a guarantee.

Independent disclaimer

Open Creative Apps (opencreativeapps.com) is an independent guide and small orchard for the ArtCraft Crafting Apps. This page is also independent of Impeccable. We are not ArtCraft, not the ArtCraft / storytold team, not getartcraft.com, not Paul Bakaus and not impeccable.style. We do not maintain Impeccable, sell it, or speak for its authors. “Impeccable” and related names belong to their respective owners and are used here for identification only. The official site is impeccable.style; the source is github.com/pbakaus/impeccable. If a page claims to be the official Impeccable site and is not one of those domains, it is not official.

Commands, versions and integrations can change after publication. Re-check the official docs and repository before adopting a workflow, and keep the version you installed in your own notes if you support a team.

Sources

Every fact on this page comes from the pages below, checked on 3 November 2026.