深度

OpenClaw Skills 系统完全指南:安装、配置与开发自定义技能

OpenClaw Skills(技能)系统完整指南(2026 最新版):Skills 是什么(AgentSkills 兼容的 SKILL.md 目录)、三级加载优先级(bundled/managed/workspace)、多 Agent 环境下的 Skills 共享机制、ClawHub 技能市场(安装/更新/同步命令)、SKILL.md 格式规范(YAML frontmatter/gating 条件/installer 配置)、openclaw.json 中启用/禁用/注入 API Key 的方法、Plugin 携带 Skills 的工作方式,以及从零开发一个自定义 Skill 的完整步骤。

2026/3/215分钟 阅读ClaudeEagle

Skills 是 OpenClaw 的能力扩展机制—— 每个 Skill 是一个包含 SKILL.md 的目录,告诉 AI 如何使用特定工具或执行特定任务。

Skills 是什么?

Skills 目录结构示例: weather/ ├── SKILL.md ← AI 读取这个,学会如何查天气 └── weather.sh ← 可选的辅助脚本/工具 SKILL.md 内容: --- name: weather description: 获取指定城市的实时天气和预报 --- # Weather Skill 使用 wttr.in 获取天气信息。 ## 使用方法 调用 exec 工具执行:curl wttr.in/{城市名}?format=3

Skills 让 AI 知道「我有这个能力,这样用」, 而不需要每次在对话里重新解释工具的用法。

三级加载优先级

OpenClaw 从三个位置加载 Skills,优先级从高到低:

优先级 1(最高):<workspace>/skills/ 每个 Agent 的专属技能,只有该 Agent 可用 优先级 2:~/.openclaw/skills/ 用户自定义技能,所有 Agent 共享 优先级 3(最低):bundled skills OpenClaw 内置技能(随安装包附带)

同名 Skill 时,高优先级覆盖低优先级—— 这让你可以覆盖内置 Skill 的行为而不修改安装包。

额外目录(最低优先级,低于 bundled):

json
{
  "skills": {
    "load": {
      "extraDirs": ["/opt/shared-skills", "~/team-skills"]
    }
  }
}

多 Agent 环境中的 Skills 共享

多 Agent 配置中: Agent A(工作区:~/projects/backend) 可用 Skills:backend/skills/ + ~/.openclaw/skills/ + bundled Agent B(工作区:~/projects/frontend) 可用 Skills:frontend/skills/ + ~/.openclaw/skills/ + bundled 共享 Skills → 放到 ~/.openclaw/skills/(对所有 Agent 可见) 专属 Skills → 放到 <workspace>/skills/(只对该 Agent 可见)

ClawHub:技能市场

ClawHub(clawhub.com)是官方 Skills 注册中心, 提供社区贡献的技能包。

bash
# 浏览和安装技能
clawhub install weather          # 安装 weather 技能
clawhub install image-lab        # 安装图像生成技能
clawhub install gemini           # 安装 Gemini CLI 集成

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

# 同步(扫描本地技能,发布更新)
clawhub sync --all

# 默认安装到当前目录的 ./skills/(作为 workspace skills)
# 也可以指定安装到全局
clawhub install weather --global   # 安装到 ~/.openclaw/skills/

SKILL.md 格式规范

yaml
---
name: my-tool          # 技能名称(唯一标识)
description: 一句话描述这个技能的功能
homepage: https://github.com/my/tool   # 可选,macOS UI 中显示
user-invocable: true   # 是否暴露为 /命令(默认 true)
metadata: {"openclaw": {"emoji": "🔧", "requires": {"bins": ["my-tool"], "env": ["MY_API_KEY"]}, "primaryEnv": "MY_API_KEY", "install": [{"id": "brew", "kind": "brew", "formula": "my-tool", "bins": ["my-tool"], "label": "Install my-tool"}]}}
---

# My Tool Skill

在这里写给 AI 看的使用说明:

## 功能
描述这个工具能做什么

## 使用方式
调用 exec 工具运行:my-tool --option {参数}

## 示例
- 示例 1:...
- 示例 2:...

Gating 条件(metadata.openclaw.requires)

字段含义
binsPATH 中必须存在的可执行文件(都要有)
anyBinsPATH 中至少有其中一个可执行文件
env必须设置的环境变量
configopenclaw.json 中必须为 truthy 的路径
os只在指定系统上加载(darwin/linux/win32)

条件不满足时,Skill 不会加载(AI 看不到它)。

在 openclaw.json 中配置 Skill

