如何使用 Skill:从理解概念到亲手做一个自己的 Skill
这两年,越来越多的 AI 工具开始支持“Skill”机制。很多人第一次看到这个词,会下意识把它理解成“插件”或者“扩展功能”。这么理解不算错,但还不够准确。
如果要用一句话概括:Skill 本质上是一套交给 AI 的“领域操作手册”。它不是重新训练模型,也不是单纯加一个按钮,而是把某类任务的工作方式、工具调用方式、上下文约束和实践经验,整理成 AI 可以直接使用的结构化说明。
这篇文章就想把三件事讲清楚:
- Skill 是什么
- Skill 有什么作用
- 怎么通过自己做一个 Skill,真正理解它的价值
一、Skill 是什么?
在 OpenClaw 这类兼容 AgentSkills 的系统里,一个 Skill 通常就是一个目录,里面至少有一个 SKILL.md 文件。
最简形式大概长这样:
1 | my-skill/ |
其中:
- Skill:整个技能目录
SKILL.md:这个 Skill 的入口文件- 可选内容:还可以带
scripts/、references/、assets/等资源
一个典型的 Skill 结构可能是这样:
1 | blog-helper/ |
Skill 的本质
Skill 做的事情,不是“让模型变聪明”,而是:
- 告诉 AI 什么时候应该用这个 Skill
- 告诉 AI 遇到这类任务时应该怎么做
- 告诉 AI 该调用哪些工具、按什么顺序做
- 在需要时提供脚本、参考文档、模板等资源
所以更准确地说,Skill 是“能力编排”,不是“能力凭空生成”。
Skill 不是什么?
这几点很容易混淆:
- Skill 不是模型微调
- Skill 不是系统提示词的简单复制
- Skill 也不一定等于插件
- Skill 更像一层面向任务的工作流封装
也就是说,模型本身还是那个模型,但有了 Skill 之后,它在特定场景下会更像一个“受过专门训练的助手”。
二、Skill 的作用:为什么它有价值?
Skill 最大的价值,不是“增加功能”,而是让 AI 更稳定地把功能用对。
1. 把通用 AI 变成领域助手
默认情况下,AI 是通用的。它能回答很多问题,但不一定知道你的项目结构、工具链、目录约定、交付格式。
有了 Skill 之后,你可以把这些上下文固化下来。
比如:
- 你的博客文章都放在
source/_posts - 你的输出默认要用中文
- 生成文章时必须带 frontmatter
- 需要先读最新文章,再做总结
这些东西如果每次都靠临时描述,AI 经常会漏;但写进 Skill 之后,就变成了稳定流程。
2. 让高频任务变成标准动作
很多任务其实不是“不会做”,而是“每次都要重新解释一遍”。
例如:
- 查天气
- 看 GitHub PR 状态
- 搜网页资料
- 检查博客最新文章
- 生成固定格式的周报或日报
这些任务最适合做成 Skill。因为它们的目标明确、流程稳定、重复率高。
3. 把经验沉淀下来,而不是每次从头来过
一个好的 Skill,实际上是在沉淀经验。
比如一个 GitHub 相关的 Skill,除了告诉 AI “用 gh 命令”,更重要的是它会约束 AI:
- 先看 PR 状态,再看 CI
- 不要凭空猜测失败原因
- 要优先读取日志
- 创建评论时给出具体建议
这就是经验的封装。
4. Skill 的作用举例
下面举几个直观例子:
例子一:天气 Skill
当用户问:
今天深圳龙岗区天气怎么样?
如果系统里有天气 Skill,AI 就知道要调用天气查询方式,而不是自己凭常识编造。
例子二:GitHub Skill
当用户问:
帮我看看这个 PR 为什么没过 CI
如果系统里有 GitHub Skill,AI 就会优先走 gh CLI 或对应流程,查看 PR、CI、日志,而不是只停留在泛泛分析。
例子三:搜索 Skill
当用户问:
帮我查一下这篇文章的资料来源
如果系统里有搜索 Skill,AI 就会知道什么时候该用搜索、什么时候该用网页提取、什么时候需要做深度研究。
你会发现,Skill 解决的不是“能不能做”,而是“能不能稳定、准确、低摩擦地做”。
三、怎么使用 Skill?
如果你在用 OpenClaw,一般可以从三个层面理解“使用 Skill”。
1. 查看当前有哪些 Skill
最直接的方式是用 CLI 看:
1 | openclaw skills list |
如果你只想看当前环境下真正可用的 Skill,可以看:
1 | openclaw skills list --eligible |
如果你想知道为什么某个 Skill 不能用,可以检查:
1 | openclaw skills check |
如果你要看某个 Skill 的详细信息:
1 | openclaw skills info <name> |
比如:
1 | openclaw skills info github |
2. 让 AI 在对话里自然触发
很多 Skill 不需要你手动“点开使用”。只要你提出的任务符合触发条件,AI 就会自动选择合适的 Skill。
比如:
- “今天深圳天气怎么样” → 可能触发天气 Skill
- “帮我看这个 PR 状态” → 可能触发 GitHub Skill
- “帮我查网页资料” → 可能触发搜索 Skill
这也是 Skill 很有意思的地方:它不是额外增加一个操作负担,而是在背后改善 AI 的决策质量。
3. 自定义 Skill 位置
OpenClaw 通常会从这些位置加载 Skill:
- 内置 Skills
~/.openclaw/skills- 当前工作区下的
skills/
如果你自己写 Skill,最常见的做法就是放在当前工作区的 skills/ 目录里。
一个经验点是:新增或修改 Skill 后,最稳妥的方式是开启一个新会话,或者重启 Gateway,让新的 Skill 配置生效。
四、实践:自己做一个 Skill
纸上谈兵意义不大。真正理解 Skill,最好的办法就是自己做一个。
这里我用一个非常贴近日常使用的例子来说明:做一个“博客助手” Skill。
目标是这样的:
当我问“我上一篇文章写了什么”时,AI 能自动去博客目录里找到最新文章,读取内容,然后给我一个准确总结。
这个例子很适合,因为它能清楚展示 Skill 的三个核心价值:
- 固化上下文
- 固化流程
- 复用工具
五、示例:做一个 blog-helper Skill
第一步:创建目录
先在工作区创建 Skill 目录:
1 | mkdir -p skills/blog-helper/scripts |
目录结构先搭起来:
1 | skills/ |
第二步:写一个辅助脚本
这个脚本负责找到博客目录里最新的一篇文章。
skills/blog-helper/scripts/find_latest_post.py
1 | from pathlib import Path |
这里你只需要把 BLOG_DIR 改成你自己的博客文章目录即可。
这个脚本本身并不复杂,但它有一个好处:把“如何找最新文章”这件事固定了下来。以后不需要每次让 AI 重新想一遍怎么找。
第三步:编写 SKILL.md
这是最关键的一步。
skills/blog-helper/SKILL.md
1 | --- |
这份 SKILL.md 做了什么?
表面上看,它只是几段 Markdown;但实际上,它定义了一套清晰流程:
- 什么时候用这个 Skill
- 先做什么,再做什么
- 输出结构是什么
- 哪些行为不能做
这就是 Skill 的核心:把模糊任务变成稳定工作流。
六、这个 Skill 怎么被使用?
当你后面在对话里说:
我上一篇文章写的是什么内容?
如果这个 Skill 已经被 OpenClaw 正确加载,AI 就更容易走你预设好的路径:
- 先运行脚本找最新文章
- 再读取文章
- 然后按固定格式总结
而不是像一个完全通用的助手那样,从零开始猜你的博客目录、猜你的文件位置、猜你想要什么格式。
这就是 Skill 的价值:减少歧义,减少重复提示,减少错误路径。
七、从这个例子里,你应该理解什么?
通过这个博客助手例子,可以看到 Skill 至少解决了三个问题。
1. 它保存了上下文
比如博客目录在哪、输出默认用什么语言、总结格式是什么。
2. 它约束了流程
不是“自由发挥”,而是:
- 先找文件
- 再读文件
- 再总结
顺序是清楚的。
3. 它让能力可复用
以后你不只是能问一次“上一篇文章写了什么”,还可以继续扩展:
- 帮我找上一篇 AI 相关文章
- 帮我总结最近三篇文章的主题变化
- 帮我按这个风格起一个新标题
- 直接生成一篇新草稿
只要 Skill 设计得好,这些都可以逐步加进去。
八、写 Skill 时的几个实践建议
最后给几个很实用的建议。
1. 先写“什么时候用”,再写“怎么做”
Skill 的触发描述比正文更重要。因为 AI 只有先判断“该不该用这个 Skill”,才会去看后面的正文。
2. 不要把 Skill 写成大而全说明书
Skill 最怕冗长。真正有用的 Skill,应该是:
- 触发条件明确
- 步骤简洁
- 规则清楚
- 资源按需拆分
3. 能脚本化的就脚本化
如果某段逻辑每次都要重复,最好单独放进 scripts/。
因为脚本比自然语言更稳定,也更省上下文。
4. 不要让 Skill 依赖猜测
像“应该在某个目录里”“可能是这个文件”这种模糊表达,都应该尽量消灭掉。Skill 越具体,AI 用起来越稳。
九、结语
Skill 最值得重视的地方,不在于它听起来多高级,而在于它提供了一种很实用的能力沉淀方式:
- 把一次次临时提示,变成长期可复用的规则
- 把模糊任务,变成可执行流程
- 把通用 AI,变成更懂你工作方式的助手
所以如果你真的想把 AI 用深,不要只停留在“提问”。更进一步的做法,是开始建立属于自己的 Skill。
因为从那一刻开始,你用的就不再只是一个通用模型,而是一套逐渐贴合你自己的工作系统。