首页 › skills-review › 拆theme-factory:垫底件的三张底牌

拆theme-factory:横评垫底的官方件,靠什么留在官方仓库里

概述

昨天(2026-09-19)本栏《先写宣言再写码:拆algorithmic-art》给出的四件官方设计层 Skill 对照表里,theme-factory 以加权约 3.4 分垫底——功能弱、存在感低,像个凑数的。今天把它单独拎出来逐段拆完,结论反转:它可能是 anthropics/skills 官方示例集里范式最干净的一件。零脚本、零依赖,全部家当是一份 PDF 样张、一个数据目录和不到六十行正文,却把「资产型 Skill」该有的三件事——强制人工闸门、三层渐进披露、逃生门——全部做成了教科书。本文拆它的 SKILL.md 每一段设计,对照同集的 canvas-design,最后给出照着写一个的最短路径。

评测对比表

Skill 定位 功能完整度 25% 设计质量 25% 实战效果 20% 上手难度 15% 社区活跃度 15% 加权总分
theme-factory(今日重评) 给成品套主题皮 ★★★ ★★★★★ ★★★★ ★★★★★ ★★★ 4.0 / 5
theme-factory(昨日分) 同上 ★★★ ★★★★ ★★★ ★★★★ ★★★ 3.4 / 5
canvas-design(昨日分) 海报/封面视觉设计 ★★★★ ★★★★ ★★★★ ★★★★ ★★★★ 4.0 / 5
brand-guidelines(昨日分) PPTX套官方品牌 ★★★★ ★★★★ ★★★ ★★★★★ ★★★★ 3.9 / 5
algorithmic-art(昨日分) 生成艺术/交互H5 ★★★★★ ★★★★★ ★★★★ ★★★★ ★★★★★ 4.7 / 5

打分依据先说清楚:昨日四行转引自已刊文章,今日 theme-factory 一行为本文独立重评——重评不是翻案,是拆完正文后发现昨天的量表量错了东西:拿「功能完整度」的尺子去量一件故意把功能做薄的资产件, naturally 偏低。凡是给不出真实数字的地方,本文一律不给数字。

一、身世:它不是设计 Skill,是资产管理 Skill

theme-factory 来自 Anthropic 官方仓库 anthropics/skills 的 example-skills 示例集,与 canvas-design、brand-guidelines、algorithmic-art 同层分发。本文的分析底稿是本机 anthropic-agent-skills 插件包里的原件,技能列表中以 example-skills:theme-factory 出现,随包启即可用,无任何配置。

为什么说它不是设计 Skill?看它正文第一段的自述:这是一个「curated collection of professional font and color themes」——精选主题合集。它不生成任何新设计,不判断什么是美,只做一件事:把十套人类预先调好的配色加字体配对,准确无误地套到你的成品上。canvas-design 出租的是审美,theme-factory 出租的是库存。分清这一点,后面每一段设计才讲得通。

二、逐段拆解:六段正文,每段各司其职

2.1 开场两行,和一个官方手滑

正文标题是 # Theme Factory Skill,第一句:

This skill provides a curated collection of professional font and color themes themes, each with carefully selected color palettes and font pairings.

逐行看有两个信息点。其一,「themes themes」连写了两次——官方仓库也手滑,而且这个 typo 就留在分发包里。它提醒我们 SKILL.md 是纯手写提示词,没有编译器帮你查语法,写完自己多读一遍。其二,这句把交付物定义得极窄:色板(带 hex 码)+ 字体配对,仅此两样。开头就把「我不干什么」说死,是资产型 Skill 的正确姿势——模型对边界越清楚,乱发挥的空间越小。

2.2 Purpose 段:一句宽一句窄,藏着一个没写清的地方

Purpose 段先给出触发句:「To apply consistent, professional styling to presentation slide decks, use this skill」——功能边界划在幻灯片上。但开篇第一段又写着主题「can be applied to any artifact」。一宽一窄并存。拆解判断:写作意图是「主打 slides,兼营一切」,但两句没有主次标注,触发仲裁时模型只能自己猜。这是全文唯一一处设计含糊,也正好说明 SKILL.md 里每一句边界声明都是触发逻辑的一部分,宽窄并存就是留给未来的歧义。

2.3 Usage Instructions 四步:整篇的心脏

这是全文最值得抄的一段,四步流水线:

  1. Show the theme showcase:把 theme-showcase.pdf 展示给用户看,并紧跟着一句 —
  2. Do not make any modifications to it; simply show the file for viewing:不许改动这个文件,只许展示;
  3. Wait for selection:等用户明确选定主题,拿到 explicit confirmation 才准动手;
  4. Apply the theme:确认后才把选中的颜色字体铺满全稿。

三个设计决定,每一个都有讲究。

第一,PDF 即 UI。 十个主题长什么样,与其用文字描述「海洋深处是深蓝配浅蓝」,不如直接给一张视觉样张让用户自己看。SKILL.md 的读者是模型,但决策的是人——把「给人看的部分」做成一个现成资产文件,让模型退化为放映员。这是资产型 Skill 独有的招:提示词工程做不了的事,提前做成文件。

