| name | release-prep |
| description | 准备 VS Code 扩展预发版或发布版本,完成版本号、CHANGELOG、README 检查和发布前验证。当用户要求预发版准备、release prep、准备发布或整理发布前改动时使用此技能。 |
Release Prep
此 Skill 用于准备新版本发布,不负责实际发布、打包或提交,除非用户明确要求。
使用场景
当用户提出以下需求时使用:
- 准备预发版或正式发布
- 执行 release prep / 发布准备
- 根据当前分支改动更新版本号和更新日志
- 发布前检查 README、CHANGELOG 和验证命令
工作流程
- 读取并遵守仓库根目录的
AGENTS.md,尤其是格式化、验证和提交约定
- 检查当前分支、工作区状态和已有改动范围,区分用户已有改动与本次发布准备需要修改的文件
- 确认发布对比基准:
- 默认优先使用
origin/master...HEAD 或 master...HEAD
- 如果当前就在
master 或无法从 master 判断发布范围,则改用最近一个版本标签或上一版 CHANGELOG.md 条目作为参考
- 如果用户明确指定基准分支、版本或提交范围,优先使用用户指定范围
- 对比基准范围内的文件变化和提交记录,判断本次发布内容
- 根据变更性质决定 semver 版本号:
patch:仅缺陷修复、文案或小体验优化
minor:新增用户可见功能或明显体验升级
major:破坏性变更
- 预发版版本号或发布通道由用户明确指定;未指定时不要自行切换到预发版
- 更新
package.json 的 version
- 处理
package-lock.json:
- 如果已被 Git 跟踪,同步其中的版本号
- 如果存在但未跟踪或被
.gitignore 忽略,不要强行加入版本控制,只在最终结果中说明
- 更新
CHANGELOG.md:
- 新版本条目放在顶部
- 日期使用执行发布准备当天的本地日期,并保持既有
## [x.y.z] YYYY-MM-DD 格式
- 可以保留
feat:、fix:、docs:、refactor: 等前缀
- 正文必须面向用户描述
- 不写接口、RPC、模块拆分、状态同步、构建配置、类型声明等开发性说明
- 不逐条照搬提交信息,按用户可感知能力和体验变化聚合
- 如果只有开发者不可见变更,也要用用户能理解的稳定性、兼容性或维护性表述
- 检查
README.md 是否需要同步:
- 新增用户可见功能时,更新功能列表
- 设置项描述变化时,同步设置说明
- 登录、Cookie、两步验证、代理、截图或 Marketplace 链接变化时,同步对应说明
- 只做必要的小幅更新,避免重写 README
- 按项目规范格式化所有改动文件:
npm run format -- <changed-files>
- 运行发布前验证:
npm run check
npm test
npm run build
- 如果用户明确要求打包、发布或提交,再分别执行对应命令;否则停在发布准备完成状态
- 最终回复中汇总:
- 新版本号
- 修改的文件
- README 是否更新及原因
package-lock.json 是否同步及原因
- 已执行的验证命令和结果
- 未执行的打包、发布或提交动作及原因
约束
- 不自动发布、不自动打包、不自动提交,除非用户明确要求
- 不回滚用户已有改动
- 如果发现无关的工作区改动,不要纳入发布准备修改;最终说明它们原本已存在
- CHANGELOG 面向扩展用户,不面向开发者
- README 只同步用户可见能力、使用方式、设置项和截图等内容
- 涉及后端接口、V2EX 返回字段或 HTML 解析变化时,先核对现有类型、解析器、测试夹具和实际调用路径