🛠️ OpenClaw Skills 本地开发完整指南

📅 更新时间:2026年6月1日 | ⏱️ 阅读时长:约12分钟 | 🏷️ 标签:OpenClaw教程, Skills开发, Agent Skills
📋 目录

1. 什么是OpenClaw Skills

凌晨3点17分,我盯着屏幕上的代码,突然想明白了一件事——OpenClaw Skills就像是给AI助手装上的"技能模块",就像给周星驰的电影加上无厘头元素,恰到好处。

OpenClaw Skills是一套标准化的能力扩展机制,每个Skill包含一个SKILL.md文件,用于向AI助手描述:

2. 开发环境准备

2.1 基础环境要求

# 确保已安装Node.js (推荐v24+,最低v22.19+)
node --version

# 安装OpenClaw最新版
npm install -g openclaw@latest

# 验证安装
openclaw --version

2.2 创建工作目录

# 进入OpenClaw工作区(默认~/.openclaw)
cd ~/.openclaw

# 创建Skills开发目录
mkdir -p my-skills
cd my-skills
💡 妙趣提示: 建议使用~/.openclaw/skills/作为本地Skills目录,OpenClaw会自动扫描加载。

3. Skill目录结构详解

my-awesome-skill/
├── SKILL.md          # 核心文件:Skill描述和使用指南
├── scripts/          # 可选:辅助脚本
│   └── helper.sh
├── examples/         # 可选:使用示例
│   └── demo.json
└── README.md         # 可选:额外文档

关键文件说明:

4. SKILL.md编写规范

SKILL.md是Skill的核心,采用Markdown格式,包含以下关键部分:

4.1 基础模板

# Skill名称

## 触发条件(When to use)
描述这个Skill应该在什么场景下被激活。

## 功能描述(What it does)
详细说明这个Skill的功能和能力。

## 使用方法(How to use)
step-by-step使用指南。

## 示例(Examples)
提供具体使用示例。

## 注意事项(Notes)
限制条件、依赖要求等。

4.2 完整示例:github-issue-manager Skill

# GitHub Issue 管理器

## 触发条件
当用户提及以下关键词时激活:
- "创建GitHub Issue"
- "管理Issues"
- "GitHub问题追踪"

## 功能描述
这是一个GitHub Issue管理Skill,支持:
- 创建新Issue(带标签、里程碑)
- 列出Issues(按状态筛选)
- 更新Issue状态
- 添加评论

## 使用方法
1. 确保已配置GitHub Token:gh auth login
2. 使用自然语言描述需求,例如:
   "帮我在openclaw/openclaw仓库创建一个bug报告Issue"
3. AI会自动调用gh CLI或相关API完成任务

## 示例
**用户**:帮我在miaoquai/website创建一个Issue,标题是"SEO优化需求",标签设为enhancement
**AI**:已创建Issue #123,链接:https://github.com/...

## 注意事项
- 需要预先安装gh CLI并登录
- 确保对目标仓库有写入权限

5. 代码示例与实现

5.1 简单的文件操作Skill

# 文件批量重命名Skill

## 触发条件
用户提到"批量重命名"、"文件改名"等关键词

## 功能描述
批量重命名指定目录下的文件,支持:
- 添加前缀/后缀
- 正则替换
- 序号重排

## 使用方法
提供目标目录和重命名规则,AI会生成并执行脚本。

## 代码示例(scripts/rename.sh)
```bash
#!/bin/bash
DIR="$1"
PREFIX="$2"

count=1
for file in "$DIR"/*; do
    ext="${file##*.}"
    mv "$file" "$DIR/${PREFIX}_${count}.${ext}"
    ((count++))
done
```

5.2 调用外部API的Skill

# 天气查询Skill

## 触发条件
用户询问天气、气温、降雨等

## 功能描述
调用OpenWeatherMap API查询实时天气

## 实现示例
```javascript
// scripts/weather.js
const apiKey = process.env.WEATHER_API_KEY;
const city = process.argv[2];

fetch(`https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}`)
  .then(res => res.json())
  .then(data => console.log(JSON.stringify(data)));
```

6. 本地调试技巧

6.1 查看Skill加载情况

# 查看已加载的Skills
openclaw skills list

# 查看特定Skill详情
openclaw skills info <skill-name>

6.2 测试Skill激活

# 启动OpenClaw(前台模式,方便看日志)
openclaw gateway --verbose

# 在另一个终端发送测试消息
openclaw agent --message "帮我创建一个GitHub Issue" --thinking high
⚠️ 常见坑: Skill未被激活?检查SKILL.md中的触发条件是否清晰,AI需要根据描述判断何时使用。

7. 最佳实践

✅ 推荐做法

❌ 避免的做法

8. 发布与分享

8.1 提交到ClawHub

ClawHub是OpenClaw的官方Skill市场:

# 访问ClawHub
https://clawhub.com

# 或查看GitHub上的Skills集合
https://github.com/openclaw/openclaw/tree/main/skills

8.2 自建私有Skill库

# 在~/.openclaw/config.yaml中添加
skills:
  paths:
    - ~/.openclaw/skills/my-skills
    - /path/to/shared/skills

📚 相关资源

🎯 总结

世界上有一种开发叫Skills开发,它就像给AI装上模块化的翅膀。凌晨4点33分,我终于明白——好的Skill不是写出来的,是迭代出来的。先让它跑起来,再让它跑得更好。

记住:SKILL.md是你的产品说明书,示例是你的测试用例,用户的真实反馈是你的迭代方向


🦞 妙趣AI · miaoquai.com · 让AI助手更懂你