json
{
  "skills": {
    "entries": {
      "weather": {
        "enabled": true    // 强制启用(即使 gating 条件不满足也不会关)
      },
      "image-lab": {
        "enabled": true,
        "apiKey": "GEMINI_KEY_HERE",   // 注入 API Key
        "env": {
          "GEMINI_API_KEY": "GEMINI_KEY_HERE"  // 等价方式
        },
        "config": {
          "model": "gemini-2.0-flash"   // Skill 特定配置
        }
      },
      "old-skill": {
        "enabled": false   // 禁用不需要的内置 Skill
      }
    }
  }
}

注意skills.entries 的 key 是 Skill 的 name, 如果 name 含连字符(如 image-lab),需要加引号。

从零开发一个自定义 Skill

以开发一个「查询公司内部 Confluence 文档」的 Skill 为例:

bash
# 1. 创建 Skill 目录
mkdir -p ~/.openclaw/skills/confluence
cd ~/.openclaw/skills/confluence
markdown
# SKILL.md
---
name: confluence
description: 搜索和查阅公司 Confluence 知识库
metadata: {"openclaw": {"requires": {"env": ["CONFLUENCE_TOKEN", "CONFLUENCE_BASE_URL"]}, "primaryEnv": "CONFLUENCE_TOKEN"}}
---

# Confluence 知识库查询

## 配置
需要设置环境变量:
- CONFLUENCE_BASE_URL:公司 Confluence 地址(如 https://company.atlassian.net)
- CONFLUENCE_TOKEN:API Token(从 Atlassian 账户设置获取)

## 搜索文档
使用 exec 工具运行:

搜索:
curl -H "Authorization: Bearer $CONFLUENCE_TOKEN"   "$CONFLUENCE_BASE_URL/wiki/rest/api/content/search?cql=text~'{搜索词}'"

查看页面内容:
curl -H "Authorization: Bearer $CONFLUENCE_TOKEN"   "$CONFLUENCE_BASE_URL/wiki/rest/api/content/{page-id}?expand=body.storage"

## 使用示例
- "搜索 Confluence 中关于 API 规范的文档"
- "查看 Confluence 页面 ID 12345 的内容"
bash
# 2. 注入 API Key(在 openclaw.json 中)
# 或直接设置环境变量
export CONFLUENCE_TOKEN="your-token"
export CONFLUENCE_BASE_URL="https://company.atlassian.net"

# 3. 重启 Gateway 让 Skill 生效
openclaw gateway restart

# 4. 验证 Skill 已加载
openclaw skills list  # 应该能看到 confluence

Skill 安全注意事项

  • 第三方 Skill 要审查:安装前先 cat ~/.openclaw/skills/xxx/SKILL.md 查看内容
  • API Key 不要写在 SKILL.md 里:用 openclaw.jsonskills.entries.xxx.env 注入
  • 危险工具用沙箱:不信任的 Skill 配合 Docker 沙箱运行,限制权限

来源:OpenClaw 官方文档 - docs.openclaw.ai/tools/skills

相关文章推荐

深度OpenClaw Skills 系统深度解析:加载机制、条件门控与 ClawHub 技能市场OpenClaw Skills 系统完整解析:三级加载优先级(Workspace/Managed/Bundled)、多 Agent 共享与专属技能管理、ClawHub 技能市场使用方法、SKILL.md 格式规范、条件门控(bins/env/config 检查)、自动安装器配置,以及 Token 消耗计算和安全注意事项。2026/3/10深度OpenClaw Skills 系统详解:为你的 AI 助手赋予超能力OpenClaw Skills 系统是其最强大的扩展机制,支持为 AI Agent 增加任意新能力。本文详解 Skills 的加载机制、目录结构、SKILL.md 格式、条件门控、ClawHub 公共仓库使用方法,以及多 Agent 场景下的 Skills 管理策略。2026/2/27深度Claude Code Skills vs CLAUDE.md vs Plugins vs Sub-agents:何时用哪个的完整决策指南Claude Code 四种扩展机制的完整决策指南:四种机制本质对比表;CLAUDE.md 适合放/不适合放的内容清单(含内容精简测试);Skills 四种模式和完整决策树;Plugins 与 Skills 的选择对比表及 Token 开销警告;Sub-agents 三种触发方式和 context: fork 对比;四种组合使用模式;以及快速决策查询表(12 个场景)。2026/5/10深度OpenClaw vs Hermes Agent:2026 年两大开源 AI Agent 框架深度对比与选型OpenClaw 和 Hermes Agent 深度对比:记忆系统、自学习技能、LLM 支持(Claude vs 200+ 模型)、部署方式、适用场景全面分析,附决策指南和两者互补组合方案。2026/4/13深度OpenClaw 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26