Skills Release Manager
一份 canon 源,按平台要求干净打包成 zip;本地维护版本台账(只报本地 zip 版本号,不上网抓平台);本地保留历史版本快照,需要时打包任意历史版本。
铁律
- 绝不自动上传到任何平台——全手动发布,本技能没有任何 upload/publish 命令。
- 不抓平台、只报本地版本——平台上各版本由用户自行查看,本技能不改平台、不 bump、不对齐。
- 打包必须干净——只装
SKILL.md+ 白名单子目录(references/ scripts/ assets/ templates/ examples/),剔除.DS_Store、__MACOSX、.git、__pycache__、README/LICENSE/CHANGELOG/requirements.txt等平台不需要的文件。 - 路径不硬编码——hub 位置按
环境变量 SKILLS_RELEASE_HUB→~/.skills-release-manager/config.json→ 默认~/.skills-release-hub解析;其他 AI 助手也能用同一份。 - 历史按 semver 排序,每技能留 5 个源码快照,超出删最旧快照及其 zip。
打包目标平台(3 个,仅打包,不抓取)
| 平台 | 域名 | 打包差异 |
|---|---|---|
| skillhub.cn(腾讯) | https://skillhub.cn | 按白名单过滤 frontmatter |
| 魔搭 ModelScope | https://www.modelscope.cn | 保留 license 字段 |
| claw hub | https://clawhub.ai | 保留 metadata 字段 |
> 线上版本一律不抓——用户上平台自查,本技能只给出本地 zip 的版本号。
工作流
冷启动(从零开始)
hub.py init --hub <路径>
建空仓库(canon/ history/ packages/ platforms/),并把 <路径> 写入 ~/.skills-release-manager/config.json。
纳管一个技能
hub.py add <skill.zip> # 读 SKILL.md 的 name + version,建 canon 与首个快照
每次 add 自动快照并执行保留策略(留 5,删最旧)。
看本地版本
hub.py status [name] # 只报本地版本号 + 历史快照数,不联网
打包
hub.py package <name> --platform all --out <dir>
按平台白名单过滤 frontmatter、干净打包。产物名 <platform>-<name>-<version>.zip。
历史
hub.py history <name> # 列出快照(按 semver 降序)
hub.py history-package <name> <version> # 把某个历史版本打包成 zip
命令速查
| 命令 | 作用 |
|---|---|
init --hub DIR |
冷启动建仓 |
add ZIP [--version V] |
纳管技能(读版本、建快照) |
status [NAME] |
本地版本台账(不联网) |
package NAME [--platform all\|P] [--out D] |
干净打包 |
history NAME |
列历史快照 |
history-package NAME VER [--platform P] [--out D] |
打包历史版本 |
参考资料
references/platform-notes.md:三平台 frontmatter 字段与打包差异、未核实项。
脚本唯一入口:scripts/hub.py(stdlib-only,python3 直接跑,无第三方依赖、无联网)。