乐于分享
好东西不私藏

OpenClaw技能系统完全指南:从入门到精通ClawHub使用

OpenClaw技能系统完全指南:从入门到精通ClawHub使用

来源:MEITUSTYLE公众号


零、导言

OpenClaw本身是一个强大的AI Agent运行时,但它的真正威力在于技能系统(Skills System)——一种将AI能力模块化、可复用、可分发的机制。

你可以把技能理解为OpenClaw的”App Store应用”:一个天气技能让AI知道如何查询天气,一个GitHub技能让它能够管理PR和Issue,一个代码审查技能让它可以执行专业的代码审查流程。

正是因为技能系统,OpenClaw从一个通用AI助手变成了一个可以根据你的需求定制的超级助手。你不需要写一行代码,只需要安装一个技能,你的OpenClaw就学会了新本事。

本文将深入解析OpenClaw技能系统的工作原理、ClawHub的使用方法、如何编写自己的技能,以及最重要的——如何安全地使用技能。


一、技能系统核心概念

1.1 SKILL.md:技能的定义文件

每个OpenClaw技能都是一个文件夹,其中必须有且仅有一个SKILL.md文件。这个文件使用Markdown格式,YAML frontmatter声明元数据,正文描述技能的使用方法。

---
name: example-skill
description: 这是一个示例技能,用于演示技能结构
version: 1.0.0
author: TJMtaotao
tags: ["example", "tutorial"]
metadata:
  openclaw:
    emoji: "📚"
    homepage: https://example.com/skill
    requires:
      bins: ["python3", "curl"]
      skills: ["web-search"]
---

# 示例技能

这个技能演示了OpenClaw技能的基本结构。

## 使用场景

当用户说"xxx"时激活此技能。

## 前置要求

-Python 3.x
-curl命令
-网络连接

## 执行步骤

1. 第一步:准备
2. 第二步:执行
3. 第三步:返回结果

## 输出格式

技能返回的结果格式为Markdown表格。

1.2 技能与插件的区别

这是新手最容易混淆的概念:

插件(Plugin):扩展OpenClaw运行时的底层能力,如添加新的聊天渠道(WhatsApp、Telegram)、新的模型提供商(OpenAI、Anthropic)、新的工具类型。插件使用openclaw.plugin.json声明,需要编译或单独安装。

技能(Skill):在已有的工具能力之上,告诉AI”何时”和”如何”使用这些工具。技能是纯文本定义(SKILL.md),不需要编程能力就能创建。

简单理解:插件让OpenClaw能做到更多,技能让OpenClaw知道何时该做什么。

1.3 技能加载机制

OpenClaw在启动时扫描所有技能目录,将技能元数据(名称、描述、触发条件)快照到系统提示中。这个设计有几个关键特点:

按需加载
– 技能元数据常驻内存(用于快速匹配)
– 技能的完整指令仅在判定该技能相关时才加载
– 这意味着即你安装了50个技能,日常对话的token开销也不会显著增加

优先级规则
OpenClaw按以下顺序搜索技能(高优先级覆盖低优先级):

1.Workspace技能<workspace>/skills/
2.项目Agent技能<workspace>/.agents/skills/
3.用户Agent技能~/.agents/skills/
4.托管技能~/.openclaw/skills/
5.内置技能[安装目录]/skills/
6.额外目录skills.load.extraDirs配置

技能冲突处理
如果多个技能定义了相同的触发条件,高优先级技能生效。如果你想让某个技能忽略某个触发,可以在其SKILL.md中明确排除。


二、ClawHub:官方的技能市场

2.1 ClawHub是什么

ClawHub(clawhub.ai)是OpenClaw的官方技能和插件市场,类似于npm之于Node.js、PyPI之于Python。

ClawHub提供:
– 技能搜索(基于描述而非名称)
– 版本管理(可以安装特定版本,锁定版本避免意外更新)
– 社区信号(下载量、评分、讨论)
– 自动更新(openclaw skills update一键更新所有技能)

2.2 浏览ClawHub的方式

方式一:网页浏览

访问 clawhub.ai,可以按分类浏览技能:
– 编程开发(Programming)
– 内容创作(Content Creation)
– 自动化(Automation)
– 生产力(Productivity)
– 图像与媒体(Image & Media)
– 数据分析(Data & Analytics)

