Skip to content

小龙虾 OpenClaw 技能发布与 ClawHub 上架完整指南(2026 版)

2026年4月8日

OpenClaw Skill 打包发布:从本地到 ClawHub 完全指南

开发完 Skill 只是第一步,让更多人用上才是目的。从本地开发到 ClawHub 发布,每个环节都有规范和技巧。掌握完整发布流程,让你的技能快速触达用户。

发布流程概览

┌─────────────────────────────────────────────────────────────┐
│                    Skill 发布完整流程                         │
└─────────────────────────────────────────────────────────────┘

        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
┌─────────────┐       ┌─────────────┐       ┌─────────────┐
│  本地开发   │       │  打包测试   │       │  发布上架   │
├─────────────┤       ├─────────────┤       ├─────────────┤
│ • 目录结构  │       │ • 功能测试  │       │ • ClawHub   │
│ • SKILL.md  │       │ • 兼容测试  │       │ • 审核标准  │
│ • 代码编写  │       │ • 文档完善  │       │ • 版本更新  │
└─────────────┘       └─────────────┘       └─────────────┘

        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
┌─────────────┐       ┌─────────────┐       ┌─────────────┐
│  版本管理   │       │  用户反馈   │       │  持续迭代   │
├─────────────┤       ├─────────────┤       ├─────────────┤
│ • 语义版本  │       │ • Issue     │       │ • Bug修复   │
│ • 变更日志  │       │ • 用户评价  │       │ • 功能增强  │
│ • 回滚机制  │       │ • 数据统计  │       │ • 版本迭代  │
└─────────────┘       └─────────────┘       └─────────────┘

目录结构规范

标准 Skill 目录结构

my-skill/
├── SKILL.md              # 技能说明文档(必需)
├── config.json           # 配置规范(可选)
├── package.json          # 依赖声明(可选)
├── README.md             # 详细文档(推荐)
├── CHANGELOG.md          # 变更日志(推荐)
├── LICENSE               # 开源协议(推荐)
├── scripts/              # 脚本文件
│   ├── main.js           # 主入口
│   └── utils.js          # 工具函数
├── templates/            # 模板文件
│   └── prompt.tpl        # 提示词模板
├── tests/                # 测试文件
│   └── main.test.js      # 单元测试
└── assets/               # 资源文件
    ├── icon.png          # 技能图标
    └── screenshot.png    # 截图展示

文件命名规范

文件命名规范示例
目录名小写字母 + 连字符my-skill
SKILL.md固定名称SKILL.md
脚本文件小写驼峰main.js, utils.js
配置文件固定名称config.json

SKILL.md 编写规范

基础模板

markdown
---
name: my-skill
version: 1.0.0
description: 简洁描述技能功能(50字以内)
author: your-name
tags: [工具, 自动化, 效率]
permissions: [browser-use, file-read]
minVersion: 2026.1.0
---

# 技能名称

详细描述技能的功能、使用场景和注意事项。

## 功能特点

- 功能 1:描述
- 功能 2:描述
- 功能 3:描述

## 使用方法

### 基础用法

用户:帮我执行某个任务

Agent:[执行技能]

### 高级用法

用户:带参数执行任务

Agent:[执行高级功能]

## 配置说明

| 配置项 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| apiKey | string | 是 | API 密钥 |
| timeout | number | 否 | 超时时间,默认 30000 |

## 注意事项

- 注意事项 1
- 注意事项 2

必填字段说明

字段类型说明示例
namestring技能唯一标识my-skill
versionstring版本号(语义版本)1.0.0
descriptionstring简短描述数据抓取工具
authorstring作者信息张三

可选字段说明

字段类型说明示例
tagsarray标签分类[工具, 效率]
permissionsarray权限声明[browser-use]
minVersionstring最低版本要求2026.1.0
homepagestring项目主页https://...
repositorystring代码仓库https://github.com/...

config.json 配置规范

配置示例