第二,「不许改」是一行防自作主张的锁。 模型拿到一个 PDF,默认冲动是「帮用户优化一下」。作者预判了这个冲动,用一句否定句把样张钉死成只读资产。逐行拆到这才看清:这句话防的不是用户,是模型自己。

第三,Wait for selection 是强制人工闸门。 大多数 Skill 的工程方向是减少打断、一路自动跑完,theme-factory 反着来:在动工前插了一个不可跳过的停车点。为什么?因为换皮是审美决策,审美没有对错只有偏好,模型替人做审美决定,错单率百分之百。把唯一的决策权留在闸门处交还给人,其余全部自动化——这是整件 Skill 最聪明的一处。

2.4 十个主题清单:菜单即上下文

正文列出了全部十套主题的名字和一句话定位:Ocean Depths(沉稳海事)、Sunset Boulevard(暖调落日)、Forest Canopy(大地色系)、Modern Minimalist(灰阶极简)、Golden Hour(秋日暖棕)、Arctic Frost(冷冽冬感)、Desert Rose(灰粉柔调)、Tech Innovation(科技感)、Botanical Garden(自然植物系)、Midnight Galaxy(深空戏剧感)。

这段是三层渐进披露的中间层。用户说「稳重一点」,模型扫一眼这十条一句话,就能预筛出 Modern Minimalist 或 Ocean Depths,完全不必打开 themes/ 目录读完整规格。十行清单的 token 成本几乎可以忽略,换来的却是「触发即知菜单」——用户在闸门处做选择时,模型手里已经有足够的推荐依据。把数据目录的目录级摘要直接写进正文,是比「需要时去读某个文件」更进一步的披露设计。

2.5 Theme Details + Application Process:一份数据契约

Theme Details 段只有一句关键信息:每套主题在 themes/ 目录下有独立文件,内含完整规格。Application Process 四步则是消费这份契约的标准动作:读对应主题文件 → 色彩字体全篇一致套用 → 校验对比度与可读性 → 跨页维持视觉身份。

注意第四步「across all slides」——它把「一致性」从一个形容词升格成了一个验收动作:套完不算完,逐页检查过才算完。资产型 Skill 最怕的不是套错色,是套得不匀,第一页用了主题色、第三页又回退到模型自己的默认审美。这一步就是在堵这个漏洞。

2.6 Create your Own Theme:教科书级的逃生门

最后一段处理十个主题都不合意的情况:允许现场生成自定义主题,起一个描述色彩字体组合的名字,先展示给用户过目确认,再按同样流程套用。

逐行看它的两个克制。其一,逃生门没有绕开闸门——自造主题也要「show it for review and verification」,人工确认这一步被完整复用。其二,自定义主题被要求「similar to the ones above」,即沿用既有数据格式,不因为走了逃生门就换成另一套做法。很多 Skill 死在逃生门上:给了 fallback 却没给约束,模型一进 fallback 就脱离原流程自由发挥。这一段示范了逃生门的正确写法:换内容,不换流程。

三、触发设计:全押在 frontmatter 上的赌博

拆到这里要说一个诚实的观察:theme-factory 的正文里没有任何触发引导——没有「Use this skill when...」段落,没有适用场景枚举(Purpose 段那句 slides 除外)。同集的 mcp-builder、skill-creator 都在正文里花大量篇幅教模型「何时叫我」,它一句没写。

这意味着触发全靠 frontmatter 的 description 字段。需要说明:插件加载器回传的是正文全文,frontmatter 原文本文未能逐字核对,以下只谈机制不做引文——Claude Code 常驻上下文的只有每个 Skill 的 name 加 description,正文要等命中后才注入。所以 description 里必须埋够「theme、style、slides、color palette」这类用户嘴里会蹦的词,赌的就是用户说「给 PPT 换个主题」时这串词能命中。这个架构本身没错(正文干净是好事),但它把最关键的触发环节放到了一个本文无法验证的黑箱里,读者自己写 Skill 时要引以为戒的不是学它,而是检查它:写完记得确认你的 description 能被三句最典型的用户原话命中。

四、资源引用设计:零脚本的 Minimal Form

盘点 theme-factory 的全部家当:一份 SKILL.md、一份 theme-showcase.pdf、一个 themes/ 数据目录。没有一行可执行脚本。

对比同集重家伙:mcp-builder 带着参考文档和运行时抓取流程,docx 靠脚本拆包打包。theme-factory 证明了 Skill 的最小完备形态可以只有「正文逻辑 + 展示资产 + 数据文件」三种非代码资源。它能这么瘦,是因为任务本身是确定性的替换操作——套色换字体不需要新代码,宿主模型的既有能力加上数据文件就够了。

这给「要不要给 Skill 写脚本」提供了一个判断式:任务里有没有模型本来不会做、必须靠代码保证正确性的步骤?有,写脚本;没有,学 theme-factory,把力气花在资产和数据上。反过来它也暴露了短板:一旦用户要「把这些主题导出成 CSS 变量」这类真·代码活,它没有任何脚手架,只能裸奔。

