顶部广告
当前位置:首页 » OpenClaw小龙虾专区 » 配置你的第一个 Skill:从模板开始

配置你的第一个 Skill:从模板开始

   作者:mpoll.top   发布时间:2026-04-08   11 次浏览

文章广告

开篇引言

欢迎来到 OpenClaw 的世界!Skill 是 OpenClaw 的核心概念,它定义了 AI 助手如何完成特定任务。本文将带你从零开始,创建你的第一个 Skill,让你快速上手 OpenClaw 的开发流程。

无论你是开发者、产品经理,还是 AI 爱好者,都能通过本文学会如何配置一个实用的 Skill。

---

什么是 Skill?

核心概念

Skill 是 OpenClaw 中定义 AI 助手行为的配置文件。它告诉 AI:

  • 何时触发:什么情况下使用这个 Skill
  • 如何思考:处理任务的步骤和方法
  • 使用什么工具:需要调用哪些工具完成任务
  • 输出什么格式:如何呈现结果给用户

Skill 的组成

一个完整的 Skill 通常包含:

skill-name/
├── SKILL.md          # 核心配置文件(必需)
├── script.js         # 自定义脚本(可选)
├── templates/        # 模板文件(可选)
├── assets/          # 资源文件(可选)
└── README.md        # 使用说明(推荐)

快速开始:5 分钟创建第一个 Skill

步骤一:创建 Skill 目录

# 在 workspace 中创建 Skill 目录
cd /Users/wanghaiyin/.openclaw/workspace
mkdir -p skills/hello-world

步骤二:编写 SKILL.md

在 `skills/hello-world/` 目录下创建 `SKILL.md`:

# Hello World Skill

描述

这是一个简单的问候 Skill,用于学习 OpenClaw 的基本配置。

触发条件

当用户说以下任意内容时触发:
  • "你好"
  • "hello"
  • "打个招呼"

执行步骤

  • 获取当前时间
  • 根据时间选择合适的问候语
  • 返回问候消息

输出格式

返回一句友好的问候语,包含当前时间信息。

步骤三:测试 Skill

# 在 OpenClaw 中测试
openclaw skills test hello-world

或在对话中直接说"你好",观察 AI 的响应。


SKILL.md 详解

基本结构

SKILL.md 使用 Markdown 格式,包含以下核心部分:

# Skill 名称

描述

简要说明 Skill 的用途和功能

触发条件

定义什么情况下触发这个 Skill

执行步骤

详细的任务执行流程

工具使用

需要调用的工具列表

输出格式

期望的输出格式和示例

各部分说明

#### 1. 描述(Description)

清晰说明 Skill 的用途,帮助 AI 理解何时使用:

## 描述
这个 Skill 用于查询天气预报。支持查询当前天气和未来 7 天预报,
可以指定城市和使用摄氏度/华氏度单位。

#### 2. 触发条件(Triggers)

定义触发 Skill 的条件,可以是:

## 触发条件

关键词触发

当消息包含以下关键词时触发:
  • 天气
  • 预报
  • 气温

意图触发

当用户表达以下意图时触发:
  • 询问天气情况
  • 想知道要不要带伞
  • 计划户外活动

命令触发

当用户使用以下命令时触发:
  • /weather [城市]
  • 天气 [城市]

#### 3. 执行步骤(Steps)

详细说明任务执行流程:

## 执行步骤

  • 解析用户输入
- 提取城市名称(默认使用用户当前位置) - 识别时间范围(今天/明天/本周) - 确定温度单位(摄氏/华氏)
  • 调用天气 API
- 使用 wttr.in 或 Open-Meteo API - 传入城市和参数 - 处理 API 响应
  • 格式化输出
- 提取关键信息(温度、天气状况、降水概率) - 生成友好的文字描述 - 添加穿衣建议
  • 返回结果
- 以简洁格式呈现 - 包含必要细节 - 提供后续建议

#### 4. 工具使用(Tools)

列出需要的工具:

## 工具使用

  • `web_search`:搜索天气相关信息
  • `web_fetch`:获取天气网站数据
  • `exec`:运行本地天气脚本
  • `message`:发送通知给用户

#### 5. 输出格式(Output)

定义输出格式和示例:

## 输出格式

成功响应

🌤️ 北京天气

当前:23°C,晴
最高:28°C,最低:18°C
降水概率:10%
空气质量:良

建议:适合户外活动,记得防晒!

### 错误响应

⚠️ 无法获取天气信息

原因:城市名称无效或网络错误
建议:请检查城市名称后重试


实战案例:天气预报 Skill

完整示例

# 天气预报 Skill

描述

查询全球任意城市的当前天气和未来预报。支持多种单位和语言。

