第5课 技能 (Skills)#

为什么需要了解这个#

工具(上一课内容)是助手的能力。而技能(Skills)是使用说明,教助手如何正确地运用这些能力来完成具体任务。技能是一个包含说明文件的文件夹,教助手做某些特定的事情:生成图片、管理日历、用特定语言编写代码。

你可以把技能想象成给你的助手的"进修培训课程"。


技能的结构#

每个技能是一个文件夹,里面有一个 SKILL.md 文件。这个文件包含:

  1. 元数据头——名称、描述、要求
  2. 说明——具体如何执行任务

SKILL.md 示例#

---
name: nano-banana-pro
description: 通过 Gemini 生成和编辑图片
---

# 图片生成

当用户要求创建或编辑图片时:

1. 使用 Gemini API 生成图片
2. 将结果保存到工作文件夹
3. 向用户展示图片

技能从哪里来#

技能从三个位置加载(按优先级排列):

位置 路径 说明
工作文件夹(最高优先级) <workspace>/skills/ 特定智能体的个人技能
通用技能 ~/.openclaw/skills/ 电脑上所有智能体都能使用的技能
内置技能(最低优先级) 随 OpenClaw 一起安装 基本技能集

如果多个位置有同名技能,使用优先级更高位置的那个。


ClawHub —— 技能商店#

ClawHub (clawhub.ai) 是 OpenClaw 的公共技能目录。你可以在这里搜索、下载和安装现成的技能。

安装 CLI 工具#

npm install -g clawhub

基本命令#

# 搜索技能
clawhub search "日历"
clawhub search "image generation"

# 安装技能
clawhub install <技能名称>

# 更新所有已安装的技能
clawhub update --all

示例:安装技能#

# 1. 搜索图片处理技能
clawhub search "image"

# 2. 安装找到的技能
clawhub install nano-banana-pro

# 3. 开始新会话以加载技能
# (在与助手的聊天中)
/new

重要:安装技能后需要开始新会话/new),助手才能"看到"新技能。


配置技能#

启用和禁用#

openclaw.json 文件中:

{
  skills: {
    entries: {
      "nano-banana-pro": {
        enabled: true,                    // 启用技能
        apiKey: "你的密钥",              // API 密钥(如果需要)
        env: {
          GEMINI_API_KEY: "你的密钥"     // 环境变量
        }
      },
      "不需要的技能": {
        enabled: false                    // 禁用技能
      }
    }
  }
}

技能要求(门控)#

一些技能只在满足特定条件时才能工作:

  • bins —— 需要特定程序(例如 pythonnode
  • env —— 需要环境变量(通常是 API 密钥)
  • config —— 需要 OpenClaw 中的特定配置
  • os —— 只在特定系统上工作(Mac、Linux、Windows)

OpenClaw 会自动检查这些条件,只加载符合要求的技能。


如何创建自己的技能#

第1步:创建文件夹#

mkdir -p ~/.openclaw/workspace/skills/my-skill

第2步:创建 SKILL.md 文件#

---
name: my-skill
description: 我的报告创建技能
---

# 创建报告

当用户要求创建报告时:

1. 询问需要哪个时间段的报告
2.`reports/` 文件夹中收集数据
3. 以 Markdown 格式创建报告文件
4. 通知用户报告已完成

## 报告格式

- 带日期的标题
- 主要指标表格
- 简要结论

第3步:开始新会话#

/new

助手会看到你的技能,并在任务匹配时遵循说明执行。

添加元数据(可选)#

对于更"高级"的技能,可以添加元数据:

---
name: my-report-skill
description: 从数据创建精美报告
metadata: {
  "openclaw": {
    "emoji": "📊",
    "requires": {
      "bins": ["python3"]
    }
  }
}
---

在 ClawHub 上发布技能#

如果你创建了有用的技能,可以与他人分享:

clawhub sync --all

这条命令会将你的技能发布到 ClawHub,其他用户就可以安装它们了。


安全性#

⚠️ 重要:来自不熟悉作者的技能就像来自陌生人的程序。安装前请:

  • 阅读技能描述
  • 查看 SKILL.md 文件(技能具体做什么)
  • 对不信任的技能使用沙箱(sandbox)运行

本课总结#

  • 技能是教助手执行特定任务的说明
  • 每个技能是一个包含 SKILL.md 文件的文件夹
  • ClawHub (clawhub.ai) 是现成技能的目录
  • 技能从工作文件夹、通用文件夹和内置技能中加载
  • 创建自己的技能很简单:文件夹 + 带说明的 SKILL.md 文件
  • 安装/创建技能后需要新会话(/new
  • 使用前请检查来自不熟悉作者的技能

下一课:自动化