OpenClaw Skill开发与发布全流程解析

  发布时间:2026-04-17 10:31:35   作者:Ts-Drunk   我要评论
本文介绍了OpenClaw技能(Skill)的开发、部署、和ClawHub发布流程,包括Skill目录结构、frontmatter规范、本地开发与测试、打包进应用、以及上传ClawHub的方法,感兴趣的可以了解一下

本文面向在本仓库中开发、调试、打包进应用、发布到 ClawHub 的 OpenClaw Skill。

官方参考:

1. Skill 是什么、装在哪里

  • 每个 Skill 是一个目录,根目录必须有 SKILL.md(YAML frontmatter + Markdown 正文)。
  • 用户机器上,TsClaw / OpenClaw 使用的安装路径为 ~/.openclaw/skills/<slug>/(Windows 下为配置目录下的 skills\<slug>\,与 src-tauriget_skills_dir() 一致)。
  • 正文和示例命令里通常写 node ~/.openclaw/skills/<slug>/scripts/...,便于代理在运行时找到脚本。

2.SKILL.mdfrontmatter(openclaw 会解析的部分)

TsClaw 会从 SKILL.md 里读出 namedescriptionversion(可选) 以及 metadata.openclaw,用于:

  • 技能列表、搜索展示;
  • 判断是否缺 环境变量 / API Key(primaryEnvrequires.envoptional.env);
  • 判断是否缺 PATH 二进制(requires.bins),并给出 missingBins
  • 可选 install:声明如何安装缺失依赖(brew / npm 等),供安装器/UI 使用。

2.1metadata.openclaw常见字段

与仓库内实现一致(见 src-tauri/src/commands/skills.rsOpenClawMetaRaw / SkillMetadata):

字段含义
primaryEnv与 skills.entries[slug].apiKey 对应的主环境变量名(可为空字符串表示不绑单一 Key)
requires.env必填环境变量列表
optional.env可选环境变量列表
requires.bins必须在 PATH 中的可执行文件名列表
install可选,SkillInstallSpec 数组(id / kind / formula / bins / label / os 等)

2.2 示例(摘自本仓库bundled-skills)

需要 API Key 的 Skill:

---
name: openclaw-translate
description: >
  多语言翻译…… Use when: … NOT for: …
metadata:
  openclaw:
    primaryEnv: BAIDU_TRANSLATE_APPID
    requires:
      env:
        - BAIDU_TRANSLATE_APPID
        - BAIDU_TRANSLATE_SECRET
---

纯本地、无 Key 的 Skill:

---
name: tianshu-xhs-note
description: >
  … Use when: … NOT for: …
metadata:
  openclaw:
    primaryEnv: ""
---

2.3description怎么写(给模型「何时调用」用)

本仓库内 Skill 的惯例(可与 OpenClaw 文档一起对照):

  1. 一句话能力 + Use when: 典型用户说法/场景。
  2. 可选 NOT for: 写清不要误用的边界,减少错误触发。
  3. 正文里再写 When to Run、Workflow、参数表、示例命令,与 frontmatter 呼应。

3. 本地开发流程

3.1 目录放哪

  • 本仓库:常在 skills/<slug>/ 下迭代(与 scripts/download-bundled-skills.mjs 的「项目内副本」逻辑一致)。
  • 真机联调:把同名目录拷到 ~/.openclaw/skills/<slug>/,或安装一次后再改文件,保证 OpenClaw / 天树 读到的就是你在测的版本。

3.2 脚本与依赖

  • 脚本放在 scripts/,用 Node 的可执行方式调用(本仓库大量 Skill 已 Node 化,见 skills/SKILLS_ANALYSIS.md)。
  • 若需要 npm 依赖,在 Skill 目录放 package.json,用户或应用侧需在对应目录执行 npm install(例如 wechat-article-searchcheerio 的处理,download-bundled-skills.mjs 里有兜底注入 package.json 的逻辑)。
  • 文档中的示例路径统一为 ~/.tsclaw/skills/...,避免只写相对路径导致代理换 cwd 后找不到。