json
{
  "required": ["apiKey"],
  "properties": {
    "apiKey": {
      "type": "string",
      "title": "API密钥",
      "description": "从控制台获取的API密钥",
      "minLength": 32,
      "maxLength": 64
    },
    "baseUrl": {
      "type": "string",
      "title": "服务地址",
      "description": "API服务地址",
      "default": "https://api.example.com",
      "format": "uri"
    },
    "timeout": {
      "type": "number",
      "title": "超时时间",
      "description": "请求超时时间(毫秒)",
      "default": 30000,
      "minimum": 5000,
      "maximum": 120000
    },
    "retryCount": {
      "type": "number",
      "title": "重试次数",
      "description": "请求失败重试次数",
      "default": 3,
      "minimum": 0,
      "maximum": 5
    }
  }
}

配置类型支持

类型说明示例
string字符串"apiKey": "sk-xxx"
number数字"timeout": 30000
boolean布尔值"debug": true
array数组"tags": ["a", "b"]
object对象"options": {"key": "value"}

打包流程

步骤 1:检查目录结构

bash
# 检查必要文件
ls my-skill/SKILL.md
ls my-skill/scripts/

# 检查文件完整性
tree my-skill/

步骤 2:本地测试

bash
# 加载本地 Skill
openclaw skill load ./my-skill

# 测试功能
openclaw skill test my-skill

# 运行单元测试
cd my-skill && npm test

步骤 3:打包压缩

bash
# 打包为 zip
zip -r my-skill-v1.0.0.zip my-skill/

# 排除不必要文件
zip -r my-skill-v1.0.0.zip my-skill/ \
  -x "*.git*" \
  -x "*node_modules*" \
  -x "*.DS_Store"

步骤 4:验证打包

bash
# 解压验证
unzip -l my-skill-v1.0.0.zip

# 检查文件列表
Archive: my-skill-v1.0.0.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     1024  2026-04-08 18:00   my-skill/SKILL.md
      512  2026-04-08 18:00   my-skill/config.json
     2048  2026-04-08 18:00   my-skill/scripts/main.js
---------                     -------
     3584                     3 files

ClawHub 发布流程

注册账号

1. 访问 ClawHub:https://clawhub.openclaw.ai
2. 点击「注册」
3. 填写邮箱、密码
4. 验证邮箱
5. 完善开发者信息

创建技能

1. 登录 ClawHub
2. 进入「我的技能」
3. 点击「发布新技能」
4. 填写基本信息:
   - 技能名称
   - 简短描述
   - 详细介绍
   - 分类标签

上传文件

1. 选择「上传技能包」
2. 选择打包好的 zip 文件
3. 等待上传完成
4. 系统自动验证文件结构

提交审核

1. 预览技能详情
2. 检查配置信息
3. 点击「提交审核」
4. 等待审核结果(通常 1-3 个工作日)

审核状态

状态说明后续操作
待审核等待审核中无需操作
审核中正在审核等待结果
已通过审核通过已上架
已拒绝审核未通过查看原因并修改

审核标准

必须满足的条件

条件要求常见问题
功能完整核心功能可用功能未实现、报错
文档完善SKILL.md 完整缺少使用说明
代码规范无安全隐患硬编码密钥、SQL注入
权限声明权限使用合理未声明或过度申请
无侵权不侵犯他人权益抄袭他人代码

常见拒绝原因

❌ 拒绝原因 1:功能不完整
问题:核心功能未实现或报错
解决:完善功能,修复 bug

❌ 拒绝原因 2:文档不清晰
问题:缺少使用说明或配置说明
解决:补充 SKILL.md 文档

❌ 拒绝原因 3:安全问题
问题:硬编码敏感信息
解决:使用环境变量或配置项

❌ 拒绝原因 4:权限问题
问题:申请了不必要的权限
解决:只申请必需权限

❌ 拒绝原因 5:重复技能
问题:与已有技能功能重复
解决:增加差异化功能

版本管理

语义版本规范

主版本号.次版本号.修订号

MAJOR.MINOR.PATCH

