OpenClaw 的技能(Skill)系统是其核心扩展机制——通过编写一个 文件,你就能让 AI Agent 学会新能力。本附录从零讲解技能的结构、开发流程和发布方式。
推荐工具:Anthropic 官方出品的 skill-creator 是目前最成熟的技能开发辅助工具,本附录以它为主线。
先分清两个概念:
简单说:Tools 是"能力通道",Skills 是"装进通道里的具体能力"。
OpenClaw 按优先级从高到低加载技能:
同名技能按优先级覆盖,采用懒加载策略(用到时才读取 SKILL.md 正文)。
每个技能是一个文件夹,核心是 :
由两部分组成:YAML frontmatter(元数据)+ Markdown 正文(指令)。
技能内容按需逐级加载,节省上下文窗口:
写作建议:SKILL.md 正文控制在 500 行以内。如果内容较多,将详细文档放到 目录,在正文中用"如需了解 X,请读取 "指引。
skill-creator 是 Anthropic 官方出品的技能开发辅助工具,它能引导你完成从构思到测试的完整流程。
本教程已将 skill-creator 的完整源码收录在 目录,供离线参考。
skill-creator 本身就是一个 OpenClaw 技能,安装方式与其他技能一致:
安装后,skill-creator 会自动出现在 OpenClaw 的可用技能列表中:
skill-creator 采用对话式开发——你只需要在聊天中描述想要的技能,它会引导你完成全部步骤:
第一步:描述意图
在 OpenClaw 聊天界面中,直接告诉 Agent 你想做什么:
或者更具体地:
skill-creator 会通过几个问题帮你明确需求:
- 这个技能让 Agent 做什么?
- 什么时候应该触发?(用户说什么话时)
- 输出是什么格式?
- 需要测试用例吗?
第二步:自动生成 SKILL.md
skill-creator 根据你的回答自动生成完整的 SKILL.md,包括:
- frontmatter 元数据(name、description、依赖声明)
- Markdown 指令正文
- 需要的脚本文件(如 API 调用脚本)
第三步:测试与迭代
skill-creator 会生成 2-3 个测试用例,模拟真实用户的对话场景,然后:
- 用你的技能运行这些测试
- 展示测试结果供你审阅
- 根据你的反馈改进技能
- 重复,直到你满意为止
skill-creator 的完整目录结构
skill-creator 进阶功能
描述优化(Description Optimization)
字段是 AI 决定是否调用技能的唯一依据。skill-creator 内置了自动优化流程:
- 生成 20 个测试查询(10 个应触发 + 10 个不应触发)
- 在你审阅并确认后,运行优化循环
- 自动将评测集拆分为 60% 训练 / 40% 测试
- 每轮迭代最多运行 3 次以获取可靠触发率
- 最终选择测试集得分最高(而非训练集)的描述,避免过拟合
盲测对比(Blind Comparison)
想严格比较两个版本的技能?skill-creator 支持将两个版本的输出交给独立代理盲评——它不知道哪个是新版、哪个是旧版,只根据质量打分。
基准测试(Benchmarking)
每轮迭代自动生成 ,包含:
- 各断言的通过率
- 用时和 Token 消耗对比
- 均值 ± 标准差 + 变化量
如果你更喜欢手动操作,步骤如下:
- 创建目录
- 编写 SKILL.md(参照本附录第二节的格式)
- 验证
- 测试:在聊天中发送触发关键词,观察技能是否正常工作。
以 ClawHub 上的 tavily-search(v1.0.0)为例,看一个真实技能的完整结构。这是一个通过 Tavily API 为 AI Agent 提供网络搜索能力的技能。
Frontmatter 设计
脚本设计模式
核心逻辑(约 100 行):
四条关键原则:
配置方式
安装后在 中配置:
或直接设置环境变量:
技能开发完成后,你可以将它发布到 ClawHub 社区,让全世界的 OpenClaw 用户都能安装使用。
确保你的技能文件夹结构完整:
注意:ClawHub 只接受包含 和纯文本文件的文件夹。二进制文件、图片等不支持上传。
1. 登录 ClawHub
访问 clawhub.ai,使用 GitHub 账号登录。
2. 进入发布页面
点击页面顶部的 "Publish" 按钮,进入技能发布界面:

3. 填写发布信息
4. 上传技能文件夹
将包含 的文件夹拖拽到 "Drop a folder" 区域,或点击 "Choose folder" 手动选择。
上传后,页面右侧会显示检测到的 文件。系统会自动去除外层包裹目录——你只需确保文件夹内有 即可。
5. 自动校验(Validation)
ClawHub 会自动检查技能是否符合社区规则:
- 是否存在且格式正确
- frontmatter 是否包含必需的 和
- 文件是否为纯文本
校验通过后会显示 "All checks passed"。
6. 确认许可证(License)
默认许可证为 MIT-0(MIT No Attribution):
允许任何人免费使用、修改和重新分发,无需署名。
勾选 "I have the rights to this skill and agree to publish it under MIT-0" 确认。
提示:MIT-0 是目前最宽松的开源许可证之一,适合社区共享。如果你的技能包含专有内容,请在发布前确认许可证兼容性。
7. 填写 Changelog(可选)
简要描述这个版本的内容,例如:
8. 发布
确认无误后,点击右下角的 "Publish skill" 按钮。发布成功后,其他用户即可通过以下命令安装:
修改技能后,只需递增版本号并重新上传:
- 更新 SKILL.md 中的内容
- 在发布页面填写新版本号(如 → )
- 上传更新后的文件夹
- 填写 Changelog 说明变更内容
- 点击 Publish
用户可通过 获取最新版本。
ClawHub CLI 的完整用法详见附录 A。
编辑 :
需要 API Key 的技能,推荐使用 SecretRef 安全存储:
支持的 类型:
对于比技能更复杂的扩展需求(如自定义 Transport、新增 Tool 类型),可以开发插件:
常见原因:
- 缺少环境变量( 中声明的变量未设置)
- 缺少系统命令( 中声明的命令未安装)
- SKILL.md 格式错误(frontmatter 缺少 或 )
- 检查 是否准确描述了触发场景
- 确认 未设为
- 尝试在描述中增加触发关键词(skill-creator 的描述优化功能可以帮助解决这个问题)
确保技能目录有正确的读取权限:
开发技能前,用这份清单逐项确认:
- [ ] SKILL.md frontmatter 包含 和
- [ ] 清晰描述触发条件和能力(AI 靠这个决定何时调用)
- [ ] 环境变量需求在 中声明
- [ ] 系统命令依赖在 中声明
- [ ] 脚本输出 Markdown 格式(对 AI 友好)
- [ ] 敏感信息使用环境变量或 SecretRef,不硬编码
- [ ] 错误处理完善(缺少 Key 时 ,API 失败时输出清晰错误)
- [ ] 本地测试通过( + 实际对话测试)
- [ ] 准备发布时:文件夹只含 SKILL.md 和纯文本文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/230838.html