DEV Community

정상록
정상록

Posted on

Stop Your AI Coding Tool from Generating Generic UI: Impeccable Design Skill

TL;DR

AI coding tools (Claude Code, Cursor, Gemini CLI) keep generating the same generic UI because they learned from the same templates. Impeccable is a design skill that corrects these biases: 7 design domains, 20 commands, curated anti-patterns. Install with one line. Free and open source.

The Problem: Every AI-Generated UI Looks the Same

If you've used any AI coding tool for frontend work, you've seen this pattern:

Default AI UI Starter Pack:
- Inter font (always)
- Purple/violet gradients
- Cards nested inside cards
- Gray text on colored backgrounds
- bounce/elastic animations
- Big rounded icons above every heading
Enter fullscreen mode Exit fullscreen mode

These aren't random choices. All LLMs learned from the same generic templates (Tailwind UI, shadcn/ui, various boilerplates). The result? Predictable, cookie-cutter interfaces.

Enter Impeccable

Impeccable is an open-source design skill created by Paul Bakaus (the original creator of jQuery UI). It builds on Anthropic's official frontend-design skill and adds much deeper design expertise.

The core idea: instead of just telling AI what to build, teach it why certain design decisions matter.

7 Design Domain References

Impeccable provides structured knowledge in 7 areas:

Domain What it covers
Typography Font pairing, modular scale, OpenType
Color & Contrast OKLCH, tinted neutrals, dark mode, a11y
Spatial Design Spacing systems, grid, visual hierarchy
Motion Design Easing curves, staggering, reduced motion
Interaction Forms, focus states, loading patterns
Responsive Mobile-first, fluid design, container queries
UX Writing Button labels, error messages, empty states

The Anti-Patterns (The Real Value)

This is where Impeccable shines. It explicitly tells AI what NOT to do:

# Banned patterns:
- Overused fonts: Inter, Roboto, Arial, Open Sans
- Gray text on colored backgrounds
- Pure black (#000) or pure gray (always use tinted neutrals)
- Wrapping everything in cards or nesting cards
- bounce/elastic easing (feels dated)
- Big rounded icons above every heading (template look)
Enter fullscreen mode Exit fullscreen mode

Without these, AI keeps making the same mistakes. With them, the output immediately feels more intentional.

20 Commands You'll Actually Use

Diagnostics:

/audit components/dashboard    # Technical quality check (a11y, perf, responsive)
/critique pages/landing        # UX design review (hierarchy, clarity)
Enter fullscreen mode Exit fullscreen mode

Quality:

/polish app          # Pre-launch final pass
/normalize app       # Align to design system
/harden forms/signup # Error handling, i18n, edge cases
Enter fullscreen mode Exit fullscreen mode

Enhancement:

/typeset pages/blog       # Typography optimization
/colorize components/     # Strategic color additions
/arrange pages/dashboard  # Layout/spacing improvements
Enter fullscreen mode Exit fullscreen mode

Intensity:

/bolder pages/landing      # Amplify bland designs
/quieter components/alerts # Tone down over-designed elements
Enter fullscreen mode Exit fullscreen mode

Command chaining works too:

/audit /normalize /polish blog  # Three commands, one line
Enter fullscreen mode Exit fullscreen mode

Installation (One Line)

npx skills add pbakaus/impeccable
Enter fullscreen mode Exit fullscreen mode

This auto-detects your AI tool and installs to the right location. Supports: Claude Code, Cursor, Gemini CLI, Codex CLI, VS Code Copilot, Kiro, Trae, OpenCode, Pi.

For Claude Code specifically:

/plugin marketplace add pbakaus/impeccable
Enter fullscreen mode Exit fullscreen mode

Before/After Example

Typography:

/* Before (AI default) */
font-family: 'Inter', sans-serif;

/* After (Impeccable) */
font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
Enter fullscreen mode Exit fullscreen mode

Colors:

/* Before */
color: #666666;
background: #000000;

/* After - tinted neutrals */
color: oklch(0.55 0.02 250);
background: oklch(0.13 0.01 250);
Enter fullscreen mode Exit fullscreen mode

My Workflow

/teach-impeccable    # One-time setup (saves project design context)
# ... generate UI ...
/audit app           # Find issues
/normalize app       # Align to system
/polish app          # Final pass
Enter fullscreen mode Exit fullscreen mode

Three commands after generation. The difference is noticeable immediately.

Stats

  • 8,000+ GitHub stars
  • Apache 2.0 license
  • Active development (v1.6 added Trae support, enhanced /audit with 5-dimension scoring)

Links: GitHub | Official Site

Have you tried any design skills with your AI coding tool? Curious what approaches others are using to get past the "generic AI UI" problem.

Top comments (0)