Skill 多端发布器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2a52e6b3/skill-release-plus。
技能介绍
解决什么问题
把一个 skill 同时发布到 clawhub、skillhub.cn 和 GitHub Releases 时,重复劳动很明显:每个 hub 的认证、接口、包格式不同;漏掉排除规则会把 .git、node_modules 或密钥打进包;某一个 hub 失败后,另外两个可能已经成功,需要人工决定是否回滚。这个技能把发布流程压缩为一次调用:先签名、再打包,然后扇出到多个目标。
核心能力与关键步骤
它把 config/exclude.json 作为唯一事实来源,默认剔除 .git、.svn、__pycache__、node_modules、dist、.env、*.pem、*.key 等 VCS、IDE、构建产物、密钥和测试缓存,并可用 --show-exclude 查看完整规则。每个适配器独立,都继承 BaseAdapter,协议互不耦合:
clawhub:包装 clawhub CLI,认证使用SRP_CLAWHUB_TOKEN或clawhub login。skillhub-cn:向腾讯云 skillhub.cn 的 multipart 接口发布,认证使用SRP_SKILLHUB_CN_TOKEN;遇到 429 会等待并自动重试。github-release:不依赖gh,直接使用 git 与 GitHub REST API,支持owner/repo[/subdir]的 monorepo 布局,但必须显式提供--version。user-hook:执行自定义脚本,脚本通过环境变量和 JSON stdin 接收元数据,stdout 返回{"ok": true, "url": "..."},便于接入私有 hub。
配置解析优先级是 CLI 参数、SRP_* 环境变量、项目 ./.env、全局配置;缺关键项会进入交互式 onboarding。默认策略是 fail-open:单个目标失败不会阻塞其他目标,dispatcher 只汇总各目标状态,但已成功的发布不会自动回滚。
适用边界与注意点
cn.clawhub-mirror.com 是 clawhub.com 的只读公共镜像,发布 clawhub 后会自动同步,没有独立发布端点。skillhub-cn 每个 token 限制 3 次/分钟发布;其 SKILL.md frontmatter 必须包含 description,长度不超过 1024 bytes,支持 YAML folded scalar。依赖上,Python 3.8+ 标准库即可;github-release 需要 git 2.x,clawhub 需要 clawhub CLI,skill-sign 与 PyYAML 可选。若要发布后自动清理,或需要自动 tag bump,仍需自行扩展。
使用场景
- 同一版 skill 需要同时发到 clawhub 和 skillhub.cn,并保留各自的鉴权方式
- 团队私有 hub 需要通过 user-hook 脚本接收元数据并回传发布结果
- GitHub monorepo 中指定子目录的 skill 需要发布 Release 产物
- 发布前需要统一排除 `.env`、`.git`、`node_modules` 等敏感或无关文件
适合人员
- 需要把 skill 发到多个 hub 的独立开发者
- 维护内部 skill 平台的工程师
- 使用 GitHub Releases 管理版本的开源项目维护者
- 关注密钥排除和发布产物完整性的技术负责人