📦 ClawHub 发布流程全指南

从本地开发到 Skills 市场上架 (2026版)

📅 更新:2026年5月20日 | ⏱️ 阅读时间:12分钟 | 🏷️ 难度:中级
ClawHub Skills发布 Agent市场 OpenClaw教程 版本管理

🎬 开篇:你的第一个Skill,发布了吗?

凌晨5点23分,我按下了"发布"按钮。

3秒钟后,我的第一个Agent Skills出现在ClawHub市场——那一刻的感觉,比第一次写"Hello World"还奇妙。

但你知道吗?发布前的路上,我踩的坑够写一本《Skills发布血泪史》。metadata格式不对?打回。缺少README?打回。没加权限声明?打回——而且每次都得等2小时审核。

今天就把它一次理清楚:从开发到上架ClawHub的全流程。

📖 ClawHub 发布流程全景

阶段1:准备你的Skill

发布前,确保你的Skill目录包含以下文件:

my-awesome-skill/
├── openclaw.json          # Skill元数据(必填)
├── index.js               # 主逻辑文件(必填)
├── package.json           # 依赖声明(可选,但推荐)
├── README.md              # 说明文档(强烈推荐)
├── icon.png               # 图标(推荐 512x512)
├── screenshots/           # 截图(推荐,展示功能)
│   ├── demo-1.png
│   └── demo-2.png
└── tests/                 # 测试文件(可选,加分项)
    └── test.js

阶段2:配置 openclaw.json

这是你的Skill"身份证",审核员第一眼看的就是它:

{
  "name": "my-awesome-skill",
  "version": "1.0.0",
  "displayName": "我的超棒Skill",     // 展示名称,支持中文
  "description": "用中文写清楚这个Skill做什么",
  "longDescription": "更详细的说明,支持Markdown…",
  "author": {
    "name": "YourName",
    "email": "your@email.com",
    "url": "https://miaoquai.com"
  },
  "runtime": "node",
  "main": "index.js",
  "permissions": [
    "web_search",
    "web_fetch"
  ],
  "categories": ["productivity", "data-fetching"],
  "homepage": "https://github.com/yourname/awesome-skill",
  "license": "MIT",
  "keywords": ["ai agent", "productivity"],
  "tags": ["工具", "数据抓取"],
  "minOpenClawVersion": "2026.4.0"
}
⚠️ 审核高拒原因 Top 3:
1. 权限过大:声明了不需要的权限(如只做文本处理却申请了browser权限)
2. 描述模糊:description 太短或不清晰,审核员看不懂你的Skill干什么
3. 缺少反馈机制:没有留联系方式,出问题审核找不到人

阶段3:本地测试

# 1. 初始化OpenClaw环境
openclaw init

# 2. 安装依赖
cd my-awesome-skill && npm install

# 3. 本地运行测试
openclaw skills run my-awesome-skill --test

# 4. 权限验证
openclaw skills check-permissions my-awesome-skill

# 5. 打包预览
openclaw skills pack my-awesome-skill --dry-run

阶段4:打包提交

# 打包Skill
openclaw skills pack my-awesome-skill -o ./dist/
# 输出: ./dist/my-awesome-skill-1.0.0.ocskill

# 提交审核
openclaw skills submit \
  --package ./dist/my-awesome-skill-1.0.0.ocskill \
  --notes "首次提交,包含核心功能"

# 查看审核状态
openclaw skills status --submission=abc123
💡 提示:ocskill 包是OpenClaw Skill的标准分发格式,本质是zip压缩包。你可以用 unzip 打开看看里面是什么。

✅ 发布检查清单

提交前,逐项检查:

[  ] openclaw.json 格式正确(用 `jq .` 验证)
[  ] version 符合 semver 规范(1.0.0, 1.0.1, 2.0.0)
[  ] permissions 声明了所有需要的工具
[  ] permissions 没有声明不需要的工具
[  ] 有 README.md(中英文都可以)
[  ] 有使用示例(README里或单独的examples目录)
[  ] minOpenClawVersion 填写了兼容版本
[  ] 本地测试通过
[  ] 测试了权限是否够用
[  ] 测试了边界输入(空输入、超大输入等)
[  ] 有联系方式(email 或 url)
[  ] icon.png 存在(可选但推荐)
[  ] package.json 声明了所有依赖

📝 审核标准详解

1 自动检查(秒级)

提交后ClawHub会立即检查:

  • openclaw.json 格式是否正确
  • 必要文件是否存在(index.js, openclaw.json)
  • package.json 是否有语法错误
  • 是否含有恶意代码(已知模式匹配)

2 安全检查(分钟级)

  • 沙箱运行测试,检查是否越权调用工具
  • 检查是否访问了未声明的外部资源
  • 动态分析代码行为
  • 比对已知恶意代码指纹

3 人工审核(小时级)

  • 功能是否与描述一致
  • 文档是否清晰可读
  • 是否违反社区规则
  • 质量评估

📈 发布后运营

发布只是开始,好Skill需要持续运营:

# 1. 查看下载统计
openclaw skills stats my-awesome-skill

# 2. 查看用户评价
openclaw skills reviews my-awesome-skill

# 3. 发布新版本
# 修改 version -> 1.0.1
# 然后重新 pack + submit

# 4. 标记不再维护
openclaw skills deprecate my-awesome-skill \
  --reason "已被新版替代,建议使用 xxx-skill v2"

🔄 版本策略

版本类型示例变更范围
Major1.0.0 → 2.0.0API变更、破坏性更新
Minor1.0.0 → 1.1.0新增功能,向后兼容
Patch1.0.0 → 1.0.1Bug修复,小改动
🎯 最佳实践:
- 首次发布用 1.0.0(不要从 0.1.0 开始,显得不专业)
- 每次版本更新要有 CHANGELOG
- 重大更新前在 ClawHub 发预告讨论帖
- 用户反馈24小时内回复(这是平台排名的关键指标)

🔗 相关资源

🎭 结语

凌晨5点23分,我按下了发布。不是因为准备好了,是因为知道——不发布永远是0,发布了才有1。

你的第一个Skill,还在本地躺着吗?该让它见见世界了。