01 · 技能:一个文件夹就是一种能力
技能是 OpenDesign 的核心。一个技能就是一个装着 SKILL.md 的文件夹,里面写清楚这类活该怎么做。
关键不在官方提供了多少个,在于它的形状:纯 Markdown,你能加,也能拿走。
官方库里有什么
按官方的分类,插件库里的「Skills」这一类目前 23 个,是纯指令型的——文案、色彩理论、创意方向、头脑风暴这类,输出完全取决于你的输入。
另外还有 292 个「Templates」,是可运行的模板,每个都带一份 example.html。两者的区别是:
| Skills | Templates | |
|---|---|---|
| 内容 | 纯 SKILL.md 指令 | 指令 + 可运行的示例文件 |
| 输出 | 取决于你给的输入 | 有一个视觉起点 |
| 数量 | 23 | 292 |
| 适合 | 需要判断的活 | 需要起点的活 |
实际用的时候你不太需要区分,界面里都在插件库里。
一个技能长什么样
SKILL.md 里通常包含这几块:
---
name: saas-landing
description: 面向 B2B SaaS 的落地页。适用于……
craft: [accessibility-baseline, state-coverage, typography-hierarchy]
---
## 什么时候用这个技能
(描述适用场景,让 Agent 自己判断该不该加载)
## 必须问清楚的
(这一段驱动需求表单——它问什么,来自这里)
## 页面结构
(这类东西的标准骨架)
## 硬约束
(不能做的事)
## 验收
(怎么算做完了)craft 那一行值得注意:技能声明自己需要哪些 Craft 规则,Agent 加载技能时会把对应的规则一起装进系统提示。所以质量底线是跟着技能走的,不用每次在提示词里重复。
什么时候该写自己的技能
一个判断标准:同一类活你已经做了三次,每次的提示词都八九不离十。
到这个程度,那份提示词里其实已经沉淀了你的判断——你知道这类东西该有哪几段、该问客户什么、什么写法一定不行。把它写成技能,下次直接调。
反过来,做了一次觉得不错就急着写技能,通常会写成一份很泛的东西,用起来还不如现场说清楚。
从一次成功的生成反推
最省事的写法不是从头写,是让 Agent 帮你反推:
刚才那次生成的效果我很满意。请把这次的做法固化成一个 SKILL.md。
要包含:
1. 这个技能适用于什么场景,不适用于什么。
2. 生成前必须问清楚的信息(这部分会驱动需求表单)。
3. 这类产物的标准结构。
4. 这次我们做对的那些具体判断——把它们写成规则。
5. 硬约束:什么绝对不能做。
6. 验收标准。
写完之后告诉我,哪些地方你是从这一次的上下文里推断的,
可能不适用于下一次。最后那一问很重要。从单次成功反推出来的技能,容易把偶然当必然。让它自己标出来,你再判断哪些该留。
把技能抽出去用
技能是文件夹,所以能往外带。
你可以把一个技能从 OpenDesign 里拿出来,直接丢进自己的 Claude Code 或者 Codex 会话当上下文。适合两种情况:你要的能力在界面里没有对应入口;或者你在写自动化脚本,不想开 GUI。
这也是「换 Agent 不返工」的实际含义——技能跟 Agent 无关,跟 OpenDesign 也没有强绑定。
一个实际的例子
假设你每个月都要做一份产品月报,结构固定:核心指标、三件做完的事、两个问题、下月计划。
第一次你写了一长段提示词,效果不错。第三次之后,把它写成技能:
技能的骨架
---
name: monthly-product-report
description: 团队内部产品月报。固定四段结构,面向不看细节的管理层。
craft: [accessibility-baseline, typography-hierarchy, state-coverage]
---
## 什么时候用
内部月报、周报、双周报。不适用于对外发布的材料。
## 必须问清楚的
- 本月的核心指标有哪些,数值是真实的还是待补
- 做完的事里,哪一件是这个月最重要的
- 问题那部分,是要暴露还是要带解法一起说
- 读者是否需要上下文(新加入的管理层 vs 一直在跟的)
## 结构
1. 一句话总结(这个月的判断,不是流水账)
2. 核心指标,最多 4 个,每个带环比
3. 做完的事,最多 3 件,按重要性排
4. 问题,最多 2 个,每个带下一步
5. 下月计划,最多 3 条
## 硬约束
- 指标缺数据时写「待补」,不要估算
- 不要写「持续优化」「稳步推进」这类没有信息的短语
- 每一段都要能被删掉而不影响其他段的理解
## 验收
- 一个没参加过任何会议的人能不能读懂
- 每个数字能不能说出来源之后每个月只需要给它这个月的数据。
常见坑
| 坑 | 表现 | 怎么办 |
|---|---|---|
| 技能写太泛 | 跟不用技能差不多 | 写具体的判断,不是通用流程 |
| 把一次性的东西写进去 | 下次全不适用 | 让它标出「这次特有」的部分 |
| 技能太长 | Agent 抓不住重点 | 一个技能管一类活,别做万能的 |
| 忘了声明 craft | 质量底线没兜住 | frontmatter 里把需要的规则列上 |
相关
- 02 · 设计系统 — 技能管流程,设计系统管长相
- 04 · Craft — 技能声明的那些规则具体是什么