每个技能页面显示:
– 技能描述和使用说明
– 版本历史
– 安装次数和评分
– 开发者的GitHub链接

方式二:命令行搜索

# 搜索包含"calendar"的技能
openclawskillssearch"calendar"

# 搜索包含多个关键词的技能
openclawskillssearch"email automation"

# 查看搜索结果
# 输出示例:
# 📦 calendar-manager (v1.2.3) - ⭐4.8 (2.3k安装)
#    Google Calendar集成技能
#    
# 📦 remind-me (v0.8.1) - ⭐4.2 (800安装)
#    简单的提醒技能

2.3 安装和管理技能

安装技能

# 标准安装(安装到默认位置)
openclawskillsinstall<skill-slug>

# 安装到指定目录
openclawskillsinstall<skill-slug>--dir./my-skills

# 从GitHub安装(开发版)
openclawskillsinstallgithub:username/repo--branchmain

查看已安装技能

# 列出所有已安装技能
openclawskillslist

# 列出可用的技能(符合当前任务上下文的)
openclawskillslist--eligible

# 查看特定技能的详细信息
openclawskillsinfo<skill-name>

更新技能

# 更新单个技能
openclawskillsupdate<skill-name>

# 更新所有已安装技能
openclawskillsupdate--all

# 查看可用的更新
openclawskillscheck

卸载技能

# 卸载技能(保留配置文件)
openclawskillsuninstall<skill-name>

# 完全移除(包括配置)
openclawskillsuninstall<skill-name>--purge

2.4 ClawHub CLI:clawhub命令

安装ClawHub CLI后可以获得更强大的功能:

# 安装CLI(需要npm或pnpm)
npmi-gclawhub
# 或
pnpmadd-gclawhub

# 登录ClawHub账号
clawhublogin

# 查看当前登录用户
clawhubwhoami

# 发布技能
clawhubskillpublish./my-skill--slugmy-skill--version1.0.0

# 探索技能包
clawhubpackageexplore--familycode-plugin

# 检查技能健康度
clawhubpackageinspect<package-name>

# 同步所有技能到最新
clawhubsync--all

三、热门技能推荐

3.1 编程开发类

github – GitHub CLI封装

最受欢迎的技能之一,封装了gh命令行工具,让AI可以:
– 管理Issue(创建、关闭、评论)
– 处理Pull Request(审查、合并、评论)
– 操作分支(创建、切换、删除)
– 查看状态和历史

openclawskillsinstallgithub

coding-agent – 统一编码Agent接口

支持同时使用OpenAI Codex、Claude Code等多种编码工具,通过统一接口调用。适合需要复杂编程辅助的场景。

openclawskillsinstallcoding-agent

cursor-agent – Cursor IDE集成

如果你使用Cursor作为主力IDE,这个技能让OpenClaw可以:
– 读取和修改你的代码文件
– 执行Cursor的命令
– 获取Cursor的上下文(光标位置、打开的文件等)

debug-pro – 结构化调试方法论

实现系统化调试流程,引导AI通过标准化步骤排查问题:隔离问题→定位根因→验证假设→修复→测试。不依赖特定编程语言。

3.2 内容创作类

humanizer – AI文本人性化

将AI生成的文本改写得更自然、更有个人风格。适合需要发布内容但不想被识别为AI生成的用户。

openclawskillsinstallhumanizer

screenshot – 网页截图

对任意URL进行截图,返回图片。适合需要生成可视化内容的场景。

image-generation – AI图像生成

封装多个图像生成API(Midjourney、DALL-E、Stable Diffusion等),通过统一接口调用。

3.3 生产力工具类

calendar-manager – 日历集成

与Google Calendar、Outlook等集成,支持:
– 查看日程
– 创建/修改/删除事件
– 发送日历邀请
– 检查冲突

email-pro – 邮件自动化

强大的邮件管理技能,支持:
– 读取和分类邮件
– 起草回复
– 自动归档
– 批量处理

task-manager – 任务管理

与Todoist、Notion、Linear等工具集成,统一管理任务。

3.4 数据分析类

data分析 – 数据处理技能

支持读取CSV、Excel、JSON等格式数据,进行清洗、转换、统计、可视化。

web-scraper – 网页数据抓取

