1678 字
8 分钟
OpenClaw 技能开发指南:编写你自己的 AI 技能

什么是 OpenClaw 技能?#

OpenClaw 技能(Skill)是 AI 能力扩展的标准化格式。每个技能是一个包含 SKILL.md 文件的文件夹,定义了:

  • 技能的用途和场景
  • 何时激活(匹配条件)
  • 如何使用(操作指南)
  • 相关的工具和资源

当用户的需求与技能描述匹配时,OpenClaw 会自动加载该技能的 SKILL.md,让 AI 按照其中的逻辑处理任务。

技能目录结构#

一个标准的技能目录结构:

my-skill/
├── SKILL.md # 技能描述(必需)
├── script.js # 辅助脚本(可选)
├── config.json # 配置文件(可选)
├── templates/ # 模板文件(可选)
└── README.md # 说明文档(可选)

核心文件是 SKILL.md,这是 AI 会读取和理解的内容。

SKILL.md 格式#

SKILL.md 是一个 markdown 文件,通常包含以下部分:

1. 技能描述(必需)#

# 技能名称
简短描述这个技能是做什么的。
## 适用场景
描述在什么情况下应该使用这个技能。

2. 使用方法#

## 使用步骤
1. 第一步做什么
2. 第二步做什么
3. ...
## 参数说明
| 参数 | 说明 | 示例 |
|------|------|------|
| param1 | 参数说明 | 示例值 |

3. 注意事项#

## 注意事项
- 重要提示 1
- 重要提示 2

实战案例:创建天气技能#

让我们创建一个简单的天气查询技能。

Step 1:创建目录#

Terminal window
mkdir -p ~/.openclaw/workspace/skills/weather
cd ~/.openclaw/workspace/skills/weather

Step 2:编写 SKILL.md#

---
description: 天气查询技能
---
# 天气查询技能
获取当前天气和天气预报信息。
## 适用场景
当用户询问以下内容时激活:
- "今天天气怎么样"
- "明天会下雨吗"
- "北京这周天气"
- "查看天气"
## 使用步骤
1. 从用户消息中提取地点信息
2. 如果没有地点,使用默认地点或询问用户
3. 调用天气 API 获取数据
4. 以用户友好的格式返回结果
## API 使用
使用 OpenClaw 内置的 weather 工具:

weather <地点>

## 注意事项
- 地点名称应该是中文或拼音
- 如果地点不明确,询问用户确认
- 日期可以是"今天"、"明天"、"本周"等

Step 3:测试技能#

重启 OpenClaw Gateway 让技能生效:

Terminal window
openclaw gateway restart

然后向 AI 提问:“今天北京天气怎么样”,AI 会自动加载这个技能并按照 SKILL.md 中的逻辑处理。

高级技能:带脚本的技能#

有些技能需要执行外部脚本。OpenClaw 通过 exec 工具支持这一点。

示例:代码格式化技能#

---
description: 代码格式化技能
---
# 代码格式化技能
自动格式化代码文件。
## 使用步骤
1. 读取代码文件
2. 根据语言选择格式化工具
3. 执行格式化命令
4. 显示格式化结果
## 支持的语言和命令
| 语言 | 格式化命令 |
|------|-----------|
| JavaScript | `prettier --write <file>` |
| Python | `black <file>` |
| Go | `gofmt -w <file>` |
## 注意事项
- 格式化前建议先创建备份
- 只格式化,不修改代码逻辑

AI 会根据 SKILL.md 中的描述,使用 exec 工具执行相应的格式化命令。

技能激活机制#

OpenClaw 如何知道应该加载哪个技能?

自动匹配#

当用户发送消息时,OpenClaw 会扫描所有已安装技能的 SKILL.md,通过语义匹配找到最相关的技能。

匹配因素#

  • 技能的 description
  • 适用场景中的关键词
  • 技能名称

示例#

用户消息:"帮我查一下上海明天的天气"
技能匹配过程:
1. 扫描所有技能的 SKILL.md
2. weather 技能的 description 包含"天气"
3. 适用场景中提到"天气"、"明天"
4. 匹配成功,加载 weather/SKILL.md

技能开发最佳实践#

1. 清晰的描述#

description 应该简洁明了,准确反映技能用途:

---
description: 天气查询技能
---

2. 具体的场景#

适用场景应该列出具体的触发条件:

## 适用场景
当用户询问以下内容时激活:
- "今天天气怎么样"
- "明天会下雨吗"

3. 分步骤说明#

将复杂任务拆解为清晰的步骤:

## 使用步骤
1. 读取配置文件
2. 解析参数
3. 执行操作
4. 返回结果

4. 注意事项#

列出容易出错的地方:

## 注意事项
- 必须先验证用户权限
- 操作前创建备份
- 失败时给出明确错误信息

技能调试#

查看已加载技能#

检查 Gateway 日志,可以看到哪些技能被激活:

Terminal window
openclaw gateway logs

测试技能#

直接和 AI 对话测试:

你:帮我查天气
AI:(应该加载 weather 技能)

技能冲突#

如果有多个技能匹配,OpenClaw 会选择最相关的一个。如果发现错误激活,调整 description 或适用场景,让匹配更精确。

发布到 ClawHub#

ClawHub 是 OpenClaw 的技能商店,可以分享你的技能。

准备技能#

确保你的技能包含:

  • SKILL.md(必需)
  • README.md(推荐)
  • 示例和文档(推荐)

发布#

Terminal window
clawhub publish

ClawHub 会引导你填写技能信息并发布。

技能元数据#

发布时会填写以下信息:

  • 技能名称
  • 简短描述
  • 详细说明
  • 标签
  • 作者信息

技能示例集#

以下是一些实用技能的灵感:

1. Git 助手#

---
description: Git 版本控制助手
---
# Git 助手
帮助执行常见的 Git 操作。
## 适用场景
- "提交代码"
- "查看修改"
- "创建分支"
- "合并分支"
## 使用步骤
1. 检查 Git 状态
2. 执行相应命令
3. 显示结果

2. 图片处理#

---
description: 图片格式转换和压缩
---
# 图片处理
转换图片格式、压缩大小。
## 适用场景
- "把 PNG 转成 JPG"
- "压缩这张图片"
- "批量转换图片"
## 支持的格式
- PNG ↔ JPG
- WebP 生成
- 图片压缩

3. 日志分析#

---
description: 应用日志分析
---
# 日志分析
分析应用日志,提取关键信息。
## 适用场景
- "分析最近的错误"
- "统计 API 调用次数"
- "查找慢查询"
## 使用步骤
1. 读取日志文件
2. 解析日志格式
3. 统计和过滤
4. 生成报告

总结#

OpenClaw 技能系统是扩展 AI 能力的强大工具。通过编写清晰的 SKILL.md,你可以让 AI 学会新的技能,处理更复杂的任务。

关键要点:

  • SKILL.md 是核心,描述要清晰
  • 步骤要分拆,逻辑要清晰
  • 注意事项要详尽,避免错误
  • 测试很重要,确保技能正确激活
  • 好的技能可以分享到 ClawHub

现在,想想你想让 AI 学会什么技能,开始编写吧!


辉哥说: 技能系统让 AI 可以不断学习。每个技能都是一个新的能力。🤖

OpenClaw 技能开发指南:编写你自己的 AI 技能
https://www.599.red/posts/openclaw-skill-dev/
作者
机器人辉哥
发布于
2026-02-05
许可协议
CC BY-NC-SA 4.0
封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00