🛠️ OpenClaw Skill 开发实战
从 SKILL.md 编写到 ClawHub 发布
让你的 AI 技能被全世界使用
📅 2026-06-09⏱️ 阅读 15 分钟🏷️ Skill · Development · ClawHub
1. 什么是 Skill?
Skill 是 OpenClaw 的技能扩展系统。每个 Skill 是一个目录,包含一个 SKILL.md 文件,定义了 AI Agent 在特定任务中应该遵循的指令。
| 概念 | 说明 |
| SKILL.md | Skill 的核心文件,包含 AI 指令 |
| 触发条件 | 当任务匹配 Skill 名称/描述时自动加载 |
| 工具权限 | 声明 Skill 需要使用的工具 |
| ClawHub | Skill 的发布和分享平台 |
💡 核心理念:Skill 不是代码库,而是"AI 的操作手册"。它告诉 AI "遇到这类任务时,按这个流程做"。SKILL.md 里写的是给 AI 看的指令,不是给人看的文档。
2. Skill 目录结构
my-awesome-skill/
├── SKILL.md # 核心指令文件(必需)
├── README.md # 人类可读的说明(可选)
├── templates/ # 模板文件(可选)
│ ├── report.html
│ └── email.txt
├── scripts/ # 辅助脚本(可选)
│ └── setup.sh
└── examples/ # 示例(可选)
└── usage.md
3. SKILL.md 编写指南
SKILL.md 是 Skill 的灵魂。它需要清晰地告诉 AI:
- 这个 Skill 是干什么的
- 什么时候触发这个 Skill
- 具体的执行步骤
- 使用哪些工具
- 输出什么格式
📝 SKILL.md 模板
# Skill Name
## 描述
一句话说明这个 Skill 的功能。
## 触发条件
当用户请求涉及 [关键词] 时,使用此 Skill。
## 执行步骤
### Step 1: 分析需求
- 使用 `web_search` 搜索相关信息
- 使用 `web_fetch` 获取详细内容
### Step 2: 生成内容
- 按照以下模板生成内容:
- 标题:...
- 正文:...
- 结论:...
### Step 3: 输出结果
- 使用 `write` 工具保存到指定路径
- 使用 `message` 工具发送通知
## 工具权限
- web_search: 搜索信息
- web_fetch: 获取网页
- write: 写入文件
- message: 发送通知
## 输出格式
```html
<!-- 生成的 HTML 模板 -->
```
## 注意事项
- 注意事项 1
- 注意事项 2
5. 完整模板
# SEO 文章生成器
## 描述
根据关键词生成 SEO 优化的长文文章,包含 Schema 标记和内部链接。
## 触发条件
当用户要求"生成 SEO 文章"、"写一篇关于 XX 的文章"时使用。
## 执行步骤
### Step 1: 关键词分析
1. 使用 `web_search` 搜索目标关键词
2. 分析搜索结果中的热门内容
3. 确定文章角度和标题
### Step 2: 内容规划
1. 确定 H2/H3 结构(问题形式)
2. 规划数据表格和代码示例
3. 确定内部链接目标
### Step 3: 内容生成
1. 生成 2000+ 字深度内容
2. 每个 H2 首段直接回答问题
3. 包含至少 2 个数据表格
4. 包含至少 1 个代码示例
### Step 4: SEO 优化
1. 添加 Article Schema 标记
2. 添加 FAQ Schema 标记
3. 插入 5+ 个内部链接
4. 设置 meta 标签
### Step 5: 输出
1. 使用 `write` 保存到 `/var/www/miaoquai/tools/{slug}.html`
2. 使用 `message` 发送完成通知
## 工具权限
- web_search: 关键词研究
- web_fetch: 竞品分析
- write: 保存文章
- message: 发送通知
## 注意事项
- 文章必须超过 2000 字
- 每篇文章至少 5 个内部链接
- Schema 标记必须完整
- 标题必须包含目标关键词
6. 本地测试
# 1. 将 Skill 放入 skills 目录
cp -r my-awesome-skill ~/.openclaw/skills/
# 2. 重启 Gateway 加载新 Skill
openclaw gateway restart
# 3. 测试触发
# 在飞书/Discord 中发送匹配的任务
# 检查 AI 是否正确加载了 Skill
# 4. 检查日志
openclaw gateway logs | grep "skill"
🧪 测试清单
- ☐ Skill 能被正确识别和加载
- ☐ AI 按照 SKILL.md 的步骤执行
- ☐ 工具权限正确授予
- ☐ 输出格式符合预期
- ☐ 错误场景有合理的降级
7. 发布到 ClawHub
# 1. 确保 SKILL.md 完整且测试通过
# 2. 使用 OpenClaw CLI 发布
openclaw skill publish --path ./my-awesome-skill
# 3. 或使用 clawhub 工具
clawhub publish ./my-awesome-skill --name "my-awesome-skill" --version "1.0.0"
# 4. 查看发布状态
clawhub status my-awesome-skill
📋 发布要求
| 要求 | 说明 |
| SKILL.md | 必须存在且内容完整 |
| 名称 | 唯一,小写字母+连字符 |
| 描述 | 一句话说明功能 |
| 版本 | 语义化版本号 |
| 许可证 | 推荐 MIT 或 Apache-2.0 |
8. 最佳实践
- ✅ SKILL.md 写给 AI 看,不是写给人看的文档
- ✅ 步骤要具体,不要模糊的"处理数据"
- ✅ 声明最小工具集,只用真正需要的
- ✅ 提供输出模板,让 AI 知道期望的格式
- ✅ 包含错误处理,告诉 AI 出错时怎么办
- ✅ 版本管理,每次更新递增版本号
- ❌ 不要写太长,SKILL.md 超过 500 行考虑拆分
- ❌ 不要假设 AI 知道上下文,所有信息都要写明
9. 优秀 Skill 案例
| Skill | 功能 | 下载量 |
| ai-seo | AI 搜索 SEO 优化 | 12K+ |
| diagram-maker | 生成 Mermaid 图表 | 8K+ |
| meme-maker | 生成梗图 | 15K+ |
| weather | 天气查询 | 20K+ |
| github | GitHub 操作 | 10K+ |
| notion | Notion 集成 | 6K+ |