从任意网页提取结构化数据,支持多种解析模式。


四、编写自己的技能

4.1 技能编写基础

技能不需要写代码,只需要在SKILL.md中用自然语言描述:
– 这个技能做什么
– 什么时候应该使用它
– 如何使用现有工具完成任务

最简单的技能示例:每日天气播报

---
name: daily-weather
description: 每天早上播报天气情况
version: 1.0.0
---

# 每日天气播报技能

## 触发条件

当用户说"今天天气怎么样"、"天气播报"、"播报天气"时激活。

## 执行步骤

1. 使用 `web_fetch` 工具访问 wttr.in 获取当前天气
2. 解析温度、湿度、风速、天气状况等信息
3. 生成简洁的中文播报内容
4. 使用 `message` 工具发送到用户聊天窗口

## 输出格式

☀️ 今日天气
温度:26°C
湿度:65%
风速:12 km/h
状态:晴朗

出行建议:适合户外活动,记得防晒。

## 注意事项

- 如果用户没有指定城市,默认查询广州
- 如果网络请求失败,返回"抱歉,无法获取天气数据"

4.2 高级技能:条件分支和循环

虽然SKILL.md是纯文本,但你可以通过描述来定义条件逻辑:

## 执行步骤

1. 使用 `exec` 工具运行 `ls -la`
2. 解析输出:
-如果包含"Permission denied",告知用户权限不足
-如果包含"No such file",告知用户文件不存在
-如果正常返回,提取文件列表并格式化输出
3. 如果用户指定了"--long"参数,额外显示文件详情
4. 结束

4.3 技能元数据详解

---
name:skill-name# 技能唯一标识(字母、数字、连字符)
description:简短描述# 用于搜索和展示
version:1.0.0# 语义化版本号
author:作者名# 开发者信息
tags:["tag1","tag2"]# 分类标签

metadata:
openclaw:
emoji:"📦"# 技能图标(emoji)
homepage:https://...# 技能文档链接
requires:
bins:["python3","gh"]# 需要的系统命令
skills:["github"]# 依赖的其他技能
env:# 需要的环境变量
-GITHUB_TOKEN
install:
-kind:uv# 安装方式:uv/npm/pip等
package:requests
triggers:
keywords:["关键词1","关键词2"]# 触发关键词
commands:["/cmd1","/cmd2"]# 触发命令
---

4.4 技能的测试和调试

本地测试技能

# 查看技能是否被正确加载
openclawskillslist--eligible|grep<skill-name>

# 测试技能触发
# 在OpenClaw对话中说触发关键词
# 观察技能是否被激活,以及执行结果

# 查看技能执行日志
openclawlogs--skill<skill-name>

调试技巧

  • 使用exec工具打印中间变量
  • 在SKILL.md中添加详细的步骤说明帮助调试
  • --verbose模式运行查看详细日志

五、技能开发最佳实践

5.1 技能设计原则

单一职责
每个技能应该只做一件事,但做好这件事。不要让一个技能既处理邮件又管理日历又生成报告。

清晰的触发条件
明确定义技能何时应该被激活,包括:关键词、命令模式、上下文条件。

完整的错误处理
描述在各种失败情况下技能应该怎么做,不要让AI在执行时”不知所措”。

最小权限要求
只申请完成任务所必需的工具权限,不要让技能请求超出其功能的权限。

5.2 技能目录结构

my-skill/
├── SKILL.md           # 必需:技能定义文件
├── README.md          # 可选:详细使用说明
├── references/        # 可选:参考文档
├── scripts/           # 可选:辅助脚本
├── config/            # 可选:配置文件模板
└── test/              # 可选:测试文件

5.3 发布技能到ClawHub

# 1. 确保你的技能目录结构正确
# 2. 编写完整的SKILL.md

# 3. 登录ClawHub
clawhublogin

# 4. 发布技能
clawhubskillpublish./my-skill\
--slugmy-skill\
--name"我的技能"\
--version1.0.0\
--description"这是一个示例技能"

# 5. 如果想先检查
clawhubskillpublish./my-skill--dry-run

5.4 技能版本管理

# 安装特定版本
openclawskillsinstallmy-skill--version1.0.0

# 锁定版本(防止自动更新)
openclawskillspinmy-skill--version1.0.0