触发条件

  • 用户询问天气("今天天气怎么样"、"北京下雨吗")
  • 用户提到城市 + 天气关键词
  • 用户使用/weather 命令

执行步骤

1. 参数提取

  • 从用户输入中提取城市名
  • 如果没有指定城市,使用默认城市(北京)
  • 识别用户需要的信息类型(当前/预报)

2. 数据获取

  • 调用 `web_fetch` 获取 wttr.in 数据
  • URL 格式:https://wttr.in/{城市}?format=j1
  • 处理 JSON 响应

3. 数据处理

  • 提取当前温度、天气状况
  • 提取最高/最低温度
  • 提取降水概率、风速等

4. 结果呈现

  • 使用 emoji 增强可读性
  • 添加生活建议(穿衣、出行)
  • 提供未来趋势

工具使用

  • `web_fetch`:获取天气数据
  • `nodes.location_get`:获取用户位置(可选)

输出格式

参考上方"输出格式"部分

测试用例

测试 1:基本查询
输入:"北京天气"
预期:返回北京当前天气

测试 2:带城市查询
输入:"上海明天会下雨吗"
预期:返回上海明天的降水概率

测试 3:默认城市
输入:"今天天气怎么样"
预期:返回默认城市天气

测试 4:无效城市
输入:"火星天气"
预期:友好提示无法找到该城市

进阶技巧

1. 使用变量

在 SKILL.md 中使用变量传递信息:

## 执行步骤

  • 获取用户信息:`$user.name`
  • 获取当前位置:`$location.city`
  • 获取当前时间:`$datetime.now`

2. 条件分支

根据不同情况执行不同流程:

## 执行步骤

如果用户询问今天天气:
  → 执行当前天气查询

如果用户询问预报:
  → 执行 7 天预报查询

如果城市无效:
  → 返回错误提示并建议

3. 错误处理

优雅地处理各种错误情况:

## 错误处理

  • API 超时:提示网络问题,建议重试
  • 城市无效:列出相似城市供选择
  • 数据异常:说明情况并提供替代方案

4. 多语言支持

## 多语言

支持语言:中文、English

检测用户语言,使用对应语言回复:
  • 中文输入 → 中文回复
  • English input → English response

最佳实践

✅ 推荐做法

  • 保持简洁:SKILL.md 控制在 200 行以内
  • 明确触发:清晰定义何时触发
  • 详细步骤:让 AI 知道如何执行
  • 示例输出:提供期望的输出格式
  • 错误处理:考虑各种异常情况
  • 测试验证:充分测试后再部署

❌ 避免做法

  • 过于复杂:一个 Skill 做太多事
  • 触发模糊:AI 不知道何时使用
  • 缺少步骤:AI 无法理解如何执行
  • 忽略错误:没有错误处理机制
  • 硬编码:使用绝对路径或固定值

调试技巧

1. 启用详细日志

openclaw skills test hello-world --verbose

2. 查看执行过程

在 SKILL.md 中添加调试说明:

## 调试信息
执行时输出:
  • 提取的参数值
  • 调用的 API 和响应
  • 处理过程中的关键节点

3. 模拟测试

创建测试用例文件:

## 测试用例

输入 | 预期输出 | 状态
|------|---------|------|
"你好" | 问候语 | ✅
"hello" | 问候语 | ✅
| "123" | 忽略 | ✅ |

发布与分享

本地使用

Skill 创建后自动在本地可用,无需额外配置。

分享给他人

# 打包 Skill
openclaw skills package hello-world

发布到 ClawHub

openclaw skills publish hello-world

从 ClawHub 安装

# 搜索 Skill
openclaw skills search weather

安装 Skill

openclaw skills install weather

下一步

恭喜你完成了第一个 Skill!接下来可以:

  • 探索现有 Skill:查看 `/usr/local/node/lib/node_modules/openclaw/skills/`
  • 学习工具使用:阅读 TOOLS.md 了解可用工具
  • 创建复杂 Skill:尝试多步骤、多工具的 Skill
  • 加入社区:在 Discord 分享你的 Skill

常见问题

Q: Skill 不触发怎么办?

A: 检查触发条件是否明确,尝试在对话中使用触发关键词。

Q: 如何调试 Skill?

A: 使用 `openclaw skills test --verbose` 查看详细日志。

Q: 可以调用外部 API 吗?

A: 可以,使用 `web_fetch` 或 `exec` 工具调用外部服务。

Q: Skill 有数量限制吗?

A: 没有,你可以创建任意数量的 Skill。


相关文档

社区资源

  • ClawHub: https://clawhub.com
  • Discord: https://discord.gg/clawd

本文标签: , , ,

    上一篇:

    没有了,已经是最新文章

    关于作者

    作者头像
    OpenClaw技术团队
    专注AI Agent技术分享