Skip to content

第11章 使用现成Skills:从ClawHub安装

🎯 本章目标:学完这章,你能搜索、安装、验证、配置现成 Skills,并知道怎么安全上线

⏱️ 预计时间:20分钟

📋 前置要求:已完成第10章(Tools 全景)

  • ClawHub 的定位与基本工作流
  • search/install/update/sync 的正确用法
  • Skills 加载优先级与覆盖规则
  • skills list --eligible(可用清单)怎么看
  • skills.entries 常用配置(环境变量 / Key / 热刷新 / 额外挂载目录)
  • Skills 的调用方式与安全治理

  • ClawHub:OpenClaw 的公共 Skills 注册中心
  • Skill:一个包含 SKILL.md 的目录(可带辅助文件)
  • 你在做的事:把别人写好的“工作SOP”装到你的 OpenClaw 里

网站地址:https://clawhub.com

  1. 先装能用的,不用从零写;
  2. 有版本记录,更新可控;
  3. 可以同步发布,顺便做备份。

11.2 搜索、安装、更新、同步(四个核心动作)

Section titled “11.2 搜索、安装、更新、同步(四个核心动作)”

小白先记一条:clawhub 是“技能商店命令”,openclaw 是“主程序命令”。
两个都需要能在终端里直接运行。

Terminal window
npm i -g clawhub

或:

Terminal window
pnpm add -g clawhub

首次使用建议先登录,避免后面 sync/publish 才发现权限问题:

Terminal window
clawhub login
clawhub whoami

如果这里报 EACCES: permission denied,先不要硬怼:

  1. 优先用你系统推荐的无 sudo 安装方式处理 Node/npm;
  2. 再重新执行安装;
  3. 最后用 clawhub --version 验证是否成功。

Terminal window
clawhub search "daily report"
clawhub install daily-report

操作提醒:安装完成后,先开新会话再调用,不要在旧会话里直接测,能少踩很多“明明装了但没生效”的坑。

默认安装目标有个关键细节(官方口径):

  • 默认装到当前目录的 ./skills(也就是你当前所在目录)
  • 若当前目录不适合,会回退到已配置的 OpenClaw workspace
  • 为了稳定生效,建议开一个新会话再调用

安装指定版本:

Terminal window
clawhub install daily-report --version 1.2.0

目录已存在时覆盖:

Terminal window
clawhub install daily-report --force

Terminal window
# 更新单个
clawhub update daily-report
# 更新全部
clawhub update --all
# 看已安装清单(读取 .clawhub/lock.json)
clawhub list

如果你本地改过 Skill 文件,更新时遇到“与仓库版本不一致”的提示,确认后再用:

Terminal window
clawhub update daily-report --force

Terminal window
# 预演(不真正上传)
clawhub sync --dry-run
# 扫描并发布所有变更
clawhub sync --all

你把它理解成“Skills 的发布同步按钮”(有点像内容版 git push)就行。


11.3 Skills 从哪里加载?谁覆盖谁?

Section titled “11.3 Skills 从哪里加载?谁覆盖谁?”

官方优先级(高 → 低):

  1. <workspace>/skills
  2. ~/.openclaw/skills
  3. 内置 bundled skills
  4. skills.load.extraDirs(额外目录,最低)

这意味着同名 Skill 同时存在时,工作区版本优先

  • 单智能体:放 <workspace>/skills(只影响当前工作区)
  • 共享给多个智能体:放 ~/.openclaw/skills

如果你团队里有“公用技能包”,建议用 extraDirs 挂载统一目录。

11.3.2 插件自带 Skill 也走这套规则

Section titled “11.3.2 插件自带 Skill 也走这套规则”

官方允许插件把 Skill 一起打包发布。
只要插件启用,这些 Skill 也会被加载,并参与同一套优先级覆盖逻辑。