# 查看版本历史
clawhubpackageinspectmy-skill--show-versions

# 升级到新版本
openclawskillsupdatemy-skill

六、技能安全深度指南

6.1 为什么要警惕技能安全

当你安装一个技能时,你实际上是在告诉OpenClaw:
– 信任这个技能的执行逻辑
– 允许这个技能调用任何它需要的工具
– 允许这个技能读写工作目录中的文件

一个恶意的技能可以:
– 窃取API密钥(读取配置文件)
– 安装后门(修改SOUL.md或AGENTS.md)
– 传播恶意代码(通过shell命令执行任意代码)
– 监控你的所有对话(读取session历史)

6.2 安装前审查清单

在安装任何技能前,逐项检查:

代码审查
– [ ] SKILL.md是否包含任何shell命令?
– [ ] shell命令是否看起来可疑(如base64解码、管道到sh等)?
– [ ] 是否有任何对外部URL的无验证访问?
– [ ] 是否有任何尝试修改系统配置的行为?

权限检查
– [ ] 技能申请的权限是否与其功能匹配?
– [ ] 是否有任何超出功能的权限请求?
– [ ] 技能是否依赖其他技能?那些依赖技能是否可信?

来源验证
– [ ] 开发者是否有公开的GitHub账号?
– [ ] GitHub账号是否有正常的开发历史?
– [ ] 技能是否有其他用户的正面反馈?

6.3 使用安全模式

# 使用--safe参数安装,限制技能权限
openclawskillsinstall<skill-slug>--safe

# safe模式会:
# - 禁止执行shell命令
# - 禁止访问工作目录以外的文件
# - 禁止调用exec工具
# - 禁止安装新的技能

6.4 配置技能白名单

// openclaw.json
{
"skills":{
"allowlist":{
"enabled":true,
"skills":[
"github",
"weather",
"tavily",
"memory-search"
]
},
"denylist":{
"enabled":true,
"skills":[]
}
}
}

七、技能的维护和更新

7.1 保持技能更新

# 检查所有技能的新版本
openclawskillscheck

# 更新所有过时技能
openclawskillsupdate--all

# 自动更新(配置cron)
# 每天凌晨3点自动更新所有技能
openclawcronadd"0 3 * * *""openclaw skills update --all"

7.2 处理技能冲突

当多个技能可能处理同一个请求时:

方法1:在技能中定义优先级

## 优先级

本技能优先级为5(1-10,数字越大优先级越高)
如果同时有其他技能处理同一请求,使用本技能的输出。

方法2:使用排除条件

## 激活条件(排他)

当用户说"查询天气"且没有指定其他城市时激活。
如果用户已经说过"我不想用天气技能",本技能不激活。

7.3 备份技能配置

# 导出所有技能列表
openclawskillslist--json>skills-backup.json

# 备份特定技能目录
cp-r~/.openclaw/skills./backup-skills-$(date+%Y%m%d)

# 从备份恢复
cp-r./backup-skills-20260315/*~/.openclaw/skills/

八、总结

OpenClaw的技能系统是其最强大的特性之一。通过技能,你可以:
– 让AI学会任何新的能力
– 复用社区的智慧和经验
– 将复杂的工作流封装成可复用的模块

但技能系统也带来了安全风险。824+个恶意技能的发现提醒我们:在AI Agent的世界里,信任必须经过验证。

正确使用技能系统的姿势是:
1. 从可信来源安装(优先选择官方或社区验证的技能)
2. 安装前审查SKILL.md全文
3. 使用安全模式限制不熟悉的技能
4. 保持更新,关注安全公告
5. 发现问题立即卸载并报告

下一篇文章我们将进入实战部分:《OpenClaw实战:构建你的第一个自动化工作流》。


作者署名:TJMtaotao
来源:MEITUSTYLE公众号
本文由AI辅助创作


往期回顾:
《OpenClaw全面介绍:从开源AI助手到2026年最火爆的个人生产力工具》
《OpenClaw架构深度解析:Gateway、Agent Runtime与Lobster工作流引擎》
《OpenClaw安全完全指南:2026年威胁态势与防护实战手册》
下篇预告:
《OpenClaw实战:构建你的第一个自动化工作流》



本文由AI辅助创作
作者:TJMtaotao
发表于:MEITUSTYLE