从 ClawHub 安装一个 OpenClaw 技能
OpenClaw 是跑在你自己电脑上的开源 AI 助手,在 Discord、Slack、Telegram 这类聊天应用里回复消息。技能可以从公共注册表 ClawHub 安装:openclaw skills install 会把技能下载到当前工作区的 skills/ 目录。安装前,先到该技能在 ClawHub 上的页面看一眼最近一次的安全扫描结果。
加上 --global,技能会装进 ~/.openclaw/skills,本机所有智能体都能看到,除非允许列表限定了范围。不加时装在工作区目录里,这里的技能和其他位置的技能同名时,以这里的为准。
openclaw skills search "calendar"
openclaw skills install @owner/skill-name
openclaw skills list
openclaw skills update --all- 用
openclaw skills search "calendar"搜索。不写关键词,就会浏览 ClawHub 的 Trending 列表。 - 用
openclaw skills install @owner/skill-name安装。加上--version和版本号,可以指定某个版本。 - 运行
openclaw skills list,确认 OpenClaw 找到了这个技能。 - 已经打开的聊天里没有出现这个技能,就发一条
/new,开一个新会话。
怎样使用技能,技能不见了查什么
用技能不必写出它的名字。OpenClaw 会把符合条件的技能整理成一份简短清单,每项写明名称、描述和位置,放进智能体的系统提示,智能体读描述来决定用哪个。
也可以手动指定:用 openclaw dashboard 打开 Control UI,输入 $ 后从列表里选,比如 $release_notes,一条消息最多指定八个。聊天里还能用斜杠命令,名为 hello-world 的技能可以用 /hello-world 或 /skill hello-world 运行,因为 user-invocable 默认为 true。设了 disable-model-invocation: true 的技能正好相反,它的说明不会写进系统提示,模型也就不会主动选用它,不过消息里明确写出 $名称 时仍然可以运行。
openclaw skills list --eligible 列出智能体能用的技能,openclaw skills check 说明列出来的技能为什么还没准备好。
metadata.openclaw.requires里的条件全部满足之前,技能不会出现:bins里的每个程序都在PATH上,env里的每个变量都已设置,config里的每个路径都为真。anyBins只要清单里有一个程序就行,os按平台过滤。- 在沙箱里,容器中也得有这个程序,因为
requires.bins只在主机上检查。 - 智能体的允许列表也可能让它不出现。非空的
agents.entries.*.skills直接替换默认值,不会合并,空列表则一个技能都不开放。
自己写一个技能
下面的示例把最近的 git 提交整理成一份更新日志草稿。它的文件夹叫 changelog-from-git,name 也叫这个。名字只能用小写字母、数字和连字符,而且必须和文件夹同名。description 只写一行,不超过 160 个字符。这一行会进入智能体的上下文,查找斜杠命令时也会显示出来。
描述就写两件事:技能做什么,哪些请求该触发它,这里是更新日志、发布说明和上一个标签之后的改动。metadata 那一行让没装 git 的机器看不到这个技能。
---
name: changelog-from-git
description: Drafts a changelog from recent git commits. Use when the user asks for a changelog, release notes or what changed since the last tag.
metadata: { "openclaw": { "requires": { "bins": ["git"] } } }
---
# Changelog from git
1. Run `git describe --tags --abbrev=0` to find the last tag. If there is none, ask which commit to start from.
2. Run `git log TAG..HEAD --oneline`, with that tag in place of TAG, and read the list.
3. Group the commits under Added, Changed and Fixed. Skip merge commits.
4. Write one plain line per change. Never invent an issue number.
- 建文件夹:
mkdir -p ~/.openclaw/workspace/skills/changelog-from-git。 - 把示例存成里面的
SKILL.md。 - 运行
openclaw skills list。OpenClaw 默认会监视SKILL.md文件,所以技能应该会出现。 - 在终端里试:
openclaw agent --message "写出自上一个标签以来的更新日志",或者在聊天里发送/skill changelog-from-git。
调用 exec 工具的技能,提示要写得让不可信的输入没法变成 shell 命令。引用技能自己文件夹里的文件,就写 {baseDir},比如 {baseDir}/scripts/run.sh,别写死路径。
OpenClaw 技能和 Agent Skills 格式的关系
OpenClaw 遵循 Agent Skills 规范,所以一个带 SKILL.md、name 和 description 的文件夹,在支持这个格式的工具里都能用。名称规则也一样,最长 64 个字符。描述的上限却不同:别的工具导入的技能,描述最长可能有 1,024 个字符,进 OpenClaw 之前要先缩成一行。为 OpenClaw 写的描述,本来就在规范的上限之内。
这两个字段之外,规范还列了 license、compatibility、metadata 和实验性的 allowed-tools。OpenClaw 另加了 user-invocable、disable-model-invocation、command-dispatch 和 homepage,规范里都没有。OpenClaw 的运行条件写在 metadata 里,规范把这个字段留给各家客户端自由使用。不过规范给这个字段定的值是字符串,OpenClaw 读的却是嵌套对象。
来源:OpenClaw 文档:创建技能 (2026年11月3日 查阅);Agent Skills 规范 (2026年11月3日 查阅)
把技能发布到 ClawHub
发布用的是另一个命令行工具 clawhub,ClawHub 快速入门里用 npm 安装,再用 GitHub 登录。新技能从 1.0.0 起步,之后每改一次,就发布下一个补丁版本。加上 --dry-run 可以先预览上传内容,没改动的内容会跳过。
GitHub 账号不能是刚注册的。OpenClaw 的创建者 Peter Steinberger 在 X 上宣布了这道门槛,同时宣布用户可以举报技能。
第一次上传之前,把技能需要的环境变量、工具和权限写进 frontmatter。ClawHub 的安全分析会拿这些声明去对照技能实际做的事,对不上就标出来。
npm i -g clawhub
clawhub login
clawhub skill publish ./changelog-from-git截图是 X 官方嵌入卡片的截图,点击可到 X 上打开 Peter Steinberger 的原帖。
装技能之前先读一遍
除非你配置了沙箱,主会话里的工具都直接跑在主机上,也就是你自己的电脑。技能让智能体跑什么命令,就在这台电脑上跑。
ClawHub 会扫描每个版本,结果显示在技能的审计页上:Pass、Review、Warn、Malicious、Pending 或 Error,外加风险等级和具体发现。Malicious 就是别装。Review 并不是说它有恶意,ClawHub 自己举的例子是发布类技能,这类技能要用到账号上不小的权限。Pass 也不是定论,安全审计页说得明白,它代替不了你自己的判断。
技能装好以后,openclaw skills verify @owner/skill-name 会打印 ClawHub 给它的信任信息,加 --card 则打印它的 Skill Card。通过 skills-sh: 装的技能,会标着“未经 ClawHub 扫描”。--force-install 会让 GitHub 来源的技能在 ClawHub 扫描完成前装进来,这时还没有扫描结果。最好不加这个参数,等结果出来再装。
Koi Security 的审计看的是某一时刻 ClawHub 上的全部技能,2 月上旬公布。Antiy CERT 数的是 ClawHub 整个历史里的恶意技能包,全都出自 12 个作者 ID。OpenClaw 6 月的数据集覆盖最新的公开技能版本,它的三个扫描器很少标出同一个版本。
341 / 2,857
个技能:Koi Security 审计 ClawHub 上的每个技能,判定为恶意的数量,2026 年 2 月上旬公布
来源:eSecurity Planet (2026年11月3日 查阅)
1,184
个恶意技能包:Antiy CERT 截至 2026 年 2 月 5 日在 ClawHub 整个历史里找到的数量,来自 12 个作者 ID
来源:Antiy CERT (2026年11月3日 查阅)
67,453
个最新公开技能版本:OpenClaw 在 2026 年 6 月 1 日公布的 ClawHub 扫描数据集的规模
来源:OpenClaw 博客:NVIDIA 与技能安全 (2026年11月3日 查阅)
ClawHub 的技能页面会在安装前给出扫描状态,但扫描不是完整的安全边界。安装或更新插件、技能时,OpenClaw 不会运行内置的本地危险代码拦截。
- 读
SKILL.md:它让智能体通过exec去跑的每条命令,以及它怎样处理输入。 - 打开它旁边的每个文件。ClawHub 会发布技能文件夹里所有的普通文件,所以
scripts/目录里能放的远不止说明。 - 查
requires.env和primaryEnv:技能要的密钥和凭证。 - 找
install块。它可以用 brew、node、go、uv 或下载来取依赖,下载项可以带一个sha256,OpenClaw 会在安装文件前核对它。这个字段是可选的。
举报按钮和上传门槛
Peter Steinberger 说,用户现在可以举报技能,只有在 GitHub 上不是刚注册的账号才能上传。
来源:Peter Steinberger 在 X 上 (2026年11月3日 查阅)
报告 341 个恶意技能
Oren Yomtov 说他的团队在 ClawHub 上发现了 341 个针对 OpenClaw 机器人的恶意技能,并发布了 Clawdex,一个检查其他技能的技能。
来源:Oren Yomtov 在 X 上 (2026年11月3日 查阅)
VirusTotal 扫描每个技能
OpenClaw 说现在每个 ClawHub 技能都会扫描恶意软件,约 30 秒出结论,每天复扫,并说这不是万能的办法。
来源:OpenClaw 在 X 上 (2026年11月3日 查阅)
Skill Card 和 SkillSpector
每个技能都有一张 Skill Card,NVIDIA 的 SkillSpector 负责扫描隐藏的指令。ClawScan 综合它、VirusTotal 和 OpenClaw 自己的静态分析给出结果。
来源:OpenClaw 博客:NVIDIA 与技能安全 (2026年11月3日 查阅)
腾讯 AIG 加入 ClawScan
上传到 ClawHub 的每个技能和插件,现在还会经过腾讯的 AI-Infra-Guard,作为安全审查的一部分。
来源:OpenClaw 博客:腾讯 AIG 加入 ClawScan (2026年11月3日 查阅)
来源:OpenClaw 博客:NVIDIA 与技能安全 (2026年11月3日 查阅)
在你自己的环境里,security.installPolicy 会在安装继续之前,先跑一遍你自己的策略命令。安全 FAQ还建议固定版本、收窄允许列表,改完配置后运行 openclaw security audit --deep。两张截图都是 X 的嵌入卡片,OpenClaw 那条帖子下面的链接卡片没有收入,最后一行也被 X 截短了。点击截图可打开原帖。
参考:OpenClaw 去哪里找技能,从高到低
重名时,表里靠前的那个胜出。第 1 行就是创建技能那一页放第一个技能的地方:~/.openclaw/workspace/skills。
可以用子文件夹分组。OpenClaw 会在每个根目录往下最多六层里找 SKILL.md,所以 skills/personal/research/SKILL.md 加载后叫 research。分组只是方便你自己整理:技能名和斜杠命令取自 name 字段,没写 name 时才用目录名。
| 顺序 | 位置 | 说明 |
|---|---|---|
| 1 | WORKSPACE/skills | 只有这个智能体看得到。同名时它优先。 |
| 2 | WORKSPACE/.agents/skills | 只有这个工作区的智能体能用。 |
| 3 | ~/.agents/skills | 用默认状态目录的智能体能用。状态目录挪走之后不再读取。 |
| 4 | STATE_DIR/skills | 用这个状态目录的所有智能体共享。--global 安装写到这里。 |
| 5 | STATE_DIR/agents/AGENT_ID/agent/workshop-skills | 智能体自己学会的技能,只属于这个智能体。 |
| 6 | 随 OpenClaw 内置 | 安装时一起带来。 |
| 7 | skills.load.extraDirs | 你在配置里加的目录,加上插件自带的技能。 |
WORKSPACE 是智能体的工作区文件夹,STATE_DIR 是 OpenClaw 的状态目录,默认是 ~/.openclaw,除非 OPENCLAW_STATE_DIR 指向别处。
参考:从 Git、本地文件夹或 skills.sh 安装
安装命令也接受别的来源。git:owner/repo@ref 克隆一个 Git 技能,./path/to/skill --as my-tool 复制本地文件夹,skills-sh:owner/repo/slug 则让 ClawHub 把 skills.sh 上的条目解析成固定的 GitHub 提交。Git 和本地安装要求来源的根目录里有 SKILL.md。
只有从 ClawHub 装的技能会被跟踪:工作区里记在 .clawhub/lock.json,每个已装技能里记在 .clawhub/origin.json。2026 年 7 月之前用的 .clawdhub 文件夹已经不再读取,更新或验证老安装之前,先把它们改名为 .clawhub。
常见问题
为 Claude Code 或 Codex 写的技能,OpenClaw 能用吗?
通常可以,三个工具读的都是带 SKILL.md 的文件夹,复制进 OpenClaw 的某个根目录就行,比如工作区的 skills/ 目录。两个 .agents/skills 根目录,Codex 同样会读。Codex 自己的 $CODEX_HOME/skills 却不是 OpenClaw 的根目录:openclaw migrate plan codex 列出里面有什么,openclaw migrate codex 把它们复制进你的工作区。Claude Code 和 Claude Desktop 那边,有 OpenClaw 自带的 migrate-claude 插件,能把说明、MCP 服务器和技能一起导进来。
能在 ClawHub 上卖 OpenClaw 技能吗?
不能。在 ClawHub 发布的技能一律采用 MIT-0 许可,任何人都能使用、修改和再分发,商用也行,不用署名。ClawHub 上也没有付费技能,没有按技能定价和付费墙,也不做收入分成。调用付费服务的技能,要在说明里讲清楚,并声明它需要的变量。
怎样更新或删除一个技能?
openclaw skills update --all 会更新工作区里所有被 ClawHub 跟踪的技能,加 --global 就更新共享目录。Git 和本地安装不被跟踪,要加 --force 重装,覆盖旧文件夹。删除 ClawHub 技能得用独立的 CLI:clawhub uninstall @owner/skill-name,在当初安装的那个根目录下运行。
怎样关掉一个技能又不删除它?
在 ~/.openclaw/openclaw.json 的 skills.entries 下,给它的条目写上 enabled: false。键是技能名,名字里有连字符要加引号,内置技能和已安装的技能都适用。只想关掉全部内置技能、别的不动,就把 allowBundled 设成空列表 []。
OpenClaw 里的技能和插件有什么区别?
技能是一个 SKILL.md 加上它旁边的文件,插件则是为 OpenClaw 做的代码包。ClawHub 两种都托管,技能是带版本的文本包,插件带兼容性元数据。插件也可以带技能:在 openclaw.plugin.json 里列出 skills 目录,插件启用后,这些技能就会加载。插件用 openclaw plugins install clawhub:package-name 安装。2026.10.4 及以前的已发布版本,都得带上这个前缀。
智能体能自己写技能吗?
能。Skill Workshop 是默认开启的内置插件,智能体做完一项复杂的多步任务后,可以把其中的流程存成一个学到的技能。每次改动立即生效,并保留上一个版本,30 天没人用的技能会被归档。openclaw skills workshop list 能列出它们,archive 或 restore 可以撤销改动。学到的技能只属于一个智能体,也不受它的允许列表限制,想隐藏就把它归档。
装了技能会多花 token 吗?
会,每个技能占一点。按 Skills 页面的算法,每个技能在提示里约占 97 个字符,再加上名称、描述和位置的长度,那 97 个字符大约是 24 个 token。技能一多,提示预算就会用完,这时 OpenClaw 保留名称和位置,把描述缩短。掉出清单的技能,在启用 skills_search 工具时仍然能搜到。发现描述被截短,就回头把各技能的描述删短。
资料来源
- OpenClaw 文档:技能 https://docs.openclaw.ai/tools/skills
- OpenClaw 文档:创建技能 https://docs.openclaw.ai/tools/creating-skills
- OpenClaw 文档:技能配置 https://docs.openclaw.ai/tools/skills-config
- OpenClaw 文档:技能 CLI https://docs.openclaw.ai/cli/skills
- OpenClaw 文档:ClawHub https://docs.openclaw.ai/clawhub
- OpenClaw 文档:ClawHub 快速入门 https://docs.openclaw.ai/clawhub/quickstart
- OpenClaw 文档:ClawHub 技能格式 https://docs.openclaw.ai/clawhub/skill-format
- OpenClaw 文档:ClawHub 安全审计 https://docs.openclaw.ai/clawhub/security-audits
- OpenClaw 文档:安全与访问控制常见问题 https://docs.openclaw.ai/help/faq/security-and-access-control
- OpenClaw 文档:技能与自动化常见问题 https://docs.openclaw.ai/help/faq/skills-and-automation
- OpenClaw 文档:Skill Workshop https://docs.openclaw.ai/tools/skill-workshop
- OpenClaw 文档:迁移 Claude 插件参考 https://docs.openclaw.ai/plugins/reference/migrate-claude
- GitHub:openclaw/openclaw 仓库的 README https://github.com/openclaw/openclaw
- GitHub:openclaw/clawhub 仓库的 README https://github.com/openclaw/clawhub
- ClawHub 官网 https://clawhub.ai
- Agent Skills 规范 https://agentskills.io/specification
- OpenClaw 博客:OpenClaw 与 NVIDIA 合作,加强智能体技能安全 https://openclaw.ai/blog/openclaw-nvidia-skill-security
- OpenClaw 博客:腾讯 AIG 加入 ClawScan https://openclaw.ai/blog/tencent-aig-joins-clawscan
- Antiy CERT:ClawHavoc 分析(英文版) https://www.antiy.net/p/clawhavoc-analysis-of-large-scale-poisoning-campaign-targeting-the-openclaw-skill-market-for-ai-agents/
- eSecurity Planet:OpenClaw 的 ClawHub 上发现数百个恶意技能 https://www.esecurityplanet.com/threats/hundreds-of-malicious-skills-found-in-openclaws-clawhub/
- Peter Steinberger 在 X 上:ClawHub 的举报和上传门槛 https://x.com/steipete/status/2018297794952651111
- Oren Yomtov 在 X 上:ClawHub 上的 341 个恶意技能 https://x.com/orenyomtov/status/2018323558746014087
- OpenClaw 在 X 上:每个 ClawHub 技能现在都用 VirusTotal 扫描 https://x.com/openclaw/status/2019865921175577029