3.3 自检清单

  • SKILL.md frontmatter 能被解析:metadata.openclaw 存在且 YAML 合法。
  • name 与目录名 / ClawHub slug 一致或符合你的发布命名约定。
  • 在目标平台实际跑一遍脚本(macOS / Windows 路径、引号转义、--text vs --file)。

4. 打进 OpenClaw 安装包(bundled-skills)

4.1 同步到src-tauri/bundled-skills/

  1. 将 slug 加入 scripts/download-bundled-skills.mjs 里的 SKILLS 数组(若需要随发行版打包)。
  2. 运行(需网络拉 ClawHub 时):npm run skills:bundlednode scripts/download-bundled-skills.mjs
  3. 本地优先:脚本会优先从 ~/.openclaw/skills/<slug> 复制,其次 仓库/skills/<slug>,都没有再请求 ClawHub。适合你先本地改好再一键拷进 bundled-skills

4.2 静默更新已安装用户的内置副本

应用启动时会对比:

  • 包内 src-tauri/bundled-skills/BUNDLED_SKILLS_REVISION 的修订号;
  • 用户目录 ~/.openclaw/.bundled-skills-sync-app-version 里记录的上次同步修订。

仅当你希望已安装用户在不升应用 semver 的情况下覆盖内置 Skill 时:递增 BUNDLED_SKILLS_REVISION(当前实现见 skills.rsschedule_auto_install_bundled_skills 注释)。

5. 发布到 ClawHub(上传 Skill)

5.1 CLI

  1. 安装并登录:npm install -g clawhub,执行 clawhub login
  2. 在 Skill 目录或仓库路径执行发布,例如本仓库脚本中的形式:
clawhub publish "skills/${slug}" \
  --slug "$slug" \
  --name "显示名称" \
  --version 1.0.0 \
  --changelog "说明本次变更"

或使用 npx(见 scripts/publish-aiznt-skills.mjs):

npx --yes clawhub@latest publish <目录> --slug ... --name ... --version ... --changelog ... --tags ...

部分 Skill 使用目录内 clawhub.json 维护 name / version / tags 等,再被发布脚本读取(aiznt-* 系列)。

5.2 网页上传

ClawHub 支持在浏览器上传压缩包:https://clawhub.ai/upload(需按站点要求登录,如 GitHub)。

5.3 与本仓库相关的限制与坑

问题说明与处理
新 slug 限流仓库内注释:每小时最多约 5 个新 slug;批量发布用 publish-student-skills-clawhub.sh / publish-aiznt-skills.mjs 时已说明失败时隔一段时间再跑或 --from 跳过已成功的。
HTTP 429download-bundled-skills.mjs 对下载有重试;发布端若遇限流同样需等待 Retry-After 或错峰。
版本已存在提高 --version 或 clawhub.json 里的 version 后再发。
ZIP 目录结构ClawHub 下载解压后若只有一层子目录(名为 slug 或 skill),应用侧会上移一层;本地打包时避免多嵌套导致 SKILL.md 不在根目录。
metadata 格式TsClaw 用 YAML 解析 frontmatter;metadata 可为嵌套 YAML 或部分场景下的 JSON 字符串(见 read_skill_metadata)。若解析失败,设置页可能看不到 Key/bin 提示;可参考已上架 Skill 或 tianshu-qiniu-upload README 中的说明。

6. 与本仓库其他脚本的关系(按需)

脚本作用
scripts/publish-student-skills-clawhub.sh一批 tianshu-* 学生向 Skill 发布到 ClawHub(未写进默认 bundled 列表时可单独发)。
scripts/publish-aiznt-skills.mjs发布 aiznt-* 系列,支持 --dry-run、--from slug。
npm run skills:baoyu从 JimLiu/baoyu-skills 同步 baoyu-* 到 bundled-skills(另一路技能源)。
npm run bundles:sync同步 bundled skills、钉钉插件、openclaw tgz 等(发布前整包准备时常用)。

