如何在 ClawHub 上发布 Skill:从打包到上架的全流程方案

ClawHub 是 OpenClaw 的官方 Skill 注册中心,截至 2026 年 3 月,已收录 13,700+ 技能、2,868 个高质量精选、5,000+ 周活跃开发者,单个 Skill 最高安装量达 18 万次。但 ClawHub 也是一把双刃剑------同期约 12% 的 Skill 存在安全问题,1184 个被标记为恶意(含 crypto stealers、prompt injection、data exfiltration),所以"会发"和"发得对、发得安全"完全是两件事。本文给一份从打包、自检、上架到维护的完整方案,附零依赖的预发布自检器代码,照着做就能让 Skill 安全过审、稳定分发。

一、整体流程:六阶段流水线

整个发布流水线分 6 个阶段,纵向有两条贯穿全程的"脊柱":

阶段 关键产物 核心动作
① Skill Design manifest schema 边界、scope、advertise≤100t
② Local Develop SKILL.md / scripts / references 四层加载:advertise → load → resources → run
③ Validate & Test lint 报告 / sandbox 试跑 clawhub validate + 凭证测试
④ Package & Sign zip artifact / SBOM 语义化版本 + 签名
⑤ Submit to ClawHub 上架元数据 / icon / 截图 clawhub publish
⑥ Review & Listing ClawScan + 人工审核 安全扫描 + 公开上架

横贯上下两条脊柱:开发者体验脊柱 (skill_draft_create / credential / publish / 回滚)和 信任与安全脊柱(凭证白名单域名 / 沙箱隔离 / 签名校验 / CVE 扫描)。前者保证"快速发出来",后者保证"发出来不被下架"。

二、Skill 包结构:最小可发布单元

ClawHub 期望的目录结构非常克制:

复制代码
my-skill/
├── SKILL.md          # 必需:YAML frontmatter + Markdown 指令
├── clawhub.json      # 推荐:元数据与上架信息
├── scripts/          # 可选:执行脚本(按需 run)
├── references/       # 可选:参考文档(按需 read)
└── README.md         # 可选:作为商店落地页

SKILL.md 头部的 YAML frontmatter 是 Skill 的灵魂,三个字段决定生死:

markdown 复制代码
---
name: github-crm-bridge
description: 把 GitHub Issue 同步到 OpenClaw CRM 联系人,自动派单与追踪
version: 1.0.0
tools: [Bash, Read, Write, WebSearch]
---

description 决定 OpenClaw 何时自动触发该 Skill ------描述越精准,触发越准;模糊到"general productivity"那种基本没人装也没人用。tools 字段建议显式声明所需工具,避免无意暴露 exec 这类高危接口。

三、预发布自检器:把问题挡在上传之前

ClawHub 上传后再修问题的成本极高(要重发 patch 版本、要重过审核),所以推荐在本地先跑一轮"医生体检"。下面是一个零依赖纯 Python 的 doctor,6 大类检查覆盖 ClawHub 最常见的 4 类拒收原因:Slug 大小写、污染文件、凭证硬编码、版本号格式。

python 复制代码
SEMVER = re.compile(r"^\d+\.\d+\.\d+([\-+][0-9A-Za-z\-.]+)?$")
SLUG_OK = re.compile(r"^[a-z0-9]+(-[a-z0-9]+)*$")
SECRET_PATTERNS = [
    re.compile(r"sk-[A-Za-z0-9_\-]{16,}"),
    re.compile(r"AKIA[0-9A-Z]{16}"),
    re.compile(r"(?i)bearer\s+[A-Za-z0-9_\-\.=]{20,}"),
    re.compile(r"(?i)(api[_-]?key|secret|token)\s*[:=]\s*['\"][^'\"]{12,}"),
]
DIRTY_FILES = {".git", ".DS_Store", "node_modules", "__pycache__"}

打分规则简单粗暴:任何一项 CRIT 直接 BLOCK(一票否决),WARN 每项扣 8 分;100 分健康,60~89 分需修复,60 以下阻断发布。

我用一个故意"埋雷"的 Skill 跑了一遍 mock:Slug 写成 Github-CRM-Bridge、版本写成 1.0、scripts 里硬编码了 sk-prod-... 的 key、还带着 .git / .DS_Store / LICENSE 三类污染文件。doctor 输出:

复制代码
[OK  ] ✅ 必需文件 SKILL.md   → 存在
[OK  ] ✅ YAML frontmatter   → name=github-crm-bridge, desc=43字
[CRIT] ❌ Slug 合规           → 'Github-CRM-Bridge' 不合规,必须小写+短横线
[WARN] ⚠️  版本号 semver      → '1.0' 非标准 semver,建议 X.Y.Z
[CRIT] ❌ 污染文件清理         → 检出 3 个: .git/HEAD, .DS_Store, LICENSE
[CRIT] ❌ 凭证泄露扫描         → 硬编码密钥 1 处: sk-prod-7H2k9X3LmQ...
─────────────────────────
健康分:0/100  (CRIT 3 / WARN 1)
发布决策:BLOCK

