Impeccable: 에이전트가 만든 화면의 AI 티를 잡는 디자인 스킬
critique가 25/40을 준 자기 사이트를 두 군데만 고쳐 32/40으로 올린 개발자가 있어요
- 누가
- Paul Bakaus가 만들었어요. 코딩 에이전트로 웹 화면을 만들고 다듬는 사람을 위한 스킬이에요.
- 언제
- 저장소는 2025년 11월에 열렸고, 최신은 2026년 10월 26일(UTC)에 나온 Skill 4.8.0과 CLI 4.8.0이에요.
- 어디서
- Claude Code, Cursor, Codex CLI, GitHub Copilot 등 19개 에이전트에서 돌아요. 검사 엔진은 내 PC에서 도는 바이너리예요.
이게 불편했어요
에이전트에게 페이지를 맡기면 매번 비슷한 얼굴이 나와요. Inter 글꼴, 보라에서 파랑으로 가는 그라디언트, 카드 안의 카드, 제목마다 붙은 둥근 아이콘 타일. 좀 더 눈에 띄게 해 달라고 해도 에이전트는 무엇을 바꿔야 할지 짐작할 뿐이에요.
그래서 이렇게 풀어요
Impeccable은 디자인 손질을 이름 붙은 명령으로 나눠요. 가격 카드를 더 대담하게 하라고 명령과 대상을 주면, 그 한 가지 동작을 위해 쓰인 플레이북을 읽고 그 부분만 고쳐요. critique는 사용성 휴리스틱으로 점수를 매겨 고칠 순서를 정하고, LLM도 API 키도 없이 도는 62개 규칙의 검출기가 에이전트가 고친 UI 파일을 바로 검사해요.


이걸로 만든 사람들
안에서는 이렇게 돌아가요
- 1
나 → Claude Code
/impeccable init프로젝트마다 한 번. 코드를 읽고, 누구를 위한 제품인지처럼 추론할 수 없는 것만 물어요..claude/skills/impeccable/reference/init.md - 2
Claude Code → PRODUCT.md
PRODUCT.md 작성답을 PRODUCT.md에 적어요. 이후의 모든 명령이 이 파일을 읽어요..claude/skills/impeccable/reference/init.md - 3
나 → SKILL.md와 플레이북
/impeccable bolder the pricing cards명령과 대상을 주면 SKILL.md의 명령 표가 그 명령의 플레이북으로 보내요..claude/skills/impeccable/SKILL.md - 4
impeccable 엔진 → Claude Code
impeccable context: PRODUCT.md, DESIGN.md세션마다 한 번 엔진이 맥락 파일과 화면 유형별 메모를 찾아 에이전트에게 넘겨요.crates/context/src/context.rs - 5
SKILL.md와 플레이북 → Claude Code
reference/bolder.md그 한 가지 동작만을 위해 쓰인 플레이북을 읽고, 고치기 직전엔 craft-floor.md의 금지 목록을 읽어요..claude/skills/impeccable/reference/bolder.md - 6
Claude Code → impeccable 엔진
Edit·Write 뒤 impeccable hookUI 파일을 고칠 때마다 훅이 빠른 검사를 돌리고, 작업을 끝낼 때(Stop) 전체 규칙으로 다시 봐요..claude/settings.json - 7
- 8
Claude Code → 고친 화면
고친 컴포넌트지적을 반영해 고친 화면이 소스에 남아요.
넣으면 이렇게 나와요
나한테 맞을까요
이럴 때 좋아요
- 에이전트로 만든 페이지가 다 비슷해 보일 때
- 이미 있는 화면의 한 컴포넌트를 집중해서 다듬고 싶을 때
- 출시 전에 접근성, 성능, 반응형을 P0부터 P3까지 순서대로 점검하고 싶을 때
- CI에서 디자인 안티패턴을 자동으로 걸러 내고 싶을 때
이건 안 돼요
- README 기준, 새 페이지보다 이미 있는 화면을 다듬을 때 가장 강해요
- JSX·TSX 소스 검사는 패턴 규칙만 돌아요. 대비나 작은 글씨 같은 규칙은 렌더된 URL을 검사할 때만 돌아요
- 새 디자인을 시작하면 impeccable.style 카탈로그에서 방향을 받아 와요. 텔레메트리를 꺼도 이 요청은 남아요
- live 모드는 로컬 체크아웃 전용이에요. 배포된 사이트에 넣으면 안 돼요
발행 전에 Devalley 편집자가 검토했어요. 칼럼은 어떻게 만드나요
Impeccable: design commands and an AI-slop check for agents
A critique scored a developer's site 25/40; two fixes later it read 32/40
- Who
- Made by Paul Bakaus, for people who build and polish web interfaces with a coding agent.
- When
- The repository opened in November 2025; the latest is Skill 4.8.0 and CLI 4.8.0, released October 26, 2026 (UTC).
- Where
- Runs in 19 agents, including Claude Code, Cursor, Codex CLI and GitHub Copilot. The detector engine is a binary on your machine.
What was hard
Ask an agent for a page and the same face keeps coming back: Inter, a purple-to-blue gradient, cards inside cards, a rounded icon tile over every heading. Tell it to make the page pop and it can only guess what you mean.
What it does about it
Impeccable splits design work into named commands. Give it a command and a target, such as bolder on the pricing cards, and the agent loads a playbook written for that one move and changes only that part. critique scores the design against usability heuristics and ranks what to fix, and a 62-rule detector that needs no LLM or API key checks each UI file the agent edits.


What people made with it
How it runs inside
- 1
You → Claude Code
/impeccable initOnce per project. It reads your code and asks only what it can't infer, like who the product is for..claude/skills/impeccable/reference/init.md - 2
Claude Code → PRODUCT.md
writes PRODUCT.mdThe answers go into PRODUCT.md, which every later command reads..claude/skills/impeccable/reference/init.md - 3
You → SKILL.md and playbooks
/impeccable bolder the pricing cardsA command and a target; the command table in SKILL.md routes it to that command's playbook..claude/skills/impeccable/SKILL.md - 4
impeccable engine → Claude Code
impeccable context: PRODUCT.md, DESIGN.mdOnce a session, the engine finds the context files and the surface brief and hands them over.crates/context/src/context.rs - 5
SKILL.md and playbooks → Claude Code
reference/bolder.mdThe playbook written for that one move; right before editing, craft-floor.md and its bans..claude/skills/impeccable/reference/bolder.md - 6
Claude Code → impeccable engine
impeccable hook after Edit or WriteEvery UI edit gets a quick pass; when the agent stops, a deep pass runs every rule..claude/settings.json - 7
impeccable engine → Claude Code
findings as JSONWhat it found goes back to the agent before it calls the work done.crates/hook/src/hook.rs - 8
Claude Code → The fixed page
the fixed componentThe page, changed to answer the findings, stays in your source.
What goes in, what comes out
Is it for you
Good for
- Pages your agent builds all look alike
- You want to work one existing component over closely
- You want accessibility, performance and responsive checks ranked P0 to P3 before a launch
- You want CI to catch design anti-patterns
Not for
- Per the README, it is strongest on interfaces that already exist
- Source files like JSX and TSX get the pattern rules only; contrast and tiny-text rules run only on a rendered URL
- A new design fetches directions from the impeccable.style catalog; turning telemetry off does not stop that request
- Live mode is for a local checkout only, never a deployed site
Reviewed by Devalley’s editor before publishing. How the column is made
