对用户制作的 skill 执行版本化打包发布,每次发布生成文件夹 + ZIP 两种格式,所有版本统一存放于 releases/ 文件夹,并维护 CHANGELOG.md 记录每次发布内容。
在打包前,向用户确认以下信息(如用户已提供则跳过询问):
| 信息 | 说明 | 默认值 |
|------|------|--------|
| skill 路径 | 要发布的 skill 文件夹路径 | 必填 |
| 版本号 | 语义化版本 vX.Y.Z | 自动递增 patch 版本 |
| 发布说明 | 本次变更内容描述 | 必填(简短即可)|
版本号规则:
patch(修补):修复 bug、微调文案,如 v1.0.0 → v1.0.1
minor(功能):新增功能、新增模块,如 v1.0.0 → v1.1.0
major(重大):架构重构、破坏性更改,如 v1.0.0 → v2.0.0
运行 scripts/release.py,指定 skill 路径、版本号和输出目录:
python <skill-release-manager路径>/scripts/release.py \
--skill-path <skill文件夹路径> \
--version v1.2.0 \
--message "新增功能:支持多城市查询" \
--releases-dir <releases文件夹路径>
脚本会自动:
releases/-v1.2.0/ (完整目录结构,可直接查看/编辑)
releases/-v1.2.0.zip (便于传输/分享)
releases/CHANGELOG.md
releases/LATEST 文件记录当前最新版本
打包完成后,向用户展示:
releases/
├── CHANGELOG.md # 所有版本的变更日志(新版本插在最顶部)
├── LATEST # 纯文本,记录当前最新版本号(如 v1.2.0)
├── skill-name-v1.0.0/ # 文件夹格式(可查看/编辑)
│ ├── SKILL.md
│ ├── references/
│ └── scripts/
├── skill-name-v1.0.0.zip # ZIP 压缩包(便于传输)
├── skill-name-v1.1.0/
├── skill-name-v1.1.0.zip
└── ...
脚本路径:scripts/release.py
详见 references/versioning.md 了解版本号规范和 CHANGELOG 格式详情。
首次发布:从 v1.0.0 开始,releases/ 目录自动创建。
更新迭代:运行脚本时传入新版本号,历史版本文件不受影响。
查看历史版本:读取 releases/CHANGELOG.md 或直接列出 releases/ 目录。
回滚:找到历史版本的文件夹或 ZIP 文件,手动安装即可。
共 2 个版本