五、对照 canvas-design:同一间仓库的两种哲学

把同集的 canvas-design 拉进来照镜子,两个 Skill 的分歧一眼见底。

canvas-design 是宣言式:先让模型写一份美学宣言(.md),再照着宣言上画布出图(.pdf/.png),两阶段分离,创造力拉满。它甚至内嵌了一段耐人寻味的指令——宣称用户已经说过「还不够完美,必须打磨到博物馆水准」,以此预授权一轮强制二次打磨。用假想的用户差评驱动模型自我迭代,这是官方也在用的提示词把戏。

theme-factory 是资产式:不出任何新设计,把人的真实选择(闸门)放在流程正中央,模型只负责准确执行。

维度 canvas-design theme-factory
创造力来源 模型现场生成 人类预先调制
质量保障 预授权的强制二磨 真实用户的闸门确认
产出确定性 低(每次不一样) 高(皮是固定的)
失败模式 审美翻车、AI味 无皮可用(靠逃生门兜底)

有意思的是两家对「反馈」的处理:canvas-design 伪造用户反馈,theme-factory 索要真实用户反馈。前者适合没有对错标准的创作,后者适合纯偏好的选择。写 Skill 之前先想清楚你的任务属于哪一类,再决定把反馈机制放在哪一层。

六、适用与不适用

适合装的三种人: - 天天产出幻灯片、汇报材料,需要品牌感但请不起设计师的职场人; - 有自己公司配色规范、想照着它仿制一套自有主题目录的团队——themes/ 目录就是给你抄的模板; - 想学写 Skill 的开发者——它是全仓库最短的学习样本,一小时能读完所有文件。

不适合的三种场景: - 要从零生成海报、封面、插画——这是 canvas-design 的地盘,theme-factory 没有创造功能; - 非 HTML/PPTX 类成品的精细排版——它只管色彩字体令牌,不管布局; - 想要自动出稿零打扰的流水线——闸门是特性不是缺陷,但确实不适合全自动场景。

安装与使用

# 方式一(推荐):官方插件包一键带入,theme-factory 随 example-skills 全家桶分发
# 在 Claude Code 内运行 /plugin,安装 anthropic-agent-skills 插件包

# 方式二:手动拷贝单件——从官方仓库定位 theme-factory 目录后
git clone https://github.com/anthropics/skills
cp -r <仓库内的 theme-factory 目录> ~/.claude/skills/theme-factory

装好后直接说「给这份 PPT 换个主题」即可触发;它会先甩给你一份十主题样张 PDF,选完才动工。

运行流程图

flowchart TD
    A["用户提起换主题"] --> B["描述命中载入正文"]
    B --> C["展示主题样张PDF"]
    C --> D["用户浏览挑皮"]
    D --> E{"十张现成皮够用吗"}
    E -->|够用| F["读 themes 单文件"]
    E -->|不够| G["现场造自定义主题"]
    G --> H["先给用户过目"]
    H --> I["确认后进入套用"]
    F --> I
    I --> J["全篇替换颜色字体"]
    J --> K["校验对比度可读性"]
    K --> L["逐页维持视觉身份"]

两种设计哲学的分岔:

flowchart TD
    A["canvas-design 宣言式"] --> B["先写美学宣言"]
    B --> C["再上画布出图"]
    C --> D["预授权强制二磨"]
    E["theme-factory 资产式"] --> F["亮出十张现成皮"]
    F --> G["用户拍板才动工"]
    G --> H["读数据文件套皮"]

分维度排行榜(四件官方设计层)

照着写一个:资产型 Skill 五步

  1. 锁定一项纯偏好的重复决策(配色、命名风格、邮件语气),确认它有「人工拍板」环节;
  2. 把给人看的部分做成资产:一张样张 PDF 或一张对照表,并在正文写明「只许展示不许修改」;
  3. 把知识拆成数据文件:一个目录、一选项一文件,目录级一句话摘要直接写进正文当中间层;
  4. 正文写四步闸门流程:展示 → 询问 → 等明确确认 → 套用,外加一条跨场景一致性验收;
  5. 补一段带约束的逃生门:允许自定义,但必须复用同一闸门和同一数据格式。

全文不到六十行, theme-factory 写完了。你的第一个 Skill,大概五十行也够了。

参考来源

  1. example-skills:theme-factory SKILL.md 全文 — anthropic-agent-skills 插件包本地原件,本文逐段拆解的第一手底稿
  2. example-skills:canvas-design SKILL.md 全文 — 同包对照底稿,第五节对照分析的依据
  3. anthropics/skills — 官方 Skills 仓库,theme-factory 随 example-skills 集分发
  4. 本站 2026-09-19《先写宣言再写码:拆algorithmic-art》— 四件官方设计层 Skill 昨日对照评分出处
  5. 本站 2026-09-20《拆mcp-builder:教Claude自己造工具的Skill》— 评分权重与安装方式先例

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入