示例:1.2.3
- MAJOR (1):不兼容的重大变更
- MINOR (2):新增功能,向后兼容
- PATCH (3):Bug 修复,向后兼容

版本更新规则

变更类型版本变更示例
Bug 修复PATCH +11.0.0 → 1.0.1
新增功能MINOR +11.0.0 → 1.1.0
重大变更MAJOR +11.0.0 → 2.0.0

变更日志示例

markdown
# CHANGELOG.md

## [1.2.0] - 2026-04-08

### Added
- 新增批量处理功能
- 支持自定义输出格式

### Changed
- 优化性能,响应速度提升 50%

### Fixed
- 修复特殊字符编码问题
- 修复并发请求偶发崩溃

## [1.1.0] - 2026-03-15

### Added
- 新增错误重试机制
- 支持自定义超时时间

### Fixed
- 修复空数据处理问题

## [1.0.0] - 2026-02-01

### Added
- 初始版本发布
- 基础数据抓取功能

发布实战案例

案例一:发布数据抓取技能

## 步骤 1:准备目录结构

$ tree data-fetcher/
data-fetcher/
├── SKILL.md
├── config.json
├── package.json
├── scripts/
│   ├── main.js
│   └── parser.js
└── assets/
    └── icon.png

## 步骤 2:编写 SKILL.md

---
name: data-fetcher
version: 1.0.0
description: 网页数据抓取与结构化工具
author: 张三
tags: [数据抓取, 网页解析]
permissions: [browser-use, network-access]
---

# 数据抓取器

从网页中提取结构化数据,支持多种输出格式...

## 步骤 3:本地测试

$ openclaw skill load ./data-fetcher
✅ Skill loaded: data-fetcher

$ openclaw skill test data-fetcher
✅ All tests passed

## 步骤 4:打包

$ zip -r data-fetcher-v1.0.0.zip data-fetcher/ \
  -x "*.git*" -x "*node_modules*"

## 步骤 5:上传 ClawHub

1. 登录 ClawHub
2. 发布新技能
3. 上传 zip 文件
4. 填写技能信息
5. 提交审核

## 步骤 6:审核通过

审核结果:✅ 已通过
审核意见:功能完整,文档清晰
上架时间:2026-04-08 18:30

持续迭代

收集用户反馈

用户反馈渠道:
1. ClawHub 评论区
2. GitHub Issues
3. 开发者邮箱
4. 社区论坛

版本迭代流程

1. 收集用户反馈
2. 分析问题优先级
3. 制定迭代计划
4. 开发新版本
5. 测试验证
6. 更新 CHANGELOG
7. 发布新版本
8. 通知用户更新

版本更新推送

bash
# 发布新版本后,通知已安装用户

openclaw skill notify data-fetcher --version 1.1.0 --message "
新增功能:
- 批量处理支持
- 自定义输出格式

修复问题:
- 特殊字符编码
- 并发请求崩溃
"

发布清单

发布前逐项检查:

□ 目录结构
  □ SKILL.md 存在且格式正确
  □ 脚本文件完整
  □ 配置文件格式正确

□ 文档完善
  □ 功能描述清晰
  □ 使用方法完整
  □ 配置说明明确

□ 功能测试
  □ 核心功能正常
  □ 边界情况处理
  □ 错误提示友好

□ 安全检查
  □ 无硬编码敏感信息
  □ 权限申请合理
  □ 无安全漏洞

□ 版本管理
  □ 版本号正确
  □ CHANGELOG 更新
  □ Git 标签创建

总结

阶段关键点常见问题
准备目录结构规范缺少必要文件
编写SKILL.md 完整文档不清晰
测试功能验证测试不充分
打包排除不必要文件包含敏感信息
发布审核标准功能不完整
迭代用户反馈响应不及时

发布成功的关键:

  • 完整的文档:让用户快速上手
  • 充分的测试:避免上线后出问题
  • 规范的代码:通过安全审核
  • 及时迭代:响应用户需求

从本地开发到 ClawHub 发布,每一步都有规范可循。按照流程操作,让你的技能快速触达用户。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来