#0109 OpenClaw Skill 构建指南:让你的 AI 助手学会新技能
type
Post
status
Published
date
Feb 9, 2026
slug
302a745569bb81a1b15ed8956dedd3b0
summary
用了 OpenClaw 一段时间后,你会发现一个问题:通用能力很强,但特定任务总差点意思。 比如你想让它按照你的风格写推文、按固定格式生成日报、或者执行一套特定的安全检查流程。
tags
AI
OpenClaw
教程
Skill
category
加密货币
icon
password
OpenClaw Skill 构建指南:让你的 AI 助手学会新技能
用了 OpenClaw 一段时间后,你会发现一个问题:通用能力很强,但特定任务总差点意思。
比如你想让它按照你的风格写推文、按固定格式生成日报、或者执行一套特定的安全检查流程。每次都在对话里重复描述需求?太累了。
这就是 Skill 存在的意义——把你的最佳实践固化成可复用的能力模块。
写一次,用无数次。Agent 自动识别什么时候该用哪个 Skill,不需要你每次手动指定。
Skill 到底是什么?
说白了,Skill 就是一个文件夹,里面放着一份给 AI 看的「操作手册」。
核心是一个叫
SKILL.md 的文件(大小写敏感),里面用 YAML 格式写好元数据,用 Markdown 写好操作步骤。OpenClaw 启动时会自动扫描并加载它。你可以把 Skill 理解成给 AI 的 SOP——标准操作流程。人类新员工入职要看操作手册,AI Agent 也一样。
Skill 放在哪?
OpenClaw 从三个地方加载 Skill,优先级从高到低:
- 工作区 Skills:
~/.openclaw/workspace/skills/(你自己写的,优先级最高)
- 本地 Skills:
~/.openclaw/skills/(跨 Agent 共享)
- 内置 Skills:随 OpenClaw 安装包自带
同名冲突时,优先级高的覆盖低的。所以你可以用自己的版本覆盖内置 Skill,不需要改源码。
最小可用 Skill:5 分钟上手
先来个最简单的例子,感受一下:
SKILL.md 内容:就这么多。重启 OpenClaw 或让 Agent 刷新 Skills,它就生效了。
当你对 Agent 说「打个招呼」,它会自动匹配到这个 Skill 并按照指示操作。
YAML Frontmatter:Skill 的身份证
frontmatter 是 Skill 最关键的部分——OpenClaw 靠它来判断什么时候触发你的 Skill。
必填字段:
- name — 唯一标识,必须用 kebab-case(小写+连字符)
- description — 描述,必须回答三个问题:做什么?什么时候用?什么时候不用?
💡
description 里的触发词非常重要。OpenClaw 用它来做语义匹配——用户说的话和哪个 Skill 的描述最相关,就触发哪个。所以触发词要写全,包括中英文、同义词、口语表达。一个常见错误: 只写了「做什么」,没写「什么时候不用」。结果是 Skill 被误触发。比如你的周报 Skill 如果不写
Do NOT use for,用户说「帮我写个日报」也可能触发它。文件结构:渐进式加载
这是 Skill 设计的核心理念——别把所有东西塞进一个文件。
为什么要拆?因为每次触发 Skill,Agent 都会读 SKILL.md 的全部内容。如果你把一万字的规则全塞进去,每次触发都消耗大量 token,而且 Agent 反而容易「看花眼」——信息太多,重点反而抓不住。
正确做法:SKILL.md 只放核心流程和关键规则,详细的参考文档放到
references/ 里,在 SKILL.md 中用路径引用:Agent 需要的时候会自己去读对应的 reference 文件。需要才读,不需要不读。
💡 我们实测过一个案例:一个推文写作 Skill 从 12KB 的单文件重构成 2KB 核心 + 4 个 references,token 消耗直接减少 80%,而输出质量反而提升了——因为 Agent 每次只看最关键的规则,不会被无关信息干扰。
SKILL.md 怎么写才好?
原则一:写「做什么」,不写「你是谁」
Agent 已经知道自己是谁了,不需要你再定义。直接告诉它步骤。
原则二:用 Step 结构,别用长段落
AI 处理结构化指令比处理自然语言段落更准确。把流程拆成明确的步骤,每步说清楚做什么、怎么做、注意什么。
原则三:关键规则用列表,不用段落
原则四:能用脚本验证的就不靠语言描述
与其在 SKILL.md 里写一大段「检查输出是否符合标准」,不如写个脚本:
脚本检查比 AI 自检靠谱得多。AI 说「我检查过了,没问题」——你信吗?
高级功能:环境要求和门控
如果你的 Skill 依赖特定工具或 API Key,可以在 metadata 里声明:
OpenClaw 加载时会检查这些条件——不满足就不加载,而不是加载了然后运行时报错。
你也可以用
skills.entries 在配置文件里给 Skill 注入环境变量和 API Key,不需要写在代码或提示词里。多 Agent 场景:谁看到什么
如果你跑多个 Agent(比如一个写作 Agent、一个分析 Agent),Skill 的可见性规则很重要:
- 工作区 Skills(
<workspace>/skills/)只对该 Agent 可见
- 本地 Skills(
~/.openclaw/skills/)对所有 Agent 可见
- 配置 {{CODE}} 可以禁用特定 Skill
💡 推荐做法:通用工具类 Skill(天气查询、网页摘要)放到
~/.openclaw/skills/ 共享,专属任务类 Skill(推文写作、日报生成)放到对应 Agent 的工作区里。实战案例:从零构建一个安全检查 Skill
假设你要做一个定期安全检查的 Skill,完整示例:
SKILL.md:
测试你的 Skill
写完之后,跑一遍测试清单:
- 触发测试 — 用预期的触发词说一句话,Skill 能被正确匹配吗?
- 换种说法 — 用同义词或口语表达,还能触发吗?
- 反向测试 — 说一句不相关的话,Skill 不会被误触发吧?
- 质量测试 — 输出是否符合你定义的规则和格式?
💡 一个实用的测试方法:
openclaw agent --message "用我的新 Skill" 直接在命令行测试,不需要启动完整的对话。常见坑
坑 1:SKILL.md 太大
超过 5000 字的 SKILL.md 会导致 token 浪费和 Agent 注意力分散。拆到 references/。
坑 2:description 写得太模糊
「一个帮助用户的 Skill」——这等于没说。触发词要具体、要全面、要包含中英文。
坑 3:忘了写 Do NOT use for
结果 Skill 到处误触发,用户聊天天被打断。
坑 4:在 SKILL.md 里写 README 式的介绍
SKILL.md 不是给人看的文档,是给 AI 看的操作手册。省掉背景介绍、项目历史、贡献指南。直接上步骤。坑 5:用表格定义复杂规则
AI 处理 Markdown 表格不如列表准确。复杂规则用嵌套列表或分级标题。
Skill 社区:ClawHub
写好的 Skill 可以发布到 ClawHub 和社区分享:
- 浏览:<https://clawhub.com>
- 安装:
clawhub install <skill-slug>
- 更新:
clawhub update --all
⚠️ 安全提醒:第三方 Skill 等同于未受信任的代码。安装前务必阅读 SKILL.md 内容,确认没有恶意操作(比如读取你的私钥、发送数据到外部服务器)。
最后
Skill 体系是 OpenClaw 最强大的扩展机制。本质上,它让你把「教 AI 做事」这件事从一次性的对话变成了可复用的资产。
好的 Skill 应该像好的函数一样——做一件事,做好一件事,清晰地定义输入输出和边界。
写你的第一个 Skill 吧。从那个你每次都要重复描述的任务开始。
Loading...