11.4 可用性检查:为什么要先看“可用清单”(--eligible

Section titled “11.4 可用性检查:为什么要先看“可用清单”(--eligible)”

Terminal window
openclaw skills list
Terminal window
openclaw skills list --eligible

再补一条巡检命令(很多人会漏):

Terminal window
openclaw skills check

操作提醒:上线前最少跑这两条——list --eligible + skills check;两条都过,再发布。

  • Skill 文件结构是否完整
  • 依赖工具是否可用
  • metadata.openclaw.requires.* 门控是否满足(比如 bin/env/config)

再看单个细节:

Terminal window
openclaw skills info daily-report

--eligible 理解成“体检合格名单”就行。
在名单里 = 可以用;不在名单里 = 先修依赖再用。

新手实操口诀:先看可用清单,再调用
否则你会陷入“明明装了但不能用”的循环排障。


11.5 运行期配置:skills.entries 是你的总开关

Section titled “11.5 运行期配置:skills.entries 是你的总开关”

所有 Skills 配置都在 ~/.openclaw/openclaw.json 里。

你可以先用命令看看当前有没有这个节点:

Terminal window
openclaw config get skills.entries

如果命令不可用(例如提示 unknown command 'config'),就直接手动打开:
~/.openclaw/openclaw.json

{
skills: {
allowBundled: ["gemini", "peekaboo"],
load: {
extraDirs: ["~/Projects/team-skills"],
watch: true,
watchDebounceMs: 250
},
install: {
preferBrew: true,
nodeManager: "npm"
},
entries: {
"daily-report": {
enabled: true,
env: {
REPORT_TZ: "Asia/Shanghai"
}
},
"private-skill": {
enabled: true,
apiKey: "YOUR_KEY"
},
"old-skill": {
enabled: false
}
}
}
}

  1. enabled: false 能立刻停用某个 Skill。
  2. env/apiKey 只在智能体运行时注入,不是全局 shell 环境。
  3. watch: true 开启后,Skill 改动会自动刷新到后续轮次。
  4. extraDirs 适合团队共享技能目录。
  5. allowBundled 只影响内置 Skills,不影响你本地安装的。

再补两条“容易误会”的官方细节:

  1. install.nodeManager 只影响 Skill 安装用什么包管理器(npm/pnpm/yarn/bun),不改变 Gateway 运行时(仍建议 Node)。
  2. skills.entries.<key> 默认用 Skill 名;如果 Skill 定义了 metadata.openclaw.skillKey,要用那个 key。

11.6.1 对新手最稳:自然语言触发

Section titled “11.6.1 对新手最稳:自然语言触发”

直接在 TUI/WebUI 里说:

请调用 daily-report,整理我今天的工作记录并输出成 Markdown

这一步如果你不确定 Skill 是否已加载,先跑:

Terminal window
openclaw skills list --eligible

看到 daily-report 再触发,成功率会高很多。

如果你开启了 slash 命令体系,可用:

/skill daily-report

11.6.3 进阶:command-dispatch(先知道即可)

Section titled “11.6.3 进阶:command-dispatch(先知道即可)”

官方支持某些 Skill 用 command-dispatch: tool 直接调工具。
优点是确定性更强,适合“固定格式、固定动作”的场景。

小白阶段不用急着配它。
先把“自然语言触发 + 可用清单检查”跑稳,已经足够覆盖日常 80% 场景。

11.6.4 为什么“刚改完 Skill,感觉没生效”

Section titled “11.6.4 为什么“刚改完 Skill,感觉没生效””

官方机制是“会话级快照”:

  • 会话启动时会快照当时的可用 Skills;
  • 中途改 Skill,最稳妥的做法是开新会话再测;
  • 开了 watch 会尝试热刷新,但排障时依然优先用“新会话复现”。

11.7 安全与治理:第三方 Skill 先审后用

Section titled “11.7 安全与治理:第三方 Skill 先审后用”

这是本章最重要的一条:

  1. 把第三方 Skill 当作“不受信任输入”;
  2. 上线前先看 SKILL.md 和依赖工具;
  3. 高风险工具(尤其 exec)必须配审批;
  4. 更新时保留版本记录,必要时可回退。

再强调一个安全边界(官方很明确):

  • skills.entries.*.env / apiKey 注入的是主机进程环境,不是沙箱环境;
  • 你若在沙箱里跑 Skill,需要在 sandbox 配置里单独声明环境变量。

推荐流程:

  1. clawhub install 安装到测试 workspace
  2. openclaw skills list --eligible 验证
  3. 小流量试跑
  4. 再同步到正式环境

  1. ClawHub 负责“发现/安装/更新/同步”,OpenClaw 负责“加载/执行”。
  2. 先搞懂加载优先级,才能解释“为什么同名 Skill 行为不同”。
  3. “可用清单(--eligible)”是日常健康检查入口,不是可选动作。
  4. skills.entries 是你最常改的配置区。
  5. 第三方 Skill 上线前,先审再放量。
  6. 遇到“改了没生效”,优先新开会话再验证。

下一步:第12章,自己写一个可发布的 Skill。


  1. 搜索并安装一个你感兴趣的 Skill。
  2. 运行 openclaw skills list --eligible,确认它就绪。
  3. skills.entries 给它加一个自定义环境变量。
  4. 开一个新会话,调用它并观察效果。
  5. 最后执行一次 clawhub sync --dry-run 看发布预览。