OpenClaw Skill是什么?为什么你需要学会开发Skill?
OpenClaw是一个开源AI Agent框架,而Skill(技能)是OpenClaw扩展Agent能力的核心机制。你可以把Skill理解为Agent的"插件"——每个Skill赋予Agent一项新能力,比如联网搜索、操作文件、发送邮件、调用API等。
2026年,掌握Skill开发 = 掌握AI Agent的无限扩展能力。
无论是个人用户想让Agent自动管理日程,还是企业用户需要Agent对接内部系统,都离不开自定义Skill开发。
一、Skill的核心结构
一个完整的Skill由以下文件组成:
my-skill/
├── SKILL.md # 技能说明文件(必须)
├── scripts/ # 脚本目录
│ ├── install.sh # 安装脚本(可选)
│ └── run.sh # 运行脚本(可选)
├── templates/ # 模板目录(可选)
└── config.json # 配置文件(可选)
SKILL.md —— Skill的灵魂
SKILL.md是Skill的唯一必须文件,它告诉Agent:
- 什么时候触发这个Skill
- 怎么执行具体任务
- 有哪些参数需要用户提供
Agent每次收到用户消息时,会扫描所有已安装Skill的SKILL.md,判断是否匹配当前任务。
二、5分钟创建你的第一个Skill
步骤1:创建Skill目录
# 进入Skill目录
cd ~/.qclaw/skills
# 创建新Skill
mkdir hello-skill
cd hello-skill
步骤2:编写SKILL.md
# Hello Skill
当用户说"你好"或"打招呼"时,使用此技能回复友好的问候。
## 触发条件
- 用户消息包含"你好"、"hello"、"hi"、"打招呼"
## 执行步骤
1. 获取当前时间
2. 根据时间段生成问候语
3. 返回问候消息
## 输出格式
直接回复问候消息,不需要调用任何工具。
步骤3:安装并测试
# 在OpenClaw中安装Skill
openclaw skill install ./hello-skill
# 测试Skill
# 在聊天中发送"你好",Agent将自动触发此Skill
就这么简单!你的第一个Skill已经可以工作了。
三、进阶:带脚本的Skill开发
大多数实用Skill需要执行脚本。下面我们创建一个天气查询Skill,调用外部API获取实时天气。
SKILL.md
# 天气查询技能
当用户询问某个城市的天气时,调用此技能查询实时天气数据。
## 触发条件
- 用户消息包含"天气"、"气温"、"下雨"、"几度"等关键词
## 执行步骤
1. 从用户消息中提取城市名称
2. 运行脚本:`bash scripts/weather.sh {城市名}`
3. 将脚本返回的JSON数据格式化为友好的天气描述
## 参数
- city(必须):城市名称,如"北京"、"上海"
## 输出格式
回复格式:{城市}今日天气:{天气},温度{温度}°C,{额外提示}
scripts/weather.sh
#!/bin/bash
CITY="$1"
# 调用天气API
curl -s "https://wttr.in/${CITY}?format=j1" | \
python3 -c "
import sys, json
data = json.load(sys.stdin)
current = data['current_condition'][0]
print(json.dumps({
'city': '${CITY}',
'temp': current['temp_C'],
'desc': current['weatherDesc'][0]['value'],
'humidity': current['humidity'],
'wind': current['windspeedKmph']
}))
"
scripts/install.sh
#!/bin/bash
# 检查依赖
command -v curl >/dev/null 2>&1 || { echo "需要安装curl"; exit 1; }
command -v python3 >/dev/null 2>&1 || { echo "需要安装python3"; exit 1; }
echo "天气查询Skill安装完成"
四、Skill开发最佳实践
1. SKILL.md编写技巧
- 触发条件要精确:避免过于宽泛导致误触发
- 执行步骤要具体:Agent按步骤执行,描述越清晰效果越好
- 包含错误处理:告诉Agent遇到异常时怎么做
- 提供示例:在SKILL.md中加入输入输出示例
2. 脚本安全规范
| 规则 | 说明 |
|---|---|
| 不硬编码密钥 | 使用环境变量存储API Key |
| 验证用户输入 | 防止命令注入攻击 |
| 最小权限原则 | 脚本只访问必要资源 |
| 记录操作日志 | 方便排查问题 |
3. 性能优化
- 脚本执行超时控制在30秒内
- 大量数据分页返回,避免一次性加载
- 使用缓存减少重复API调用
- 异步处理耗时操作
五、Skill发布与分享
发布到SkillHub
# 打包Skill
cd ~/.qclaw/skills/my-skill
zip -r my-skill.zip .
# 上传到SkillHub
openclaw skill publish my-skill.zip
通过npm发布
# 初始化npm包
npm init
# 发布
npm publish
安装他人分享的Skill
# 从SkillHub搜索安装
openclaw skill search "天气"
# 从npm安装
openclaw skill install weather-query
# 从本地zip安装
openclaw skill install /path/to/skill.zip
六、实战:完整Skill开发案例
以下是一个RSS订阅Skill的完整结构,供参考:
rss-reader/
├── SKILL.md
│ 触发:"订阅"、"RSS"、"文章更新"
│ 步骤:解析URL → 拉取Feed → 格式化输出
├── scripts/
│ ├── install.sh # 安装feedparser依赖
│ ├── add.sh # 添加订阅源
│ ├── list.sh # 列出所有订阅
│ └── fetch.sh # 拉取最新文章
├── templates/
│ └── item.md # 文章展示模板
└── config.json
默认刷新间隔、最大文章数等配置
七、常见问题
Q:Skill和MCP Server有什么区别?
A:Skill是OpenClaw Agent的能力扩展,通过SKILL.md描述触发和执行逻辑;MCP Server是通用协议的工具服务,可以被任何支持MCP的AI应用调用。Skill更轻量、更贴合Agent场景,MCP更通用。
Q:一个Agent可以安装多少个Skill?
A:没有硬性限制,但建议控制在20个以内。Skill越多,Agent匹配和调用的延迟越高。
Q:Skill开发需要什么编程语言?
A:SKILL.md是纯文本,脚本部分支持Bash、Python、Node.js等任何可执行语言。
Q:如何调试Skill?
A:在OpenClaw中开启调试模式:openclaw config set debug true,然后触发Skill,查看详细执行日志。
总结
OpenClaw Skill开发是2026年AI Agent生态中最实用的技能之一。掌握Skill开发,你就能让Agent做任何你想让它做的事——从自动化办公到智能运维,从数据分析到内容创作,想象力是唯一的限制。
学习路径:
- 理解Skill结构和SKILL.md编写 ← 你在这里
- 开发带脚本的实用Skill
- 发布Skill到SkillHub社区
- 构建Skill组合,实现复杂工作流自动化
本文持续更新,关注OpenClaw Skill开发最新动态请收藏本页。
版权声明
本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论