首页 › skills-review › 拆theme-factory:一个管家十套皮

概述

官方 skills 仓库里,docx、pdf、xlsx 三件套和审美件 frontend-design 已被拆了个遍,但 theme-factory——那个专门给产出物「换皮」的风格工厂——至今没有一篇逐文件的拆解。本期把它翻到底,核心发现一句话:它可能是整个官方示例包里最纯粹的「资产库型 Skill」范本——SKILL.md 本身几乎不干活,它只是一个调度员,真正的工艺全部下沉到十套预置风格资产里,按需装载。这个模式,恰恰是普通开发者写自己第一个 Skill 时最该抄、也最容易抄对的一条路。

为什么是它:官方包里最后一件没人细看的

anthropics/skills 仓库的示例技能包(example-skills)里,大家耳熟能详的是那几件「重工业」:docx/pdf/xlsx 文档三件套、mcp-builder、skill-creator、webapp-testing。这些都被拆过稿。剩下的几件里:

五件里前四件至少都能归进某个已拆过的品类,只有 theme-factory 代表的模式——Skill 即素材库加调度员——在这个系列里还是空白。而且它恰好是官方仓里最符合 skill-creator 所倡导写作规范(正文短、细节下沉、按需加载)的标准答案。

五件同门横评

评分基于仓库公开文件结构的编辑评测(五星制):

Skill 定位 功能完整度 设计质量 实战效果 上手难度 社区活跃度
theme-factory 风格资产调度 ★★★★ ★★★★★ ★★★★ ★★★★★ ★★★★
canvas-design 海报级视觉工艺 ★★★★ ★★★★ ★★★★ ★★★ ★★★★
brand-guidelines 品牌规则编码 ★★★ ★★★★ ★★★ ★★★★ ★★★
doc-coauthoring 长文协作流程 ★★★★ ★★★★ ★★★★ ★★★★ ★★★
algorithmic-art p5.js 生成艺术 ★★★ ★★★★ ★★★ ★★★ ★★★

一点解释:theme-factory 的设计质量给满,不是因为它功能最强,而是因为它在「SKILL.md 该写多少字」这道官方理解上最 Discipline——每一段正文都有明确职责,没有一句废话。上手难度五星是因为它零配置、零依赖、零脚本,装上就能用。

逐文件拆解

第一眼:目录里几乎没有「代码」

以仓库当前版本为准,theme-factory 的结构大致是:

theme-factory/
├── SKILL.md          # 调度员:决策树 + 使用规则
└── styles/           # 资产库:预置风格定义
    ├── adrasteia.md
    ├── automation.md
    ├── codex.md
    ├── copper.md
    ├── cyberpunk.md
    ├── e-commerce.md
    ├── journalistic.md
    ├── luxury.md
    ├── microform.md
    └── nefuture.md

没有 .py,没有 .sh,没有一个可执行脚本。这一点本身就是第一条教学点:Skill 不等于「带脚本的插件」,一份组织良好的提示词资产就能成件。对比官方 docx 件里大量的解包回填脚本、xlsx 件里的公式安全检查代码,theme-factory 是另一个极端——它把「提示词工程」做到了纯文本的极致。

frontmatter:description 是一份场景清单

Agent Skills 规范里,frontmatter 只有两个必填字段:name 和 description。其中 description 是唯一常驻上下文的触发依据——Claude 靠它判断什么时候加载这个 Skill。

theme-factory 的 description(大意转述)是这么写的:把风格主题套用到产出物上以获得统一外观;当用户想给幻灯片、仪表盘、图表、报告或文档指定视觉风格时使用。

注意它的写法——不是「一个视觉风格化工具」这种功能概括,而是把触发场景逐个列举:slides、dashboards、diagrams、reports、documents。这是官方触发词设计的通用心法:

你在自己写 description 时,可以直接抄这个结构:一句能力描述 + 一串「当用户想……时使用」的场景枚举。

正文:一份只做路由的决策树

SKILL.md 正文的核心是一棵两层决策树:

  1. 第一层分叉:预置还是自定义。 用户点名了十套预置风格之一、或者请求的气质能对上某一套 → 进入预置分支;对不上 → 进入自定义分支。
  2. 预置分支: 定位到对应的风格文件,只读那一个文件,把其中定义的视觉规范应用到当前产物上。
  3. 自定义分支: 从用户给的参考物(截图、网站、品牌手册)里提取色板、字体、排版语言,合成一份风格定义,套用到产物上,并且可以落盘保存供下次复用。

这里藏着本期最值钱的一个观察:SKILL.md 从头到尾没有教任何「怎么设计」的工艺知识。什么叫高对比度、怎么配和谐色、衬线和非衬线怎么搭——这些全部写在 styles/ 下的风格资产里。SKILL.md 只回答一个问题:「此刻该加载哪份资产」。

styles/:十套皮,一次只穿一套

