Use when the user wants to design, redesign, shape, critique, audit, polish, simplify, harden, animate, or otherwise improve a frontend interface: websites, landing pages, dashboards, product UI, components, forms, settings, onboarding, empty states, and native iOS or Android screens. Handles UX review, hierarchy, layout, typography, color, motion, UX copy, accessibility, responsive behavior, edge cases, and capturing or documenting design systems (DESIGN.md, tokens). Also for making bland UI bolder, loud UI quieter, or ambitious visual effects. Not for backend-only or non-UI tasks.
npx skills add https://github.com/pbakaus/impeccable --skill impeccable
This skill gives you the tools and permission to make design that earns the name out-of-distribution craft. Work as an award-winning design director would: production-grade code, a clear POV, a deep grasp of what the client and its users need, and exceptional craft.
Core principles:
"${CLAUDE_SKILL_DIR}/scripts/impeccable" context once per session, where ${CLAUDE_SKILL_DIR} is the directory that contains this SKILL.md (the skill folder, not a plugin root two levels above it); keep cwd at the user's project. Every "${CLAUDE_SKILL_DIR}/scripts/impeccable" <verb> command in this skill and its references resolves against that base directory. In reference files, replace the skill-base-dir placeholder with this directory before running commands; it is not a shell variable. On a Windows shell without sh, call & "${CLAUDE_SKILL_DIR}/scripts/impeccable.cmd" instead. The launcher runs a self-contained binary that ships next to it or is downloaded once on first run; no Node or other runtime is required. Pass a named source file or route as --target <path>. It loads PRODUCT.md, DESIGN.md, the matching surface brief, and native-platform guidance when applicable; follow its directives and do not rerun it.Launcher unavailable: On refusal or failure, send a separate message before the next tool call: “Context loading did not run; I’ll read the existing project context directly.” Then read existing PRODUCT.md and DESIGN.md without inventing missing context, follow applicable steps 2–3, including reading reference/craft-floor.md immediately before any UI edit, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.
The mode names what the visitor's success looks like on this surface.
Choose the mode from the requested surface, not the product, and persist it only in that surface brief. A tool's landing page is still Persuade; a fashion house's documentation is still Read; a docs index is Read, not Persuade. See new-work.md for new surfaces and operate.md for deeper Operate/Read guidance.
| Command | Category | Description | Reference |
|---|---|---|---|
| craft feature] | Build | Deprecated alias for an ordinary new-work request | [reference/craft.md |
| shape feature] | Build | Plan UX/UI before writing code | [reference/shape.md |
| init | Build | Capture durable product context in PRODUCT.md | reference/init.md |
| document | Build | Generate DESIGN.md from existing project code | reference/document.md |
| extract target] | Build | Pull reusable tokens and components into design system | [reference/extract.md |
| critique target] | Evaluate | UX design review with heuristic scoring | [reference/critique.md |
| audit target] | Evaluate | Technical quality checks (a11y, perf, responsive) | reference/audit.md · native: [reference/audit.native.md |
| polish target] | Refine | Final quality pass before shipping | [reference/polish.md |
| bolder target] | Refine | Amplify safe or bland designs | [reference/bolder.md |
| quieter target] | Refine | Tone down aggressive or overstimulating designs | [reference/quieter.md |
| distill target] | Refine | Strip to essence, remove complexity | [reference/distill.md |
| harden target] | Refine | Production-ready: errors, i18n, edge cases | [reference/harden.md |
| onboard target] | Refine | Design first-run flows, empty states, activation | [reference/onboard.md |
| animate target] | Enhance | Add purposeful animations and motion | [reference/animate.md |
| colorize target] | Enhance | Add strategic color to monochromatic UIs | [reference/colorize.md |
| typeset target] | Enhance | Improve typography hierarchy and fonts | [reference/typeset.md |
| layout target] | Enhance | Fix spacing, rhythm, and visual hierarchy | [reference/layout.md |
| delight target] | Enhance | Add personality and memorable touches | [reference/delight.md |
| overdrive target] | Enhance | Push past conventional limits | [reference/overdrive.md |
| clarify target] | Fix | Improve UX copy, labels, and error messages | [reference/clarify.md |
| adapt target] | Fix | Adapt for different devices and screen sizes | reference/adapt.md · native: [reference/adapt.native.md |
| optimize target] | Fix | Diagnose and fix UI performance | [reference/optimize.md |
| live | Iterate | Visual variant mode: pick elements in the browser, iterate on alternatives | reference/live.md |
| generate n] [action] [element] | Iterate | Variants, versions, or alternatives of a named element to choose from in the live browser; no manual picking | [reference/generate.md |
Routing:
impeccable context directs, offering init afterward rather than blocking on it.teach aliases init. craft is a deprecated alias for ordinary new-work and adds nothing. shape owns task discovery, then enters new-work only for visual-world and surface-concept decisions.After init writes PRODUCT.md, resume without rerunning impeccable context; init loads the native platform reference itself when the platform it recorded is ios, android, or adaptive.
Pin / Unpin: "${CLAUDE_SKILL_DIR}/scripts/impeccable" pin <pin|unpin> <command> creates or removes a standalone /<command> shortcut. Report the script's result concisely; relay stderr verbatim on error.
Hooks: /impeccable hooks <on|off|status|ignore-rule|ignore-file|ignore-value|reset> manages the design detector hook for this project (auto-runs the detector after UI file edits and surfaces findings). Load reference/hooks.md when the user invokes it with any argument.
Doctor: /impeccable doctor reports and repairs drift between this project's Impeccable artifacts (PRODUCT.md, DESIGN.md and its sidecar, config, surface briefs, the hook) and what this version reads. Load reference/doctor.md when the user invokes it, or when they ask what is out of date, stale, or needs refreshing. A CONTEXT_STALE directive in Setup's output is the cheap subset of the same report; act on it there per its own instructions rather than running doctor unasked.
Never repair drift as a side effect of a design task. A CONTEXT_STALE finding is reported, not acted on, unless the user asks. The one exception is a finding marked auto, which the next write to that file performs anyway.
Take pbakaus/impeccable-plugin-impeccable from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.