SKILL 15 / DOCS · DEEP DIVE

品牌与风格类 Skill:把风格指南变成可执行约束

brand-guidelines 全仓只有一个 SKILL.md · theme-factory 的十张主题卡 · 没有 oracle 的一类怎么验收

2026-09-16 · BigCat

上一期的主角是 schema:文件合不合规,退出码说了算。这一期恰恰相反——「像不像我们家」没有任何脚本能判。官方 brand-guidelines 整个 skill 只有 SKILL.md 和 LICENSE.txt 两个文件、一行脚本都没有,它凭什么还管用?

前置 → Skill 14 文档类 Skill 怎么做到不坏文件(有 oracle 的那一类)

// WHY THIS MATTERS

风格类是「主观任务」里最先能落地的一档:它没有客观 oracle,却有可判定的中间层——色号、字体名、字号阈值这些东西是能被 grep 的。本期拆的就是这层中间层怎么造:brand-guidelines 把品牌压成七个 hex 加两个字体名,theme-factory 把选择权收敛成十张卡,frontend-design 走第三条路——不给数值,给一份「别长成这样」的否定清单。

// 01

它替你干掉什么:干掉「每次都要重贴一遍色号」

论断:它干掉的不是审美,是复述。品牌规范本来就写在某个 PDF 里,真正的成本是每开一个新对话你都要重贴一遍,而且每次贴得都不太一样。

怎么装

# 官方这几个风格类 skill 都在 example-skills 这个 plugin 里
/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills

# 只要其中一个,也可以直接拷进个人 skill 目录(装完即生效)
git clone https://github.com/anthropics/skills
cp -r skills/skills/brand-guidelines ~/.claude/skills/

# 后处理 PPT / Word 还要这个(thumbnail.py 与 validate.py 在里面)
/plugin install document-skills@anthropic-agent-skills

它规定了什么:brand-guidelines 的全部硬约束

全部内容就这些。没有脚本、没有 reference 目录、没有模板文件。这恰恰是最该抄走的地方:一个能用的风格 skill,下限就是把规范压成一张可判定的表——七个色号、两个字体、一个字号阈值、一条轮换规则。

什么时候别装:你要的是你们公司的品牌。这里的色号是 Anthropic 自己的,照装出来的东西一股 Anthropic 味。正确用法是拷一份改掉 hex 和字体名——它没有脚本,fork 成本几乎为零。
一手源 · anthropics/skills · skills/brand-guidelines/SKILL.md(上面七个色号、两个字体、24pt 阈值与轮换规则的出处)
// 02

机制:风格类 skill 只有三种写法

论断:形容词写进 skill 等于没写。有效的三种写法各自把「好看」换成了别的东西——换成数值、换成选单、换成否定清单。

写法一 · 数值型:把品牌压成可 grep 的常量

brand-guidelines 是这一型的范本。它的三个设计动作值得单独拎出来:(a) 全部约束都是字面量,hex 与字体名不存在解释空间;(b) 每条约束都带降级路径(Poppins→Arial、Lora→Georgia),风格规则必须在字体缺失时仍然可执行,否则第一次换机器就崩;(c) 绑定执行层,明确说颜色走 RGBColor,于是「套品牌」变成生成之后的一道后处理,而不是生成过程中的即兴发挥。

写法二 · 选单型:先收敛到有限集合,再执行

theme-factory 不猜你的口味,它把选择权交回给人。SKILL.md 规定的流程是四步:原样展示 theme-showcase.pdf → 问用户要哪个 → 拿到明确确认 → 才把该主题的颜色与字体应用上去。十个预置主题各是 themes/ 下的一个 md 文件:ocean-depths · sunset-boulevard · forest-canopy · modern-minimalist · golden-hour · arctic-frost · desert-rose · tech-innovation · botanical-garden · midnight-galaxy,每个文件里是一组带 hex 的配色加一对字体搭配。不满意可以现场生成新主题,但要按同样的结构写文件、并先给人过目。

什么时候别装:你有品牌手册的时候。theme-factory 解决的是「没人规定该长什么样」,装在有规范的团队里,它只会多问你一遍那个已经有答案的问题。

写法三 · 否定清单型:不说该长什么样,说别长成什么样

frontend-design 一个 hex 都不给,给的是五簇 AI 默认长相的点名:奶油底配赭红、深底配亮色、broadsheet 式排版、SaaS 卡片套件、模板 chrome。流程也是反过来的——先出一份 design plan(配色、字体、布局、原则),拿它对着 brief 检查一遍是否够独特,然后才写代码。web-artifacts-builder 用的是同一招,它的「AI slop」清单点名:过度居中、紫色渐变、全都一样的圆角、Inter 字体。

否定清单之所以有效,是因为模型的失败模式高度集中:它不会随机地丑,它会系统性地滑向同一组默认值。堵住这几个出口,剩下的空间自然就不像模板了。什么时候别装:非视觉任务——它会让模型在你只想改一段文案时,也先来一轮设计方案。