十套预置风格(名字以仓库当前目录为准),气质大致如下:

风格名 一句话气质
Adrasteia 未来学院派
Automation 工业蓝图感
Codex 复古绿屏终端
Copper 暖金属质感
Cyberpunk 霓虹高反差
E-Commerce 电商转化风
Journalistic 报纸编辑部
Luxury 高奢极简
Microform 缩微胶片档案
NeFuture 新粗野主义

每个风格文件内部是一份可执行的视觉规范:色板给出具体 hex 值、字体给出明确组合、排版规则写到「标题怎么处理、正文行高多少、强调用什么手段」的粒度。它不是「给它一种奢华的感觉」这种玄学描述,而是「背景 #XXXXXX、标题用衬线、正文行高 1.7」这种可以直接落地的参数表。

关键在装载策略:十套风格同时只进一套。假设每套风格定义两三百 token,十套全量加载就是两三千 token 的常驻浪费;而按需读取一个文件,成本恒定为一份。这就是 Anthropic 反复强调的渐进式披露(progressive disclosure)三级结构在真实 Skill 里的落法:

  1. name + description 常驻(几十 token)
  2. SKILL.md 正文按需加载(几百 token)
  3. 资产文件按需加载(一次一份)

没有脚本的 Skill 靠什么保证质量

theme-factory 给出的答案是:靠约束的确定性,而不是执行的确定性。脚本型 Skill(如 docx)用代码保证「文件一定能解开、一定能缝回去」;theme-factory 用三件事保证风格不跑偏:

工作流全图

flowchart TD
    A[用户提出产出请求] --> B{带风格诉求}
    B -->|是| C[命中description触发]
    B -->|否| D[普通流程不加载]
    C --> E[读取SKILL.md正文]
    E --> F{预置十套够用}
    F -->|够用| G[定位对应风格文件]
    F -->|不够| H[进入自定义分支]
    G --> I[只读该风格md]
    I --> J[把色板字体应用到产物]
    H --> K[从参考提取视觉参数]
    K --> L[合成自定义风格定义]
    L --> J

可抄的配方:资产库型 Skill 四条

把 theme-factory 的写法提炼成四条可以直接照抄的配方:

  1. 描述写成场景清单,不写功能定义。 触发靠枚举名词,不靠概括形容词。
  2. 正文只做路由,不做工艺。 SKILL.md 回答「加载哪份资产」,不回答「资产里写了什么」。
  3. 资产原子化。 一个资产一个文件,命名即索引,按需装载,一次一份。
  4. 预置兜底 + 自定义逃生门 + 落盘沉淀。 覆盖不了的场景走自定义,产出的自定义风格保存下来,用户的第二次请求就变成了预置命中。

照这个骨架,你的第一个资产库型 Skill 可以这么起头:

---
name: my-style-library
description: 给XX类产物套用预置规范。当用户想
  为报告、幻灯片、页面指定YY风格时使用。
---
# 决策规则
1. 请求命中 assets/ 下某个预置 → 只读该文件并套用
2. 未命中 → 按 assets/_template.md 的格式提取参数,
   合成新规范并保存为 assets/<新名字>.md

适用与不适用

适用:多产出物需要统一视觉;想快速换皮对比效果;风格域可枚举(品牌风、行业风、场景风);不想维护任何代码。

不适用:单件深度工艺——要一张精心构图的海报,canvas-design 的深度工艺路径更合适;强约束的品牌合规——hex 色值和字体是公司红线的,brand-guidelines 那种「规则编码型」更对路;格式交付——要的是 docx/xlsx 文件级正确性,那是文档三件套的活。

一句话分工:theme-factory 管「换皮」,不管「造皮」,也不管「验货」。

安装与上手

手动安装(个人技能目录,通用性最强):

git clone https://github.com/anthropics/skills.git
cp -r skills/theme-factory ~/.claude/skills/

重启会话后直接用自然语言触发:「用 cyberpunk 风格给我的 Q3 复盘做个幻灯片」「这套页面照 luxury 的感觉调一下」。也可以按仓库 README 的指引走插件市场方式整体安装 example-skills 包。

排行榜

参考来源

注:本文写作会话未能联网核验,故全文未引用星数、榜单等易失真数据;文件结构与描述文字以仓库当前版本为准。

  1. anthropics/skills 官方仓库 — theme-factory 及全部官方示例技能的源头
  2. Equipping agents for the real world with Agent Skills — Anthropic 关于 Agent Skills 机制的官方工程博客,渐进式披露的出处
  3. Claude Code Skills 文档 — SKILL.md frontmatter 规范与个人/项目技能目录说明
  4. SkillsMP — 社区 Skills 聚合目录,可检索 theme-factory 的社区衍生版本
  5. Skills Directory — 经安全扫描的 Skills 目录,用于交叉核对同类风格件

[!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学通信知识星球海报-扫码加入