Paul Bakaus 7d7f77d2ba Before/after split demos on skill pages + sidebar reorder
Two changes bundled:

1. Before/after split demos on every skill detail page.
   - loadCommandDemos() in sub-pages-data.js: dynamically imports each
     module in public/js/demos/commands (the same files the homepage
     uses), returning a { skillId: { id, caption, before, after } } map.
     Falls back to a warn-and-continue if a demo file can't be loaded
     so one bad demo doesn't break the whole generator.
   - buildSubPageData becomes async; caller in build-sub-pages.js
     awaits it.
   - Each skill object gets a .demo field (may be null for /shape).
   - renderSkillDemo() produces the .split-comparison markup matching
     the homepage: .split-container with .split-before + .split-after
     + .split-divider, plus Before/After labels and the caption. The
     block sits between the detail header and the editorial wrapper
     so readers see the visual before reading any prose.
   - sub-pages.css ports the core .split-* layout from main.css (the
     .slop-* and .impeccable-* helpers are homepage-specific and not
     copied). Height is 360px to match the docs column.
   - render-page.js grows a lightweight inline split-compare init
     script (60 lines of vanilla JS) that handles drag and the skewed
     clip-path without depending on the homepage's full lerp/ResizeObserver
     module. Runs only on pages that actually have .split-container.

2. Sidebar reorder: Tutorials first, then skills.
   Walk-throughs are the on-ramp; they belong at the top of the sidebar
   where a new visitor will find them. Add <hr class="skills-sidebar-divider">
   between the Tutorials group and the first skill category so the two
   sections read as distinct.

Verified: /skills/polish, /skills/bolder, /skills/critique all render
the demo block. /skills/shape correctly has none. Sidebar on any /skills
or /tutorials page shows Tutorials first, then a thin mist divider,
then Create / Evaluate / Refine / Simplify / Harden / System skill
categories.
2026-04-08 10:54:18 -07:00
2026-03-15 12:22:53 -07:00
2026-04-07 19:52:27 -07:00
2026-03-29 22:12:27 -05:00

Impeccable

The vocabulary you didn't know you needed. 1 skill, 21 commands, and curated anti-patterns for impeccable frontend design.

Quick start: Visit impeccable.style to download ready-to-use bundles.

Why Impeccable?

Anthropic created frontend-design, a skill that guides Claude toward better UI design. Impeccable builds on that foundation with deeper expertise and more control.

Every LLM learned from the same generic templates. Without guidance, you get the same predictable mistakes: Inter font, purple gradients, cards nested in cards, gray text on colored backgrounds.

Impeccable fights that bias with:

  • An expanded skill with 7 domain-specific reference files (view source)
  • 21 steering commands to audit, review, polish, distill, animate, and more
  • Curated anti-patterns that explicitly tell the AI what NOT to do

What's Included

The Skill: impeccable

A comprehensive design skill with 7 domain-specific references (view skill):

Reference Covers
typography Type systems, font pairing, modular scales, OpenType
color-and-contrast OKLCH, tinted neutrals, dark mode, accessibility
spatial-design Spacing systems, grids, visual hierarchy
motion-design Easing curves, staggering, reduced motion
interaction-design Forms, focus states, loading patterns
responsive-design Mobile-first, fluid design, container queries
ux-writing Button labels, error messages, empty states

21 Commands

Command What it does
/impeccable teach One-time setup: gather design context, save to config
/audit Run technical quality checks (a11y, performance, responsive)
/critique UX design review: hierarchy, clarity, emotional resonance
/normalize Align with design system standards
/polish Final pass before shipping
/distill Strip to essence
/clarify Improve unclear UX copy
/optimize Performance improvements
/harden Error handling, i18n, edge cases
/animate Add purposeful motion
/colorize Introduce strategic color
/bolder Amplify boring designs
/quieter Tone down overly bold designs
/delight Add moments of joy
/extract Pull into reusable components
/adapt Adapt for different devices
/onboard Design onboarding flows
/typeset Fix font choices, hierarchy, sizing
/arrange Fix layout, spacing, visual rhythm
/overdrive Add technically extraordinary effects

