CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
OpenClaw 实战入门/课时/Skills 生态
RawBlame
课时目录12 节

OpenClaw 实战入门

  1. 01OpenClaw 概览
  2. 02安装与部署
  3. 03Workspace 文件
  4. 04Gateway 与上下文
  5. 05模型与 Provider
  6. 06Channels 集成
  7. 07Skills 生态
  8. 08Memory 系统
  9. 09Agents 与路由
  10. 10自动化
  11. 11安全
  12. 12运维与插件

Skills 生态

ClawHub 与自定义 Skills。

30 分钟

Skills 生态

这一课你将能做到

  1. 用 openclaw skills 搜索、安装、更新、验证 ClawHub 上的技能
  2. 为团队写一个自定义 Skill(含 SKILL.md 与工具定义)
  3. 说清楚 Skill 与 MCP、插件三者的分工边界

为什么要学

裸模型只会聊天;给它装上「查日志」「发钉钉」「执行部署脚本」的技能,它才能干活。Skills 是 OpenClaw 的能力扩展单元——ClawHub 上有社区贡献的现成技能,你也可以为团队写专属技能。不会用 Skills,bot 永远停留在「会说话的玩具」阶段。

人话:Skills 之于 OpenClaw,相当于 App 之于手机——没有 App 的手机只能打电话,没有 Skills 的 bot 只能聊天。

先建立图像

ClawHub(技能注册中心)
   │
   ├── openclaw skills search "github"   ← 搜索
   ├── openclaw skills install @owner/slug  ← 安装
   └── openclaw skills verify @owner/slug   ← 验证签名

本地 Skill(团队自研)
   └── ~/.openclaw/skills/<name>/
       ├── SKILL.md        ← 技能说明书:名称、描述、何时触发
       ├── tools.json      ← 工具定义:函数名、参数、执行动作
       └── scripts/        ← 实际执行的脚本或命令

Agent 运行时
   └── 收到消息 → 匹配 Skill → 调用工具 → 返回结果

SKILL.md 是「说明书」,告诉模型这个技能能干什么、什么时候该用;tools.json 是「工具箱」,定义具体可调用的函数。

跟着做

步骤 1:浏览与安装 ClawHub 技能

# 搜索
openclaw skills search "github"
openclaw skills search "calendar" --limit 10

# 安装(ClawHub 格式)
openclaw skills install @owner/github-skill

# 从 Git 安装
openclaw skills install git:owner/repo@main

# 从本地目录安装(团队自研)
openclaw skills install ./skills/deploy-bot --as deploy-bot

步骤 2:查看已安装技能

openclaw skills list
openclaw skills list --json

步骤 3:写一个最小自定义 Skill

创建 ~/.openclaw/skills/standup/:

<!-- SKILL.md -->
# Standup Bot

收集团队成员的日报并汇总发到 Slack。

## 触发条件
- 用户说「开始日报」或「standup」
- 每天早上 9:00 自动触发(配合 cron)

## 工具
- collect_standup: 向指定用户发送日报收集请求
- publish_standup: 汇总并发布到指定 Slack 频道
// tools.json
{
  "tools": [
    {
      "name": "collect_standup",
      "description": "向用户发送日报收集请求",
      "parameters": {
        "type": "object",
        "properties": {
          "user": { "type": "string" }
        }
      }
    }
  ]
}

步骤 4:安装并启用

openclaw skills install ~/.openclaw/skills/standup
openclaw gateway restart

步骤 5:验证与更新

openclaw skills verify @owner/github-skill
openclaw skills update @owner/github-skill
openclaw skills update --all

讲清楚要点

  1. SKILL.md 是模型的「使用说明书」:它告诉模型「这个技能存在、什么时候用、怎么用」。写得好,模型才会在正确时机调用;写得模糊,技能形同虚设。
  2. tools.json 定义真实可调用的函数:每个工具有 name、description、parameters(JSON Schema),模型按 schema 生成调用参数,Gateway 执行对应动作。
  3. ClawHub 技能有签名验证:skills verify 检查技能包的完整性和来源,防供应链攻击。团队环境建议开启强制验证。
  4. Skill 与 MCP 分工:Skill 是 OpenClaw 原生技能,走 Gateway 内部调度;MCP(Model Context Protocol)是行业标准协议,用于对接外部工具服务。简单能力用 Skill,复杂外部集成用 MCP。
  5. 技能可限定到特定 agent:skills install --agent <id> 只给指定 agent 装技能,评审 bot 和值班 bot 可以各装各的。

