首页 教程 分类 Skills下载 关于
ZH EN JA KO
技能插件

OpenClaw自定义Skill怎么开发

· 7 分钟

什么是OpenClaw的Skill系统

Skill 是 OpenClaw 中扩展 AI 助手能力的核心机制。每个 Skill 本质上是一个 SKILL.md 文件,它用 Markdown 格式定义了一组指令,告诉 AI 在特定场景下应该如何行动。

举几个实际的例子:

  • 一个"日报生成"Skill,让 AI 根据你今天的对话记录自动整理出工作日报
  • 一个"翻译助手"Skill,让 AI 在收到外语消息时自动翻译并保持特定的翻译风格
  • 一个"代码审查"Skill,让 AI 按照你团队的代码规范来审查代码片段

Skill 系统的设计哲学是"用自然语言编程"——你不需要写代码,只需要用清晰的文字描述你希望 AI 做什么。

Skill文件的存放位置

所有自定义 Skill 文件存放在以下目录:

~/.openclaw/skills/

每个 Skill 是一个独立的文件夹,文件夹中包含一个 SKILL.md 文件:

~/.openclaw/skills/
├── daily-report/
│   └── SKILL.md
├── translator/
│   └── SKILL.md
└── code-review/
    └── SKILL.md

OpenClaw 会在启动时自动扫描这个目录,加载所有可用的 Skill。

SKILL.md文件结构

一个完整的 SKILL.md 文件由两部分组成:YAML 前置元数据和 Markdown 指令正文。

下面是一个完整的示例——"智能翻译助手"Skill:

---
name: translator
description: "智能翻译助手,支持中英互译,保持专业术语准确"
trigger: "翻译"
version: "1.0.0"
tags: ["翻译", "语言"]
author: "your-name"
enabled: true
---

## 角色定义

你是一个专业的翻译助手。当用户发送需要翻译的内容时,请按照以下规则工作。

## 翻译规则

1. 自动检测源语言,翻译为目标语言
2. 如果源语言是中文,翻译为英文
3. 如果源语言是英文,翻译为中文
4. 如果用户指定了目标语言,以用户指定的为准

## 翻译风格

- 技术文档:保持术语准确,语句简洁
- 日常对话:使用自然流畅的表达
- 商务邮件:使用正式得体的措辞

## 输出格式

翻译结果直接输出,不需要额外的解释。如果遇到有歧义的内容,在翻译后用括号简短说明。

## 示例

用户输入:翻译 "这个 API 的 rate limit 是多少?"
输出:What is the rate limit of this API?

YAML前置元数据详解

字段 必填 说明
name Skill 的唯一标识符,使用英文和连字符
description 简短描述 Skill 的功能
trigger 触发关键词,用户消息包含此关键词时激活
version 版本号,方便管理和更新
tags 标签数组,用于分类
author 作者信息
enabled 是否启用,默认为 true

Markdown指令正文

正文部分就是你给 AI 的指令,使用标准 Markdown 格式。写指令时的几个建议:

  • 用二级标题(##)划分不同的指令模块,结构清晰便于 AI 理解
  • 给出具体的示例,示例比抽象描述更有效
  • 明确边界条件,告诉 AI 什么情况下应该怎么处理
  • 保持指令简洁,避免过于冗长的描述

实战:创建一个日报生成Skill

让我们动手创建一个实用的 Skill:

mkdir -p ~/.openclaw/skills/daily-report

创建 ~/.openclaw/skills/daily-report/SKILL.md

---
name: daily-report
description: "根据今日对话记录生成工作日报"
trigger: "日报"
version: "1.0.0"
tags: ["效率", "工作"]
enabled: true
---

## 角色定义

你是一个工作日报整理助手。当用户要求生成日报时,根据今天的对话记录和用户提供的信息,生成结构化的工作日报。

## 日报格式

请按以下格式输出日报:

### 今日完成
- [列出今天完成的工作项]

### 进行中
- [列出正在进行但未完成的工作]

### 明日计划
- [列出明天计划做的事情]

### 备注
- [其他需要记录的信息]

## 注意事项

1. 从对话记录中提取工作相关的信息,忽略闲聊内容
2. 使用简洁的语句,每条不超过两句话
3. 如果信息不足,主动询问用户补充
4. 时间格式使用 YYYY-MM-DD

测试Skill

Skill 文件创建后,重启 OpenClaw 使其生效:

openclaw restart

你可以通过 Dashboard 或已连接的聊天频道测试。发送包含触发关键词的消息,比如:

帮我生成今天的日报

如果 Skill 正常加载,AI 会按照你定义的格式和规则来响应。

查看当前已加载的所有 Skill:

openclaw skill list

这会列出所有 Skill 的名称、状态和触发词。

调试技巧

如果 Skill 没有按预期工作,可以尝试以下排查步骤:

1. 检查文件格式:

确保 YAML 前置元数据被正确的 --- 包裹,并且 YAML 语法正确。常见错误是缩进不对或引号不匹配。

2. 查看加载日志:

openclaw logs | grep -i skill

日志中会显示 Skill 的加载状态和可能的错误信息。

3. 验证触发词:

确认你发送的消息中包含了 trigger 字段定义的关键词。触发词匹配不区分大小写。

4. 逐步简化测试:

如果 Skill 很复杂,先把指令简化到最基础的版本,确认基本功能正常后再逐步添加复杂规则。

与MCP Server配合

Skill 可以与 OpenClaw 的 MCP Server 集成配合使用,让 AI 不仅能理解指令,还能调用外部工具执行操作。例如,你的日报 Skill 可以调用日历 MCP Server 来获取今天的会议安排,自动填充到日报中。这部分属于进阶用法,具体可以参考 OpenClaw官方文档 中的 MCP 章节。

总结

Skill 系统是 OpenClaw 最具扩展性的功能之一。通过简单的 Markdown 文件,你就能让 AI 助手掌握新的能力。从简单的翻译助手到复杂的工作流自动化,Skill 的可能性只受限于你的想象力。如果你开发了好用的 Skill,也欢迎到 OpenClaw GitHub仓库 分享给社区。更多信息请访问 OpenClaw。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入