一手源 · skills/theme-factory/SKILL.md 与 themes/(四步流程与十个主题文件名)· skills/frontend-design/SKILL.md(五簇默认长相与两遍流程)
// 03

真实用法与边界:四条产线,和一个没有退出码的验收

论断:风格类 skill 装错位置比装错品牌更常见。同样是「把东西做好看」,PPT 后处理、网页实现、纯视觉产出、从零造品牌,用的根本不是一个东西。

四条产线各自的落点

没有 oracle,怎么验收:三种可操作的近似

  1. 把数值做成可检查项。风格 skill 里凡是 hex、字体名、字号阈值,产物里都能直接搜。一条 grep -o '#[0-9a-fA-F]\{6\}' out.html | sort -u 就能看出有没有混进规范外的颜色——这是风格类唯一接近退出码的东西。
  2. 把视觉转成图再看。pptx skill 给的那条链可以整条借走:scripts/office/soffice.py --headless --convert-to pdf deck.pptx 转 PDF,再 pdftoppm -jpeg -r 150 output.pdf slide 出图,然后对着固定清单逐张过——溢出、重叠、对齐、对比度、占位符残留。清单固定,判断才可复现。
  3. 用样例代替形容词。三对「输入 → 期望输出」比十条规则管用,这是写作与风格类共用的配方(下一类的 Skill 18 专门拆它)。
边界:以上三招都验不了「这个方案好不好」,只验「有没有违反已写下的约束」。审美判断仍然在人这边——风格类 skill 的目标从来不是替你定方案,是保证定下来的方案每次都被执行到。
一手源 · skills/pptx/SKILL.md(thumbnail / soffice / pdftoppm 三条命令与视觉 QA 清单)· cofoundy/brand-skills(十五个 skill 的清单与两种装法)
// 04

代价与替代品:多数人其实不需要装

论断:风格规则少于三条时,skill 是过度工程——它的全部价值在于「规则多到你复述不动」,而这个门槛比想象中高。

四条诚实的代价

四种「不装它」的替代品

// 一页选购卡

先装这三个:① brand-guidelines——但必须 cp -r 一份、把七个 hex 和两个字体名换成你们的,当模板用而不是当成品用;② document-skills 里的 pptx——你要的不只是它会做 PPT,是 scripts/thumbnail.py 那张缩略图网格,它是风格类唯一能自动化的那半步验收;③ frontend-design——网页方向上的否定清单,装它的收益几乎全来自那五簇「别长成这样」。

第四个候补:做 claude.ai artifact 才装 web-artifacts-builder(两条脚本 + shadcn/ui);出海报封面才装 canvas-design;手上还没有品牌,先跑 cofoundy/brand-skills 的 brand-voice 和 brand-guidelines 生成一份,再回来做成自己的数值型 skill。

一个都别装的情况:你的风格规则不超过三条——写进 CLAUDE.md,省下的 context 比省下的打字多得多。

// 术语表

oracle(判据源)
能独立判定对错的那个东西。文档类的 oracle 是 XSD,风格类没有——本期讲的全部手法,都是在造它的近似替身。
post-processing(后处理)
先生成内容、再统一套样式的做法。brand-guidelines 走的就是这条路,好处是内容和风格可以分别改、分别验。
fallback font(回退字体)
目标字体缺失时顶上的那个(Poppins→Arial、Lora→Georgia)。风格约束不带回退,换台机器就失效。
design token(设计令牌)
把颜色、字号、间距抽成有名字的变量。它是「风格进代码库」的载体,也是让 skill 变薄的主要办法。
AI slop
模型不加约束时反复滑向的那组默认长相(紫渐变、全圆角、Inter、过度居中)。否定清单型 skill 堵的就是它。

// 延伸阅读

// 想一想

brand-guidelines 一行脚本都没有,为什么不算「偷懒」?
因为它要做的事本来就没有确定性算法可言。文档类把确定性操作写成脚本,是因为那些步骤每次都该一模一样;风格类的执行者是模型本身,规范只要被压成不可解释的字面量就够了。真偷懒的写法是写「保持专业、现代的观感」——那句话既不能执行也不能验。
数值型和否定清单型,该先写哪个?
先写否定清单。数值型只能覆盖你想到的那部分,而模型跑偏的方向高度集中、非常好穷举。实践里通常是:三五条否定清单打底,再逐步把反复出问题的地方固化成数值。
怎么判断自家的风格 skill 值不值得继续留着?
看两个数:装它之后你还需要多少轮口头纠正,以及它的正文有多长。纠正没减少,说明规则写成了形容词;正文很长又天天被触发,那它吃掉的 context 可能比省下的还多——这时该把它拆成设计令牌文件加一句引用。