OpenClaw Skills 开发指南: 30 分钟写一个自己的 Skill

7 阅读1分钟

OpenClaw Skills 开发指南

30 分钟,写一个属于你的 Skill。

什么是 Skill?

Skill 是 OpenClaw 的扩展模块,可以:

  • 添加新功能
  • 集成第三方服务
  • 自动化工作流

Skill 结构

my-skill/
├── SKILL.md          # Skill 描述
├── package.json      # 依赖
└── scripts/
    └── main.py       # 主逻辑

实战: 写一个天气 Skill

1. 创建目录

mkdir -p my-skills/weather/scripts
cd my-skills/weather

2. 编写 SKILL.md

# Weather Skill

获取天气信息。

## 用法

用户说"天气 北京",返回北京天气。

## API

使用 wttr.in 免费 API。

3. 编写主脚本

# scripts/main.py
import requests
import sys

def get_weather(city):
    url = f"https://wttr.in/{city}?format=3"
    resp = requests.get(url)
    return resp.text

if __name__ == "__main__":
    city = sys.argv[1] if len(sys.argv) > 1 else "Beijing"
    print(get_weather(city))

4. 测试

python scripts/main.py 上海
# 输出: 上海: ☀️ +25°C

5. 打包

openclaw skill pack .
# 生成 weather.skill

6. 安装

openclaw skill install weather.skill

7. 使用

用户: 天气 深圳
AI: 深圳: 🌤️ +28°C

更复杂的 Skill

带配置的 Skill

# scripts/main.py
import os
import requests

API_KEY = os.environ.get("WEATHER_API_KEY")

def get_weather(city):
    url = f"https://api.weatherapi.com/v1/current.json"
    params = {"key": API_KEY, "q": city}
    resp = requests.get(url, params=params)
    data = resp.json()
    return f"{city}: {data['current']['temp_c']}°C"

SKILL.md 添加:

## 配置

设置环境变量:
- WEATHER_API_KEY: API 密钥

多步骤 Skill

# scripts/main.py
def analyze_city(city):
    # 步骤 1: 获取天气
    weather = get_weather(city)
    
    # 步骤 2: 获取空气质量
    aqi = get_aqi(city)
    
    # 步骤 3: 生成建议
    advice = generate_advice(weather, aqi)
    
    return f"""
{weather}
空气质量: {aqi}
建议: {advice}
"""

Skills 市场

写好的 Skill 可以上架 ClawHub:

openclaw skill publish my-skill.skill

定价建议:

  • 免费工具: ¥0
  • 专业工具: ¥29-99
  • 企业工具: ¥199+

热门 Skill 类型

1. 内容类

  • 文章生成器
  • 翻译助手
  • 摘要工具

2. 数据类

  • 数据抓取
  • 格式转换
  • 报表生成

3. 集成类

  • 掘金发布
  • 飞书通知
  • 邮件发送

4. 自动化类

  • 定时任务
  • 监控告警
  • 批量处理

最佳实践

1. 单一职责

每个 Skill 只做一件事。

2. 错误处理

try:
    result = api_call()
except Exception as e:
    print(f"错误: {e}")
    sys.exit(1)

3. 日志输出

import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info(f"获取 {city} 天气")

4. 文档完善

SKILL.md 要包含:

  • 功能描述
  • 使用方法
  • 配置说明
  • 示例输出

调试技巧

本地测试

python scripts/main.py 参数

查看日志

openclaw logs

环境变量

export DEBUG=true
openclaw skill run weather

总结

写一个 Skill:

  1. 创建目录结构
  2. 编写 SKILL.md
  3. 编写主脚本
  4. 测试
  5. 打包安装

30 分钟,扩展 OpenClaw 能力。


需要帮你写定制 Skill? 私信我,¥199 起。