3 个 CRIT 直接挡住发布,是非常准确的------这 4 个雷只要中任意一个,到 ClawHub 网页表单就会立刻报红。

四、正式发布:两条上架路径

路径 A:CLI 发布(适合自动化与团队)

bash 复制代码
npm i -g clawhub                    # 全局安装 CLI
clawhub login                       # 浏览器 OAuth 授权
clawhub validate ./my-skill         # 服务端规则校验
clawhub publish ./my-skill \
    --slug github-crm-bridge \
    --name "GitHub CRM Bridge" \
    --version 1.0.0 \
    --changelog "Initial release" \
    --dry-run                       # 先模拟发布预览
clawhub publish ./my-skill ...      # 去掉 --dry-run 正式发布

--slug 决定 URL(clawhub.ai/{owner}/{slug}),上线后不可改--version 必须严格 semver;--dry-run 一定要先跑一次,预览审查报告再正式发。

路径 B:网页发布(适合新手)

访问 https://clawhub.ai/import,两种模式:

  • Drop a folder:直接拖目录上传,表单填 Slug / Display name / Version / Tags,勾选 MIT-0 许可证,写 Changelog 即可发布。
  • Import from GitHub :填写公开仓库地址,点 Detect 自动识别表单------这种方式会自动过滤 .git/LICENSE 等污染文件,更稳定。

官方限制:GitHub 账号必须创建满 1 周才能发布(防滥用机制),新账号要先攒一周时间。

五、安全与上架硬规则

ClawHub 在 2026 年初被 ClawHavoc 供应链攻击重创后,审核明显收紧。发布前请逐条对齐:

红线项 触发后果 修复
Slug 含大写 / 下划线 表单直接报红 改全小写 + 短横线
包含 .git/.DS_Store/LICENSE Remove non-text files 错误 doctor 清单提前清理
硬编码 API Key / Token ClawScan 静态扫描判 DANGEROUS skill_draft_credential 配凭证
tools 包含 exec 类高危接口 人工审核驳回 YAML 显式声明 tools: deny: [exec]
描述含"general"等泛词 触发率低 → 装机量低 → 沉底 写明"何时触发 + 解决什么痛"

六、发布后维护:版本与社区

发布不是终点。后续维护建议遵循三条铁律:

  1. 语义化版本 :bug fix 走 patch(1.0.1)、新功能走 minor(1.1.0)、breaking 走 major(2.0.0),并在 changelog 写清 Added/Changed/Fixed/Deprecated 四象限;
  2. 回应 issue 不躺平:ClawHub 的 star / report 直接影响推荐权重;
  3. 向 awesome-openclaw-skills 仓库提 PR:4 万 star、5400+ 入选 Skill,被收录后流量提升明显。

七、避坑铁律

  • API Key 永远不放 Skill 内 ------走 skill_draft_credential 配置凭证,让 ClawHub 网关代为注入,否则一次泄露全网传播;
  • dry-run 永远先跑一次 ------clawhub publish --dry-run 看模拟报告再正式发,省下重发 patch 版本的时间;
  • 本地用 doctor 先体检------CRIT 项一律阻断,别等 ClawHub 服务端打回来;
  • Slug 一发即定------上线后只能新发 Skill 改名,所以三思而后命名;
  • 新账号攒满 1 周再发------别浪费第一次发布的"曝光位"在一个测试 Skill 上。
相关推荐
砍光二叉树21 小时前
一文打通 AI 认知:LLM、Agent、MCP、Skill 完整体系
人工智能·llm·agent·skill·mcp
腾讯位置服务2 天前
4月产品上新|魔方洞察、智能选址、打车服务三大Skills上线,两轮车熄屏导航同步升级!
大数据·开发·skill·龙虾·腾讯位置服务
没有腰的嘟嘟嘟2 天前
Easy-agent介绍
ai·llm·agent·rag·skill·spring ai·mcp
阿里云大数据AI技术2 天前
阿里云 EMR Serverless StarRocks Skills 正式发布
starrocks·阿里云·serverless·agent·skill
摸鱼同学3 天前
14-oh-my-claude / oh-my-claudecode:多 Agent 编排框架
ai·agent·claude·skill·omc
ShyanZh3 天前
【skill】Humanizer-zh:24条规则消灭AI写作痕迹
人工智能·ai写作·skill
CAir23 天前
copilot配置deepseek和skills
vscode·copilot·skill·deepseek
雨水的早晨3 天前
什么是SKill
人工智能·skill
ShyanZh3 天前
【skill】Agent-Browser:AI代理的浏览器自动化实战指南
运维·人工智能·自动化·skill·agent-browser