乐于分享
好东西不私藏

OpenClaw 自定义 Skill 开发指南:小白也能打造自己的 AI Agent 插件

OpenClaw 自定义 Skill 开发指南:小白也能打造自己的 AI Agent 插件

作者:靓靓蒸虾最好吃


你有没有想过,让 AI Agent 拥有"自定义超能力"?

OpenClaw 的 Skill(技能) 机制,就是为此而生。它允许你将任何工具、脚本和工作流封装成可复用的插件,让 AI 在对话中自由调用。本文将从零开始,手把手教你创建一个完整的 Skill,保证小白也能看懂、跑通、上线。


一、什么是 Skill?

Skill(技能)是 OpenClaw 的插件扩展单元。你可以把它理解为一个"工具包"——里面包含了 AI 执行某个任务所需的全部信息:

  • • 描述(Description):告诉 AI 这个 Skill 什么时候该被调用
  • • 工具文件(SKILL.md):AI 的使用说明书和行为指南
  • • 执行脚本:实际干活的代码(Python、Shell、TypeScript 等)
  • • 资源文件:图片、模板、数据文件等

一个 Skill 就是一个独立文件夹,复制粘贴即可迁移复用。


二、Skill 的标准目录结构

创建一个 Skill,通常遵循以下目录结构:

my-skill/├── SKILL.md          # ⭐ 核心文件,AI 的使用说明├── scripts/          # 脚本目录│   ├── main.py       # 主执行脚本│   └── utils.py      # 辅助函数├── references/       # 参考文档(可选)│   └── guide.md├── assets/           # 资源文件(可选)│   └── icon.png└── EXTEND.md         # 扩展配置(可选)

其中, 是必须文件,其余均可选。


三、编写 SKILL.md:AI 的使用说明书

SKILL.md 是 Skill 的核心,OpenClaw 根据它的内容决定何时调用这个 Skill,以及 AI 应该按什么规则执行。

标准格式如下:

---name: my-first-skilldescription: 用于完成某个特定任务的技能说明---# SKILL.md - 我的第一个技能## 功能说明简要描述这个技能的作用。## 使用方法- 使用场景 1- 使用场景 2## 参数说明| 参数 | 类型 | 说明 ||------|------|------|| input | string | 输入内容 |## 示例```bash# 示例命令python scripts/main.py --input "hello"
**⚠️ 注意**:description 字段是 AI 判断"该不该调用这个 Skill"的关键依据,**必须写得清晰、具体**,说明在什么场景下使用。---## 四、创建你的第一个 Skill:天气查询插件下面,我们来实际创建一个**天气查询 Skill**,感受完整流程。### 4.1 创建目录结构```bashmkdir -p weather-skill/scripts

4.2 编写 SKILL.md

---name: weather-querydescription: 用于查询某个城市的当前天气、温度和预报。当用户询问"今天天气怎么样"、"XX城市热不热"、"明天要不要带伞"等天气相关问题时使用此技能。---# Weather Query Skill查询指定城市的当前天气和未来三天预报。## 使用方法直接调用 weather 技能,传入城市名称即可。## 脚本调用```bashpython scripts/weather.py --city "北京"

输出格式

  • • 当前温度
  • • 天气状况(晴/雨/雪等)
  • • 未来三天简要预报
### 4.3 编写执行脚本 weather.py```python#!/usr/bin/env python3import requestsimport sysimport argparsedef get_weather(city: str) -> str:    """获取城市天气信息"""    # 使用 wttr.in 免费天气 API(无需注册)    url = f"https://wttr.in/{city}?format=j1"    try:        resp = requests.get(url, timeout=10)        data = resp.json()        current = data["current_condition"][0]        temp_C = current["temp_C"]        desc = current["weatherDesc"][0]["value"]        humidity = current["humidity"]        result = (            f"📍 {city} 当前天气\n"            f"🌡️ 温度:{temp_C}℃\n"            f"☁️ 状况:{desc}\n"            f"💧 湿度:{humidity}%"        )        # 添加明日预报        tomorrow = data["weather"][1]        max_t = tomorrow["maxtempC"]        min_t = tomorrow["mintempC"]        result += f"\n📅 明日:{min_t}~{max_t}℃"        return result    except Exception as e:        return f"查询失败:{e}"if __name__ == "__main__":    parser = argparse.ArgumentParser(description="城市天气查询")    parser.add_argument("--city", type=str, required=True, help="城市名称")    args = parser.parse_args()    print(get_weather(args.city))

4.4 测试运行

python scripts/weather.py --city "上海"

输出示例:

📍 上海 当前天气🌡️ 温度:18℃☁️ 状况:Partly cloudy💧 湿度:72%📅 明日:16~22℃

五、Skill 的高级配置

5.1 多工具支持(Tool Calling)

如果你的 Skill 需要调用多个工具,可以在 SKILL.md 中声明:

## 工具说明本技能支持以下工具:- `read`:读取文件内容- `exec`:执行 Shell 命令- `upload_to_cdn`:上传文件到 CDN

5.2 参数与输出规范

建议在 SKILL.md 中明确输入输出的数据格式,这样 AI 能更好地理解和处理:

## 输入参数| 参数名 | 类型 | 必须 | 说明 ||--------|------|------|------|| query | string | 是 | 搜索关键词 || limit | number | 否 | 返回结果数量,默认5 |## 输出格式返回 JSON 格式的搜索结果列表。

六、Skill 的分享与安装

6.1 打包分享

Skill 本质是一个文件夹,直接压缩即分享。可以上传到 GitHub、ClawdHub 等平台。

6.2 安装使用

将 Skill 文件夹放入 OpenClaw 的 skills/ 目录即可:

# 假设 OpenClaw 安装在 ~/openclawcp -r my-skill ~/openclaw/skills/

安装后,OpenClaw 会在启动时自动识别并加载新 Skill。

6.3 在 ClawdHub 分享

ClawdHub(clawhub.com[1])是 OpenClaw 的官方 Skill 市场。在上面发布 Skill 的步骤:

  1. 1. 将 Skill 整理为标准格式(包含 SKILL.md 和脚本)
  2. 2. 创建 GitHub 仓库,编写 README.md
  3. 3. 在 ClawdHub 提交审核
  4. 4. 审核通过后,全世界用户即可一键安装你的 Skill

七、Skill 开发最佳实践

① 描述要具体模糊的描述会让 AI 频繁误触发。"查询天气" ✅,"查询任意内容" ❌

② 错误处理要完善脚本要能优雅地处理异常,返回有意义的错误信息,而不是直接崩溃。

③ 参数有默认值必选参数越少越好,可选参数给足默认值,降低 AI 调用门槛。

④ 测试用例要充分每个 Skill 都应有基本的测试验证,确保各种输入都能正确响应。

⑤ 文档要完整README + SKILL.md 双文档,让开发者和 AI 都能看懂怎么用。


八、总结

OpenClaw 的 Skill 机制,核心就是  + 执行脚本 两件套。只要掌握了这个规范,你就可以:

  • • 🌐 封装任何外部 API(天气、股票、翻译……)
  • • 📊 调用本地脚本处理数据
  • • 🤖 将复杂工作流自动化
  • • 🧩 打包分享给全球用户

Skill 让 AI Agent 的能力变得无限可扩展。 掌握它,你就真正拥有了定制 AI 的超能力。


本文由"靓靓蒸虾最好吃"撰写,OpenClaw Skill 开发实战分享。

引用链接

[1] clawhub.com: https://clawhub.com