eliasoulkadi/shokunin/impeccable
Claude Code and agent skill by eliasoulkadi/shokunin
- community
Checking that the SKILL.md file is still in the repository.
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 design systems, anti-pattern detection, brand vs product registers, typography, color (OKLCH), spacing, motion, copy, and accessibility. By Paul Bakaus (ex-Google, ex-Disney, ex-Unity). Full version includes 23 sub-commands, CLI detection, Chrome extension, and E2E test suite: npx skills add pbakaus/impeccable
Install
npx vskill@latest install eliasoulkadi/shokunin/impeccableSKILL.md
Impeccable (Lite)
Design and iterate production-grade frontend interfaces. This is a lite integration of Paul Bakaus's Impeccable design language for AI. For the full 23 sub-commands, CLI detection, Chrome extension, and E2E test suite, install: npx skills add pbakaus/impeccable
Quick Start (Lite mode)
Skip context gathering for rapid iteration. For full brand/product context, install the full version.
Shared Design Laws
Color
- Use OKLCH. Reduce chroma as lightness approaches 0 or 100. High chroma at extremes looks garish.
- Never
#000or#fff. Tint every neutral toward brand hue (chroma 0.005-0.01 is enough). - Pick a color strategy:
- Restrained: tinted neutrals + one accent ≤ 10%. Product default.
- Committed: one saturated color carries 30-60%. Brand default.
- Full palette: 3-4 deliberate roles. Brand campaigns.
- Drenched: the surface IS the color. Brand heroes.
Dark vs Light
Never a default. Write one sentence of physical scene: who, where, under what light, in what mood. "SRE glancing at incident severity on a 27-inch monitor at 2am in a dim room" forces dark. "Editor reading a long-form article on an iPad in morning sunlight" forces light. Run the scene, not the category.
Typography
- Cap body line length at 65-75ch via
max-width. - Hierarchy through scale + weight contrast (≥1.25 ratio between steps).
- No Inter as display font.
Motion
- Don't animate layout properties (
width,height,top,left). - Ease out with exponential curves. No bounce, no elastic.
- UI durations < 300ms. Exit faster than enter.
Copy
- Every word earns its place. No restated headings.
- No em dashes. Use commas, colons, periods, or parentheses. Also no
--. - No AI filler: "elevate", "seamless", "unleash", "delve".
Absolute Bans
Match-and-refuse. If you're about to write any of these, rewrite with different structure.
| Ban | Why | |
|---|---|---|
Side-stripe borders (border-left > 1px as accent) | The #1 AI-dashboard tell | |
Gradient text (background-clip: text + gradient) | Decorative, never meaningful | |
| Glassmorphism as default | Rare and purposeful, or nothing | |
| Hero-metric template | Big number + small label + gradient. SaaS cliché. | |
| Identical card grids | Icon + heading + text, repeated. Lazy. | |
| Modal as first thought | Exhaust inline/progressive alternatives first. |
The AI Slop Test
If someone could look at this interface and say "AI made that" without doubt, it's failed.
First-order check: Can someone guess the theme from the category alone? "Observability → dark blue", "Healthcare → white + teal", "Crypto → neon on black" — these are training-data reflexes. Rework.
Second-order check: Can someone guess the aesthetic from category-plus-anti-references? "AI workflow that's not SaaS-cream → editorial-typographic". Still a reflex. Rework again.
Design Tokens (OKLCH)
Anti-Pattern Detection (Lite)
The full Impeccable CLI detects 27 anti-patterns. Install for npx impeccable detect.
Quick manual checks:
- [ ] No
border-left> 1px as colored accent on any element - [ ] No gradient text anywhere
- [ ] No glass cards as default decoration
- [ ] No hero-metric template
- [ ] No identical card grids
- [ ] Cards not nested inside cards
- [ ] Body line length 65-75ch
- [ ] Body line-height 1.6
- [ ] No em dashes in copy
Pre-Flight Checklist
- [ ] Color strategy selected (Restrained / Committed / Full palette / Drenched)
- [ ] Dark vs light decided by physical scene, not category
- [ ] All colors in OKLCH
- [ ] No
#000or#fff— tint every neutral - [ ] Body line length 65-75ch
- [ ] No absolute bans violated
- [ ] AI slop test passed (both first-order and second-order)
- [ ] No em dashes in copy
- [ ]
prefers-reduced-motionrespected
Sources
- Paul Bakaus — Impeccable (impeccable.style)
- OKLCH color space
- Stripe Design System
- Linear Design
Workflow
Step 1: Set the physical scene
Write one sentence describing who, where, under what light, in what mood. "SRE glancing at incident severity on a 27-inch monitor at 2am in a dim room" forces dark. "Editor reading long-form on an iPad in morning sunlight" forces light. This single sentence determines dark vs light, color intensity, and typographic density. Never skip this step or default to a mode without scene reasoning.
Step 2: Choose color strategy
Select one of four based on the scene and register:
- Restrained: tinted neutrals + one accent <= 10% of any surface. Default for Product (dashboards, admin, tools)
- Committed: one saturated color carrying 30-60% of visual weight. Default for Brand (landing pages, marketing)
- Full palette: 3-4 deliberate color roles with clear semantic mapping. Brand campaigns, data-heavy interfaces
- Drenched: the surface IS the dominant color. Brand hero sections, immersive experiences
Step 3: Audit against the absolute bans
Check every element against the 6 absolute bans: side-stripe borders, gradient text, default glassmorphism, hero-metric template, identical card grids, modal-as-first-thought. If any ban is violated, restructure the element — do not tweak. Bans require different structure, not subdued execution.
Step 4: Run the AI Slop Test
First-order: Can someone guess the visual theme from the category alone? "Observability → dark blue dashboard", "Healthcare → white + teal cards", "Crypto → neon-on-black" — these are training-data reflexes. If yes, rework from a different visual lane.
Second-order: Can someone guess the aesthetic from category plus anti-references? "AI workflow that is NOT SaaS-cream → editorial-typographic". Still a reflex. Rework again. A genuine design is harder to predict from metadata alone.
Step 5: Apply design tokens and refine copy
- Replace all hex/rgb colors with OKLCH design tokens. Tint every neutral. Reduce chroma as lightness approaches 0 or 100
- Copy audit: remove every em dash (
—). Replace with commas, colons, periods, or parentheses - Remove AI filler: "elevate", "seamless", "unleash", "delve", "transformative"
- Cap body line length at 65-75ch. Set line-height to 1.6
Step 6: Polish and verify
- Motion check: compositor-only properties, durations < 300ms, no bounce, exit faster than enter
- Body line length 65-75ch, line-height 1.6 on all text blocks
- Every word earns its place — no restated headings, no filler
- Run the Pre-Flight Checklist before delivery
Error Handling
| Cause | Fix | |
|---|---|---|
| OKLCH colors render as black/white in Safari < 15.4 or Firefox < 113 | Always provide hex fallback before each OKLCH value: --color-ink: #1a1a1a; --color-ink: oklch(10% 0 0). Check caniuse for OKLCH support | |
| Selected color strategy produces low contrast on key text surfaces | Test every text+background pair against WCAG AA (4.5:1 body, 3:1 large text). Shift lightness values until passing. Don't compromise on contrast for aesthetics | |
| AI Slop Test keeps failing — design still reads as generic despite rework | Change the visual lane entirely. "SaaS modern" failing? Try "editorial magazine", "brutalist terminal", or "Swiss typography". The genre shift forces genuinely fresh decisions | |
| Physical scene description is too vague to produce concrete design decisions | Add specifics: time of day, screen size, ambient light level, emotional state, session duration. "Day trader watching real-time data at 10am on dual monitors" is actionable | |
| Dark mode palette shows an unintended blue cast instead of true dark | Add small chroma to the achromatic dark base: oklch(8% 0.02 260) instead of oklch(8% 0 0). Pure achromatic dark reads as lifeless and flat | |
| An absolute ban collides with a legitimate design requirement (e.g., client requires a gradient hero) | If a ban must be broken, mitigate with subtle execution: low gradient opacity (0.1-0.2), solid foreground text, no text clipping. Document the exception | |
| Copy still reads as AI-generated despite em dash and filler word removal | Check sentence rhythm: AI defaults to uniform sentence length. Vary: short punchy sentences. Followed by longer, more complex ones that breathe. Fragments when needed |
Anti-Patterns
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.pack/skills/impeccable/SKILL.md
Popularity
- Repository stars
- 91
- Repository forks
- 10
- 7-day trend score
- 23
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/eliasoulkadi/shokunin/impeccable)