概述


一、回顾:为什么需要 Skill

在前面的章节里,我们说了:

  • Plugin = 让 OpenClaw 能连接外部平台(基础设施)
  • Tool = AI 可以调用的具体能力(读写文件、发消息等)
  • Agent = 理解意图、决定做什么的大脑

但是,有一个关键问题没有解决:

这个问题的答案就是:Skill


二、类比:Skill 就是"老员工的 SOP"

想象一个新员工入职:

Plugin = 公司给他开通的账号权限(能不能用各种工具)
Tool = 各种办公设备(电脑、电话、打印机)
Skill = 老员工教他的 SOP(什么时候用什么工具)
Agent = 这个员工本人(理解 + 执行)

没有 SOP 的员工:手里有各种工具,但不知道什么时候用什么。

有 SOP 的员工:知道"客户问价格 → 查价目表 → 回复","需要打印 → 用打印机"。

Skill 就是给 AI 写的 SOP。


三、Skill 的工作原理

用户发消息:"帮我画一张图"
    ↓
Agent 理解意图
    ↓
Agent 搜索匹配的 Skill
    ↓ 找到 "MiniMax图片生成技能"
    ↓ 读取 Skill 说明
    ↓ 按说明调用图片生成 API
    ↓ 返回图片给用户

Skill 告诉 AI: 1. 什么时候触发这个技能(触发词) 2. 调用哪个工具(工具名称和地址) 3. 参数怎么构造(请求格式) 4. 结果怎么解析(返回格式)


四、Skill 的文件格式

Skill 就是一个 Markdown 文件(.md),放在指定目录:

~/.openclaw/workspace/skills/
├── README.md                    # Skill 目录说明
├── minimax-image-generation/   # 图片生成技能
│   └── SKILL.md                # 技能说明文档
├── deepseek-analysis/          # 深度分析技能
│   └── SKILL.md
└── feishu-calendar/           # 日历管理技能
    └── SKILL.md

五、Skill 文件里写什么

一个典型的 SKILL.md 包含:

```markdown # MiniMax 图片生成技能

触发条件

当用户说"画图"、"生成图片"、"文生图"时触发

基础信息

  • API 地址:https://api.minimaxi.com/v1/image_generation
  • 认证方式:Bearer Token

调用示例

(告诉 AI 怎么调用,参数怎么传)

响应格式

(告诉 AI 返回结果怎么解析) ```

核心就是回答三个问题: 1. 什么时候触发? → 触发条件 2. 怎么调用? → API 格式和参数 3. 结果怎么用? → 返回值解析


六、你系统里现有的 Skill

查看目录:

ls ~/.openclaw/workspace/skills/

当前系统已安装的 Skills:

Skill 名称功能触发词
minimax-image-generation文生图、图生图"画图"、"生成图片"
deepseek-analysis深度数据分析"深度分析"、"分析一下"
searxng网络搜索"搜索一下"、"查一下"
feishu-calendar日历管理"创建日程"、"明天几点有会"
feishu-task飞书任务"创建任务"、"待办"

七、Skill 和 Plugin 的核心区别

对比项PluginSkill
本质代码(让平台连通)文档(让 AI 知道怎么用)
存放位置插件目录skills/ 目录
谁来"读"系统读取AI 读取
需要写代码吗需要开发能力不需要,纯文本说明即可
能做的事连通平台指挥 AI 行为

八、Skill 触发的工作流程

用完整流程图说明:

┌─────────────────────────────────────────────────────┐
│ 1. 用户发送消息                                      │
│    "帮我生成一张欧洲小女孩的可爱照片"                 │
└───────────────────────┬─────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│ 2. Agent 理解意图                                   │
│    检测到关键词:"生成照片"、"文生图"               │
└───────────────────────┬─────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│ 3. 匹配 Skill                                      │
│    → 找到 minimax-image-generation/SKILL.md         │
│    → 读取触发条件:关键词匹配成功                    │
└───────────────────────┬─────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│ 4. 按照 Skill 说明构造请求                          │
│    → model: image-01                              │
│    → prompt: 用户描述                              │
│    → aspect_ratio: 3:4                           │
└───────────────────────┬─────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│ 5. 调用 MiniMax API(工具执行)                     │
│    → 等待图片生成                                  │
│    → 获取图片 URL                                  │
└───────────────────────┬─────────────────────────────┘
                        ↓
┌─────────────────────────────────────────────────────┐
│ 6. 返回结果给用户                                  │
│    → 发送图片到飞书                               │
└─────────────────────────────────────────────────────┘

九、常见问题

Q: Skill 是不是要写代码?
A: 不需要。Skill 是 Markdown 文档,写的是"什么场景做什么事"的规则说明,不需要编程。
Q: Skill 是给 AI 看的,那 AI 会自动读取吗?
A: 会的。OpenClaw 的 AI 启动时会加载 skills/ 目录下的所有 SKILL.md 文件,记住每个 Skill 的触发条件和用法。
Q: 可以同时触发多个 Skill 吗?
A: 可以。AI 会根据消息内容匹配合适的多个 Skill,逐一执行。
Q: Skill 里的信息 AI 会完全照做吗?
A: Skill 是参考指南,AI 会尽量按 Skill 说明执行,但具体行为也取决于模型的判断能力。
Q: Skill 调用返回 undefined?
A: 检查 Skill 返回格式是否正确,确保 JSON 结构完整且字段名匹配。
Q: Skill 超时怎么处理?
A: 在 Skill 配置中增加 timeout 参数,或优化 Skill 执行逻辑减少耗时。
Q: 如何让 AI 更准确地触发 Skill?
A: 优化 Skill 的 trigger 关键词,使其更具辨识度,避免歧义。

十、下一步学什么

  • 1.9 常见疑问解答(FAQ) → 汇总第一章的所有常见问题
  • 第五章 Skill 开发 → 学会编写自己的 Skill

如有疑问,欢迎在群内提问!