Repository iconcurepo.dev
impeccable preview

pbakaus / impeccable

design-systemsai-harnessdeveloper-toolsdesign

A design language and toolkit intended to improve the visual-design output of AI coding harnesses.

82.9k Stars
visibility224 Watchers
fork_right5k Forks
Rust
historyUpdated recently

description README.md

Impeccable

Design guidance for AI coding agents. 1 skill, 24 commands, live browser iteration, and 61 deterministic detector rules for AI-generated frontend design.

Quick start: From your project root, run npx impeccable install, then run /impeccable init inside your AI coding tool. Full docs: impeccable.style.

Why Impeccable?

Anthropic's frontend-design was the first widely-used design skill for Claude. Impeccable started from there.

Every model trained on the same SaaS templates. Skip the guidance and you get the same handful of tells on every project: Inter for everything, purple-to-blue gradients, cards nested in cards, gray text on colored backgrounds, the rounded-square icon tile above every heading.

Impeccable adds:

  • One setup flow. /impeccable init records durable product truth in PRODUCT.md, so later commands know the audience, purpose, operating context, constraints, voice, and evidence without confusing those facts with surface-level visual direction.
  • 24 commands. A shared design vocabulary with your AI: polish, audit, critique, distill, animate, bolder, quieter, and more.
  • 61 deterministic detector rules plus LLM-only critique checks. The CLI and browser extension run the deterministic rules with no LLM and no API key.

What's Included

The Skill: impeccable

The skill installs as one command:

/impeccable <command> <target>

Start every new project with:

/impeccable init

init inspects the project, asks only for material gaps in durable product truth, and writes PRODUCT.md. Visitor mode and visual direction are chosen later for each surface; incumbent or newly built visual systems are recorded separately in DESIGN.md.

24 Commands

All commands are accessed through /impeccable:

CommandWhat it does
/impeccable craftFull shape-then-build flow with visual iteration
/impeccable initOne-time setup: gather durable product context, write PRODUCT.md, configure live mode when applicable, recommend next steps
/impeccable documentGenerate root DESIGN.md from existing project code
/impeccable extractPull reusable components and tokens into the design system
/impeccable shapePlan UX/UI before writing code
/impeccable critiqueUX design review: hierarchy, clarity, emotional resonance
/impeccable auditRun technical quality checks (a11y, performance, responsive)
/impeccable polishFinal pass, design system alignment, and shipping readiness
/impeccable bolderAmplify boring designs
/impeccable quieterTone down overly bold designs
/impeccable distillStrip to essence
/impeccable hardenError handling, i18n, text overflow, edge cases
/impeccable onboardFirst-run flows, empty states, activation paths
/impeccable animateAdd purposeful motion
/impeccable colorizeIntroduce strategic color
/impeccable typesetFix font choices, hierarchy, sizing
/impeccable layoutFix layout, spacing, visual rhythm
/impeccable delightAdd moments of joy
/impeccable overdriveAdd technically extraordinary effects
/impeccable clarifyImprove unclear UX copy
/impeccable adaptAdapt for different devices
/impeccable optimizePerformance improvements
/impeccable liveVisual variant mode: iterate on elements in the browser
/impeccable generateGenerate variants of a named element in the live browser, no manual picking

Use /impeccable pin <command> to create standalone shortcuts (e.g., pin audit creates /audit).

Usage Examples

/impeccable audit blog           # Audit blog hub + post pages
/impeccable critique landing     # UX design review
/impeccable polish settings      # Final pass before shipping
/impeccable harden checkout      # Add error handling + edge cases

Or use /impeccable directly with a description:

/impeccable redo this hero section

Anti-Patterns

The skill includes explicit guidance on what to avoid:

  • Don't use overused fonts (Arial, Inter, system defaults)
  • Don't use gray text on colored backgrounds
  • Don't use pure black/gray (always tint)
  • Don't wrap everything in cards or nest cards inside cards
  • Don't use bounce/elastic easing (feels dated)

See It In Action

Visit the Neo Mirai case study to see a before/after case study of a real project transformed with Impeccable commands.

Installation

The skill needs no runtime of its own. Every skill copy ships a small launcher (scripts/impeccable, plus impeccable.cmd for Windows) that runs the Impeccable engine, a self-contained binary that either sits next to the launcher or is downloaded once on first run into ~/.impeccable/bin/. Node is only involved if you use the npx impeccable installer, which is a shim around the same binary; the manual and Git options below work without it.

Option 1: CLI installer (Recommended)

From the root of your project, run:

npx impeccable install

This shows the harness folders or installed CLIs it detected (for example ~/.claude, ~/.codex, ~/.grok, ~/.hermes, ~/.veto, or project-local .cursor), lets you keep the detected set or customize providers, then asks whether to install into the current project or globally. Use --providers=claude,codex,cursor,grok,hermes,veto and --scope=project|global to skip those choices in scripts. On Claude Code, Cursor, Codex, GitHub Copilot, and Grok Build, it also installs the provider-native hook manifest for the current project. Veto receives the packaged skill under ~/.veto/skills/ and does not run native Impeccable edit hooks. Works with Cursor, Claude Code, Gemini CLI, Codex CLI, Grok Build, Hermes Agent, Veto, and every other supported tool. Reload your harness afterward.

To refresh an existing install, run:

npx impeccable update

Codex users should open /hooks after install or update and approve the project hook when prompted. Codex tracks trust by hook definition, so updates that change .codex/hooks.json can require approval again. Grok Build users need project folder trust (/hooks-trust or launch with --trust) before .grok/hooks/ scripts run.

See Allow the hook in your harness for harness-specific trust and verification steps.

Option 2: Git Submodule

For teams that want to keep Impeccable vendored and updated through Git, add this repo as a submodule and link the compiled provider build into your harness folders:

git submodule add https://github.com/pbakaus/impeccable .impeccable
npx impeccable link --source=.impeccable --providers=claude,cursor
git add .gitmodules .impeccable .claude .cursor
git commit -m "Add Impeccable skills"

Use the providers your project needs, for example claude, cursor, gemini, codex, github, grok, hermes, opencode, pi, qoder, trae, trae-cn, rovo-dev, vibe, or veto. The command links individual skill folders from .impeccable/dist/universal/ and leaves existing real skill directories untouched unless you pass --force.

To update later:

git submodule update --remote .impeccable
npx impeccable link --source=.impeccable --providers=claude,cursor

Option 3: Plugin install

GitHub Copilot in VS Code:

Install Impeccable from the Visual Studio Marketplace, or run:

code --install-extension renaissance-geek.impeccable

Requires VS Code 1.109.3+, Copilot Chat access, and a trusted local workspace. Open Chat in Agent mode and try /impeccable polish. This skill-only extension does not install automatic hooks;