你可能会懵的地方

  • Skill 和 Plugin 什么区别? Skill 是「教模型做一件事」的说明书+工具包,轻量;Plugin 是完整的 OpenClaw 插件,可以注册渠道、provider、工具、甚至修改 Gateway 行为,重量级。ClawHub 主要分发 Skill,Plugin 用 openclaw plugins 管理。

  • SKILL.md 里写的「触发条件」是硬规则吗? 不是。它是给模型的提示,模型会参考但非强制执行。真正的触发控制靠 AGENTS.md 的规则和工具权限模式。

  • 本地 Skill 能被团队共享吗? 能。把 skill 目录入 git,团队成员 git clone 后 openclaw skills install ./path/to/skill 即可。也可以发布到 ClawHub 私有 registry(如果团队有自建)。

  • 技能装多了会影响性能吗? 会。每个技能的 SKILL.md 都会注入上下文,技能太多会稀释 prompt、增加 token 消耗。建议按需安装,定期 skills list 清理不用的。

  • 如何调试一个技能不触发? 先确认 skills list 里存在;再确认 Gateway 已重启;然后在对话中明确说「使用 <技能名>」测试;最后看日志 openclaw logs --tail 50 找工具调用记录。

错法对照

错法问题正解
SKILL.md 只写名字不写触发条件模型不知道何时该用明确写「当用户说 X 时使用」
tools.json 参数 schema 写错模型生成错误参数,调用失败严格按 JSON Schema 写,required 字段标清
装一堆技能不清理上下文膨胀、token 浪费按需安装,定期审查 skills list
本地 skill 不入 git团队成员无法同步skill 目录入版本管理,变更走评审
从不可信来源装 skill 不验证供应链攻击风险skills verify 或只装官方/审计过的

卡点急救

  1. 技能装了但模型不调用:检查 SKILL.md 描述是否清晰;在对话中显式提及技能名;确认技能没有 --agent 限定到别的 agent。
  2. 工具调用报参数错误:看 openclaw logs 里的工具调用详情;对照 tools.json 的 schema 检查模型生成的参数;必要时在 SKILL.md 里加示例。
  3. ClawHub 搜索不到想要的技能:说明社区没有;自己写或去 GitHub 搜 openclaw-skill 关键词;用 skills install git:owner/repo 从 Git 直接装。

面试常问

  • OpenClaw Skill 的组成与工作原理? 一个 Skill 包含 SKILL.md(自然语言说明书,注入模型上下文,告诉模型何时用、怎么用)和 tools.json(JSON Schema 定义的可调用工具)。模型根据 SKILL.md 判断触发时机,按 tools.json 的 schema 生成参数,Gateway 执行对应动作并返回结果。

  • Skill 与 MCP 的边界? Skill 是 OpenClaw 原生轻量扩展,适合「教模型做一件具体事」;MCP 是行业标准协议,适合对接外部复杂服务(数据库、API、内部系统)。选型原则:内部简单能力用 Skill,外部重型集成用 MCP,两者可并存。

  • 团队如何管理自定义 Skill 的生命周期? 开发:本地目录编写,入 git;测试:skills install ./path 本地验证;发布:推送到团队共享仓库或 ClawHub 私有 registry;更新:skills update 或重新 install;审计:变更走 PR,SKILL.md 描述与实际行为一致性人工抽查。

自测三问

  1. SKILL.md 和 tools.json 各自的作用是什么?
  2. 为什么技能装多了会降低 bot 质量?
  3. Skill 和 Plugin 的核心区别?

小结一句话

Skills 是 bot 的能力插件:ClawHub 找现成的,团队自研写专属的,SKILL.md 写清楚触发条件,模型才会在正确时机调用。

延伸

  • Skills 系统文档
  • 创建技能指南
  • 下一课:Memory 系统——让 bot 记住团队的约定、偏好和历史,越用越聪明。
加载本节练习…
← 上一课Channels 集成下一课 →Memory 系统