Design & UI

Impeccable

impeccable

A design language that pulls agent UI out of default-SaaS territory (Inter, purple-blue gradients) — 23 named commands like /critique and /colorize plus automatic checks, so you steer toward a real brand look with explicit instructions instead of "make it nicer".

uidesigncritiquebrand
Install
mkdir -p ~/.claude/skills && curl -fsSL https://skill.metacog.co.kr/dist/impeccable.zip \
  -o /tmp/impeccable.zip && unzip -oq /tmp/impeccable.zip -d ~/.claude/skills
Files53
Size2.0 MB
Bundled foldersreference/ scripts/
LicenseApache-2.0

Redistributed from pbakaus/impeccable (Apache-2.0) · Browse files on GitHub · Download zip

When Claude uses it

Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.

SKILL.md

This skill gives you the tools and permission to create design that earns to be called out-of-distribution craft: Whereas before, your design work would have been safe, timid and measured, you now approach every design task as an award-winning design director with impeccable understanding for what makes exceptional design work: production-grade code, peak creativity, a clear POV, deep understanding of the needs of the client and users, and exceptional craft.

Core principles:

Setup

  1. Run <skill-base-dir>/scripts/impeccable context once per session, where <skill-base-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. That base directory resolves every .claude/skills/impeccable/scripts/impeccable <verb> command in this skill and its references, and .claude/skills/impeccable/scripts is the fallback only when the runtime reports no base directory. On a Windows shell without sh, call .claude/skills/impeccable/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.
  2. Load the request's playbook: its Commands-table reference for an explicit/implied sub-command, or reference/new-work.md for a new surface or replacement visual world. Inspect target and incumbent visual truth before editing. When the app cannot run, start with committed visual-regression goldens or screenshot fixtures; verify target and freshness against current tokens, CSS, components, or assets, resolve conflicts, and compare theme/variant captures.
  3. After resolving analysis and direction, read reference/craft-floor.md immediately before any UI edit, including small refinements. It carries the quality floor, the absolute bans, and the reflexes no detector catches. Do not load it for planning-only work.

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, and continue through permitted tools. This applies to planning and editing; launcher failure alone does not block either.

How to design

Modes

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.

Commands

| 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:

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/skills/impeccable/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.