让 AI 替我画一个克制的博客
你正在看的这个页面,是用一个叫 impeccable 的 Claude 技能搭起来的。从我打开 Claude Code 到这一页能跑起来,大概用了两个晚上。Claude 问了我十几个问题,写了 PRODUCT.md 和 DESIGN.md,搭好了 Astro 项目,把首页和文章页都做完了。
我以为它会给我一个套着模板的 SaaS 博客。结果它问的第一个问题是:“要避开什么?“
它不是”挑模板”
impeccable 是 Claude Code 的一个 skill1。skill 不是 prompt 也不是模板,更像是 Claude 在某类任务上的方法论。impeccable 的方法论就一条:先问清楚,再做决定,做完之后审视一遍。
它把一个 UI 任务拆成几个阶段:
/impeccable init # 起项目:写 PRODUCT.md、DESIGN.md
/impeccable craft # 端到端:先 shape,再写代码
/impeccable critique # 当成评审员,打分挑刺
/impeccable polish # 上线前打磨
每个阶段都有对应的 reference 文档,Claude 会先读完文档再开始。比如 craft 那一步,它要先做 shape 才能动键盘——除非你提前给了一份足够清楚的 brief。
第一次对话的样子
init 的时候它先问我:“这个站是 brand 还是 product?”
brand = 设计本身就是产品(个人博客、品牌站、作品集)
product = 设计服务于产品(dashboard、app、admin)
我选了 brand。然后它接连问了我读者是谁、要避开什么、调性最接近哪一档。我说我不知道,让它推荐参考站,它推了三个:rauno.me、fly.io/blog、interconnected.org,每个还附上”该学的具体点是什么”——而不是泛泛”看起来很现代”。
挑字体的时候,它第一轮推的是 Newsreader + Geist。我没多想就点了头。
然后它在下一步停了下来,自己跟自己说:
Newsreader 在 impeccable 的 reflex-reject 字体名单里。我刚才那个推荐错了。
这是我第一次意识到这个 skill 不只是个礼貌的助手。它里面藏着一份”哪些字体被 AI 用滥了”的清单,会主动反驳自己之前给的建议。我们换成了思源宋体加系统 sans。
它替我避开了什么
写 DESIGN.md 的时候,它在视觉系统里明确列了这些 Don’t:
- 不用 cream / sand / paper 命名背景色——warm-tinted 浅背景是当下 AI 博客的最大破绽
- 不在每个 section 上方加 tiny uppercase tracked label(“ABOUT” / “PROCESS”)
- 不用编号 section marker(
01 · About / 02 · Process)做默认 scaffolding - 不加
box-shadow、gradient text、glassmorphism - 不在按钮 / hero / CTA 上填 accent 色
这些不是我提的,是 impeccable 自己带进来的。它知道 2026 年的 AI 模板长什么样,因为它就是为对抗那个模板写的2。
不完美的地方
也不是没出过岔子。
它会推荐自己的禁用品
字体方案它第一轮推 Newsreader,第二轮才记起来这是被禁的。这种事它应该一开始就避开。后来想了一下,可能是因为字体推荐发生在 init 阶段,那时候 reflex-reject 名单还没被加载进来。但这是个 bug。
Hero 那一关我们都没把住
第一次让它做首页,它默认就要给我加一个 hero。我点了头,它做出来了,但做完之后我觉得不对——大字号标题把”一句话自介加文章列表”那种安静的笔记本气质全压扁了,变成了一个内容门户。我让它回滚,它老老实实回滚了,还说了一句:
这个判断我错了。下次再遇到”要不要给首页加一个主舞台”这类问题,我会先警惕一下”主舞台”这个词本身。
截图工具上栽过坑
让它截屏检查深色模式的时候,它一开始用了 Chrome 的 --force-dark-mode,那是反色滤镜,不是真深色主题。绕了一会儿才意识到要在 URL 上加参数才能模拟。
你也可以试
如果你装了 impeccable,下面这几个命令值得试一遍:
/impeccable init—— 任何项目开头都先跑这个/impeccable craft <一个具体的页面或组件>—— 一次只做一件事/impeccable critique <某个页面>—— 打分挑刺,比自夸有用
它不会让你的网站变得”惊艳”。它会让你的网站不像 AI 做的。这两件事不一样。