7. 小结检查清单

开发

  • SKILL.md 含 metadata.openclaw,且 description 含 Use when / NOT for(按需)
  • 脚本路径、环境变量名与文档一致
  • 在 ~/.tsclaw/skills/<slug> 下实测通过

进包

  • slug 已加入 download-bundled-skills.mjs 的 SKILLS(若需要内置)
  • 需要静默推送更新时递增 BUNDLED_SKILLS_REVISION

上架 ClawHub

  • clawhub login 成功,版本号/changelog 正确
  • 注意新 slug 与小时间窗口限流,失败时分批重试

到此这篇关于OpenClaw Skill开发与发布全流程解析的文章就介绍到这了,更多相关OpenClaw Skill开发与发布内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

相关文章

  • OpenClaw Skills安装与实战:打造你的AI技能工具箱

    这篇文章主要为大家详细介绍了如何使用 ClawHub 安装和管理 OpenClaw 技能包,并通过实战案例演示多个技能的协同使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2026-04-07
  • OpenClaw开发Agent Skills最常见的12种错误和对应的解决方案

    作者记录了使用 OpenClaw 开发 Agent Skills 时踩过的 12 个常见报错坑,并整理了完整解决方案,适合正在使用 OpenClaw 遇到问题的开发者参考
    2026-04-07
  • OpenClaw(龙虾)Skills从零到发布的实战指南

    本文详细介绍了OpenClaw的Skill机制,包括什么是Skill、Skill的目录结构、SKILL.md的核心格式、以及五种不同类型的Skill,还提供了开发最佳实践、安全检查清单和本地测试指南
    2026-04-02
  • OpenClaw Skills安装教程与失败处理方案

    这篇文章给大家介绍OpenClaw Skills安装教程与失败处理方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2026-03-27
  • OpenClaw中Tavily网络搜索Skill的安装配置教程

    Tavily 是一个 web search API,可以让你的 OpenClaw AI 助手具备搜索功能,本文将和大家详细介绍如何在 OpenClaw 中安装和使用 Tavily,有需要的小伙伴可以跟随小编一起学习
    2026-03-27
  • openclaw部署后如何调用mcp和skills

    本文主要介绍了openclaw部署后如何调用mcp和skills,包括Skills的安装、调用和MCP的配置、调用,还提供了内网离线适配的相关配置,具有一定的参考价值,感兴趣的可以了解一下
    2026-03-27
  • OpenClaw Skill开发实战指南:从入门到独立发布

    用OpenClaw也有一段时间了,不得不说这工具确实香,但时间一长,就发现官方自带的那些Skill不太够用了,后来就想,与其凑合用,不如自己写一个,这一写不要紧,发现这里门道还
    2026-03-26
  • OpenClaw Skills 安装的实现步骤

    本文为新手提供OpenClawSkills安装指南,包括查看内置Skills、从ClawHub安装新Skills、手动安装Skills、配置API密钥、常见问题及解决方法等内容,感兴趣的可以了解一下
    2026-03-25
  • OpenClaw Skills完全指南:手把手教你与实战应用

    最近 AI 圈最火的话题莫过于 OpenClaw 了——这个开源 AI 代理框架正在悄悄改变我们与 AI 互动的方式,没有 Skills 的 OpenClaw 只是个能聊天的工具,装上 Skills 后,它才
    2026-03-24
  • openclaw的git备份策略全解析-skill已上线

    本文介绍了两种为openclaw工具进行数据备份的方法,文中还提供了已上传至clawhub的备份脚本安装方法,两种备份方式结合使用,可确保openclaw数据安全,避免意外丢失,感兴趣的
    2026-03-23

最新评论