← 返回文章

Impeccable:一套设计语言和 61 条检测规则

更新于

一套设计语言和 61 条检测规则,用来发现 AI 界面的模板感。

Impeccable 的官方界面或演示截图
封面:来源 · Apache-2.0

Impeccable 是 Paul Bakaus 做的设计语言,仓库在 pbakaus/impeccable,官网是 impeccable.style。它要处理的不是“AI 不会写 CSS”,而是模型在同一批模板里打转:到处 Inter、紫蓝渐变、卡片套卡片、彩色底上的灰字。做法是把产品事实、24 个设计命令和一套确定性检测器放进同一个工作流。按官方 README 整理,未在本机完整实测。

先写 PRODUCT.md,再谈视觉

在项目根目录运行 npx impeccable install,然后在 AI 工具里执行 /impeccable init。这个初始化步骤会检查项目,只追问真正缺失的产品事实,最后写出 PRODUCT.md,记录受众、用途、运行环境、约束、语气和证据。后续命令读取这份文件,避免把“产品是什么”和“这一屏想长什么样”混在一起。

视觉方向另记在 DESIGN.md:已有设计系统、或新做出来的系统,都从这里查。这样的拆分对多人协作有用,产品事实不会随着一次改版被覆盖。

24 个命令怎么用

所有命令都挂在 /impeccable 下,例如:

/impeccable audit blog
/impeccable critique landing
/impeccable polish settings
/impeccable harden checkout

audit 查技术质量,包括可访问性、性能和响应式;critique 做 UX 评审;polish 是上线前的最后一轮;harden 补错误处理、国际化、文本溢出和边界情况。其余命令覆盖排版、布局、色彩、动效、降噪、增强、适配等方向。经常用某一条时,可以 /impeccable pin audit 生成 /audit 快捷命令。

检测器:规则数量与退出码

README 当前写的是 62 条确定性规则,项目清单和本文标题写的是 61 条,数量会随版本变化,以 README 和 --list-rules 为准。检测器不调用大模型,也不需要 API key:

npx impeccable detect src/
npx impeccable detect https://example.com
npx impeccable detect --json .
npx impeccable detect --github src/

退出码有明确含义:0 表示扫描完成且没有主要问题,2 表示完成但发现问题,1 表示至少一个目标扫描失败。人类可读的诊断默认写到 stderr,需要重定向;--json 给脚本用,--github 输出 GitHub Actions 注解。规则覆盖两类问题:AI 界面常见的侧边色条、紫色渐变、回弹缓动、暗色光晕,以及行宽过长、内边距局促、点击区域过小、标题层级跳级等通用质量问题。

一次干净扫描只是证据,不等于视觉和可访问性都没问题,README 也这么提醒。

浏览器里的迭代与 hook

live 模式通过开发服务器或本地静态 HTML 修改元素,适合在浏览器里对比视觉变体。它只面向本地 checkout,不支持把 helper 注入已部署的生产站点,也不应该为了跑通而关闭浏览器安全策略或放宽 CSP。生产页面要检查时,用 npx impeccable detect https://example.com 或浏览器扩展,这两者只读渲染结果,不会改源码。

在 Claude Code、GitHub Copilot、Codex、Cursor 和 Grok Build 上,安装或更新还会写入各自的原生 hook;直接编辑 UI 文件后,检测器会把发现送回 agent。Codex 需要打开 /hooks 批准项目 hook,更新改动 .codex/hooks.json 后可能还要再批一次。

一个上线前的审查流程

AI 生成落地页后,先 /impeccable audit landing 找可访问性和响应式问题,再 /impeccable critique landing 看层级、清晰度和情绪表达;按照发现修改后跑 /impeccable polish landing。如果项目在 CI 里,可以加一条 npx impeccable detect --json .,把退出码当作门槛。顺序上仍应先有 PRODUCT.md,否则检测器只能告诉你“像模板”,说不出该往哪个方向改。

与 frontend-design、Lighthouse 的分工

README 说明 Impeccable 起点是 Anthropic 的 frontend-design Skill,之后补上了初始化流程、命令体系和确定性检测器。和 axe、Lighthouse 这类工具相比,后者更专注可访问性、性能和最佳实践指标;Impeccable 还会指出字体选择、渐变、卡片嵌套这些设计套路。两者可以同时用,但都不能替代真实用户和设计判断。

规则不是审美裁判

规则本身带审美倾向,和成熟品牌规范冲突时未必该改。检测器支持按项目忽略,例如:

npx impeccable ignores add-value overused-font Inter --reason "Brand font"

用户研究、信息架构和品牌策略不在它的覆盖范围内。另一个需要留意的是遥测:新设计开始时会向 impeccable.style 请求一组视觉方向,这是功能本身;除非退出,否则还会匿名记录哪组方向被选中。可以运行 npx impeccable telemetry off,或设置 DO_NOT_TRACK=1 / IMPECCABLE_NO_TELEMETRY=1。live 模式还会以当前用户权限执行项目里的校验脚本,陌生仓库要先看脚本内容。

项目入口