Impeccable 是什么:给编程 Agent 的设计词汇和检测器

Impeccable 是一套给编程 Agent 用的前端设计 Skill,再加一个不调模型的「AI 味」检测器。polish、bolder、critique、audit 这些命令把「改好看点」拆成能单独下达的指令;检测器用 62 条确定性规则找出紫蓝渐变、卡片套卡片这类模板化写法。截至 2026-11-03,最新版 4.8.0,Apache-2.0,GitHub 约 10 万星。
它是什么
作者 Paul Bakaus 的说法是「给编程 Agent 的设计词汇」。它从 Anthropic 官方的 frontend-design Skill 起步,后来加了命令集、设计钩子、CLI 检测器、浏览器扩展和实时改稿模式。支持 Claude Code、Cursor、Codex CLI、GitHub Copilot、Gemini CLI、OpenCode、Trae、DeepSeek Harness 等近二十种工具。和站内写过的 TasteSkill 是同类,Impeccable 多出一个能单独跑的检测器。
| 仓库 | github.com/pbakaus/impeccable |
|---|---|
| 作者 | Paul Bakaus |
| 许可证 | Apache-2.0 |
| 热度 | GitHub 100,722 星(GitHub API,2026-11-03 14:09 北京时间);npm 2026-10-26 至 11-01 周下载 335,261;skills.sh 安装约 381.7K(同日抓取) |
| 语言 / 运行要求 | 检测引擎为 Rust 二进制,首次使用下载到 ~/.impeccable/bin/;只有 npx 需要 Node.js ≥ 18.19.0 |
| 最新版本 | Skill / CLI 4.8.0(发布于 2026-10-27 07:41,北京时间),引擎 engine-v0.1.18 |
解决什么问题
不给任何设计约束、直接让 Agent 做一个页面,结果经常很像:全站 Inter 字体、紫到蓝的渐变、卡片套卡片、彩色底上放灰字、每个标题上面一个圆角方块图标。跟它说「做得更出彩」,它只能自己猜。Impeccable 从三处下手:
- 词汇:每个命令对应一本写好的操作手册,例如
bolder让保守的设计更大胆,quieter把太吵的设计压下来,distill删掉页面上多余的东西。 - 评审:
critique按可用性启发式打分,并排出先修什么;audit查无障碍、性能、主题和响应式,问题分 P0(阻塞)到 P3(打磨)四级。 - 检测器:62 条确定性规则,覆盖上面那些模板化写法,也查内边距太挤、标题跳级等质量问题;不调用 LLM,不需要 API key。

怎么用
npx impeccable install # 自动识别编程工具,选项目级或全局,并询问是否装设计钩子
# 重载工具后,在 Agent 里:
/impeccable init # 读代码、补问几个问题,写出 PRODUCT.md
/impeccable document # 把现有视觉体系整理成 DESIGN.md
/impeccable critique the onboarding flow
/impeccable polish settings
常用的命令可以 /impeccable pin audit,之后直接打 /audit。要写进脚本的,用 --providers=claude,codex,cursor 和 --scope=project|global。不想装 Node 的,从官网下载对应工具的 ZIP,把 skills/impeccable 拷到项目里;这种方式不带设计钩子和子 Agent。
检测器单独用:
npx impeccable detect src/ # 扫目录
npx impeccable detect http://localhost:5173 # 扫渲染后的页面(用本机 Chrome/Edge)
npx impeccable detect --json .
npx impeccable detect --github src/ # GitHub Actions 注解
npx impeccable detect --list-rules
JSX/TSX 这类源文件只跑模式规则。对比度太低、字太小这类规则要看渲染结果,所以要把开发服务器地址也扫一遍。退出码 2 表示有发现,1 表示目标扫不了。品牌字体本来就是 Inter 的,用 npx impeccable ignores add-value overused-font Inter --reason "Brand font" 放行。
上手要点
- 设计钩子:Agent 每改一个 UI 文件就扫一遍,把问题交回 Agent,Agent 改完才算完成。Codex 要在
/hooks里批准项目钩子。Claude Code 里钩子不受模型审批约束:你拒绝了模型的命令,钩子照样会跑,第一次编辑时可能就去下载引擎。无人值守之前先检查装了哪些钩子,或者用--settings '{"disableAllHooks": true}'在单次运行里关掉。 - 实时模式:
/impeccable live在开发服务器页面上叠一层,选中元素、切换变体,接受后写回源码。只能用在本地代码,别注入到线上站点。一分钟内没有聊天会话来取改动时,Apply 会改调 PATH 里的codex或claude,而且关掉审批和沙箱。设IMPECCABLE_LIVE_COPY_AGENT=chat让改动只留在聊天会话里,设off则完全禁用 Apply。 - 遥测:开始新设计时会从 impeccable.style 拉一组视觉方向。关掉遥测不影响这个请求,只停掉「展示了哪些方向、选了哪个」的匿名记录。官方说明项目名、文件、代码和
PRODUCT.md不会上传。 - 4.8.0 改了什么:新增
detect --github和--list-rules;下载引擎时用随 Skill 提交的摘要清单校验,对不上就拒绝;新增 Devin、Replit Agent 安装支持。
检测器不调模型、规则固定,可以像 lint 一样放进 CI,团队里不用 Agent 的人也能跑。
适合谁,不适合谁
适合:用编程 Agent 做前端、但总觉得成品有一股模板味的人;想在 CI 里拦住模板化 UI 的团队;手上已经有页面、想一个组件一个组件改的项目。官方也说,它在改现有界面时效果最好。
不适合 / 请改道:只要一次性从零生成落地页、不打算反复改的,收益有限,可以先看 TasteSkill 这类偏生成的 Skill。不能接受钩子在模型审批之外运行,或者不能接受实时模式在无沙箱下调 CLI 的环境,就别装钩子、别开 live,只用 detect 和手动命令。
最后
先在一个现有项目里跑 npx impeccable detect src/,看看命中了哪些模板化写法;觉得有用,再 npx impeccable install,挑一个组件跑 /impeccable critique。