Usage Examples

/audit - Run quality checks, get a report (no edits)

/audit blog              # Audit blog hub + post pages
/audit dashboard         # Check dashboard components
/audit checkout flow     # Focus on checkout UX

When to use: Before making changes, to understand what needs fixing.

/normalize - Align with design system

/normalize blog          # Apply design tokens, fix spacing
/normalize buttons       # Standardize button styles

When to use: After audit, to fix inconsistencies.

/critique - UX design review

/critique landing page   # Review landing page UX
/critique onboarding     # Check onboarding flow

When to use: When you want design feedback, not technical fixes.

/polish - Final pass before shipping

/polish feature modal    # Clean up modal before release
/polish settings page    # Final review of settings UI

When to use: Last step before deploying to production.

Combining commands:

/audit /normalize /polish blog    # Full workflow: audit → fix → polish
/critique /harden checkout        # UX review + add error handling

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 impeccable.style to see before/after case studies of real projects transformed with Impeccable commands.

Installation

Visit impeccable.style, download the ZIP for your tool, and extract to your project.

Option 2: Copy from Repository

Cursor:

cp -r dist/cursor/.cursor your-project/

Note: Cursor skills require setup:

  1. Switch to Nightly channel in Cursor Settings → Beta
  2. Enable Agent Skills in Cursor Settings → Rules

Learn more about Cursor skills

Claude Code:

# Project-specific
cp -r dist/claude-code/.claude your-project/

# Or global (applies to all projects)
cp -r dist/claude-code/.claude/* ~/.claude/

OpenCode:

cp -r dist/opencode/.opencode your-project/

Pi:

cp -r dist/pi/.pi your-project/

Gemini CLI:

cp -r dist/gemini/.gemini your-project/

Note: Gemini CLI skills require setup:

  1. Install preview version: npm i -g @google/gemini-cli@preview
  2. Run /settings and enable "Skills"
  3. Run /skills list to verify installation

Learn more about Gemini CLI skills

Codex CLI:

cp -r dist/codex/.codex/* ~/.codex/

Trae:

# Trae China (domestic version)
cp -r dist/trae/.trae-cn/skills/* ~/.trae-cn/skills/

# Trae International
cp -r dist/trae/.trae/skills/* ~/.trae/skills/

Note: Trae has two versions with different config directories:

  • Trae China: ~/.trae-cn/skills/
  • Trae International: ~/.trae/skills/

After copying, restart Trae IDE to activate the skills.

Rovo Dev:

# Project-specific
cp -r dist/rovo-dev/.rovodev your-project/

# Or global (applies to all projects)
cp -r dist/rovo-dev/.rovodev/skills/* ~/.rovodev/skills/

Usage

Once installed, use commands in your AI harness:

/audit           # Find issues
/normalize       # Fix inconsistencies
/polish          # Final cleanup
/distill         # Remove complexity

Most commands accept an optional argument to focus on a specific area:

/audit header
/polish checkout-form

Note: Codex CLI uses a different syntax: /prompts:audit, /prompts:polish, etc.

CLI

Impeccable includes a standalone CLI for detecting anti-patterns without an AI harness:

npx impeccable detect src/                   # scan a directory
npx impeccable detect index.html             # scan an HTML file
npx impeccable detect https://example.com    # scan a URL (Puppeteer)
npx impeccable detect --fast --json .        # regex-only, JSON output

The detector catches 24 issues across AI slop (side-tab borders, purple gradients, bounce easing, dark glows) and general design quality (line length, cramped padding, small touch targets, skipped headings, and more).

Supported Tools

Contributing

See DEVELOP.md for contributor guidelines and build instructions.

License

Apache 2.0. See LICENSE.

The impeccable skill builds on Anthropic's original frontend-design skill. See NOTICE.md for attribution.


Created by Paul Bakaus

S
Description
No description provided
Readme
380 MiB
Languages
JavaScript 75.7%
Rust 22.1%
Shell 0.9%
Batchfile 0.9%
CSS 0.2%
Other 0.1%