开发与工程 release-managementchangelogsemvergithub-releasesmulti-languageversion-bumpgit

通用发布工作流

自动检测版本文件与多语言更新日志,一键完成版本号提升、提交、打标签并发布 GitHub Release。

FollowSkills 评估 · FSRS-2.0
不推荐
51/ 100 五分制 2.6 / 5
1 2 3 4 5 6
1信任安全13 / 25 · 2.6/5

证据表明该技能在关键操作前请求用户确认(第8步),支持--dry-run模式,并将输出限制在designs/目录及本地预览服务器。存在一些权限要求较高的情况,例如自动提交、推送和创建GitHub Release,但均需显式确认。未发现明显的数据泄露或过度行为。扣分原因:用户确认流程依赖AskUserQuestion工具的存在和正确实现,若缺少该工具可能回退到纯文本提示,但指令要求在所有运行时都需回退;此外,未明确指示在发布前检查敏感数据或凭据,也没有明确的回滚机制。

2可靠稳定8 / 20 · 2.0/5

指令详细且结构化,但作为静态审查,无法验证关键路径的复制。存在多个shell命令(如git tag、git log、git diff、gh release)可能因环境差异而失败,但缺乏对这些失败的处理和反馈。在异常输入(如无标签、无更改、无匹配的changelog部分)情况下有少量处理,但失败反馈不够详细。扣分原因:由于静态审查限制,未达到满分;未提供测试套件来验证自身流程;错误处理可能不足,主要依赖shell命令的退出状态而非显式的条件检查。

3适用触发10 / 15 · 3.3/5

技能明确定位为通用发布流程,支持多种项目类型和语言。触发词清晰(如“release”、“发布”),适合中文用户。环境适应:大部分操作依赖本地git和gh,但最终推送和GitHub Release依赖外部服务。扣分原因:边界条件声明不充分,如对复杂项目或无git仓库环境下的行为未明确说明;触发条件可能过于宽泛(如“push”可能误触发)。

4规范维护10 / 15 · 3.3/5

文档层次清晰,有Quick Start、选项表、详细步骤、配置示例、dry-run示例和已知限制(如不重写公共lightweight tags)。有明确的许可证(MIT)和由Jim Liu维护的说明。扣分原因:未提供明确的版本历史或changelog;缺少关于技能自身安装和更新的说明;缺少FAQs和故障排除部分。

5有效结果6 / 15 · 2.0/5

核心任务(版本发布和changelog生成)有详细步骤,输出格式清晰(如changelog格式、提交信息格式)。但作为静态审查,无法验证实际输出是否直接可用。扣分原因:未提供实际输出样本或用户反馈来证明有效性;涉及大量外部依赖(如gh、git),这些依赖可能不可用;生成的多语言changelog质量依赖模型能力,可能不完全可靠。

6证据核验4 / 10 · 2.0/5

存在一些可验证的方面,如配置格式和命令示例,但缺乏实际执行证据。有部分测试(如gen-pptx的测试),但这些测试仅覆盖导出的某些部分,而非技能的核心工作流。扣分原因:由于静态审查,无法独立验证;测试覆盖不足;未提供第三方执行证据或用户反馈。

证据充分度: 评估于 2026年8月7日 审查版本 026d4ea012bd
使用前请注意
  • 技能依赖gh命令和GitHub服务,在中国大陆网络环境下可能无法访问,导致发布功能受限;建议在离线或受限网络环境中明确声明。
  • 自动提交、推送和创建Release前有确认步骤,但若用户未仔细阅读,可能造成意外发布;应提醒用户注意审查即将执行的命令。
  • 未发现恶意代码,但技能允许自动执行git和gh命令,可能对仓库造成不可逆影响;建议在使用前备份仓库或在支持回滚的环境中使用。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

这是一个通用发布技能,适用于 Node.js、Python、Rust、Claude 插件及任意项目类型。它能自动检测版本文件和更新日志,根据提交记录智能决定版本号,并生成多语言(中、英、日等)的变更记录;同时支持将提交按模块拆分、创建带注释的标签、发布 GitHub Release,以及回填历史 Release。

扫描项目中的版本文件(package.json、pyproject.toml、Cargo.toml、marketplace.json、VERSION/complex)和更新日志文件(CHANGELOG*.md 等);分析最近标签以来的提交并归类为 feat/fix/docs 等类型;根据破坏性变更或用户参数决定版本升级类型;生成多语言变更记录并标注第三方贡献者;按模块/技能分组提交并自动更新相关的 README;创建发布提交和带注释标签;推送远端并发布 GitHub Release;也支持 --dry-run 预览和 --backfill-releases 回填历史 Release。

  1. 维护多个技能/模块的开源仓库,希望每次发版时自动分组提交并更新对应的 README。
  2. 团队使用中英日三种语言维护变更日志,希望发布时自动生成各语言版本的更新记录。
  3. 需要将现有 Git 标签补录为 GitHub Release 的维护者。
  4. 在 Claude Code 或 Codex 等本地代理中通过自然语言快速触发标准发布流程。

这个 Skill 有哪些优点和局限?

优点
  • 自动检测项目类型,无需手动配置即开即用。
  • 内置多语言更新日志生成(zh/ja/ko/de/fr/es),并自动标注第三方贡献者。
  • 支持可选的 .releaserc.yml 钩子,可将自定义打包/发布逻辑与通用流程解耦。
  • 提供 dry-run 模式,安全预览所有变更。
  • 支持回填历史 Release,便于迁移旧项目。
局限
  • 依赖 GitHub CLI (gh) 且需要认证,否则无法执行 GitHub Release 相关操作。
  • 仅自动检测有限的项目类型(package.json、pyproject.toml 等),不支持的配置需通过 .releaserc.yml 手动指定。
  • 发布流程要求保留历史版本标签,若仓库没有 v* 标签可能无法正常分析。
  • README 中未提供自动化测试,可靠性依赖实际环境验证。
  • 多语言更新日志仅支持预定义的语言代码映射,未覆盖所有地区变体。

如何安装这个 Skill?

该技能位于仓库的 .claude/skills/release-skills/ 目录,属于 baoyu-design 集合的一部分。可使用 npx skills add JimLiu/baoyu-design 安装整个集合(会自动检测代理),或手动将 .claude/skills/release-skills/ 文件夹复制到项目的 .claude/skills/ 目录。该集合采用 MIT 许可证,由 Jim Liu 维护。

如何使用这个 Skill?

在支持 Agent Skills 的客户端中,直接输入“发布”或“release”即可触发。例如在 Claude Code 中运行 /release-skills 开始自动检测项目配置。支持参数:--dry-run 预览、--major/--minor/--patch 强制版本类型、--backfill-releases 回填历史 Release。过程中会通过问答工具确认版本号和发布方式。

这个 Skill 与同类方案有什么区别?

与 semantic-release(开源社区常用)相比,本技能采用 Agent Skill 形式,可以融入自然语言交互流程,并直接支持多语言变更日志和按模块分组提交;但缺少 semantic-release 丰富的插件生态。

常见问题

这个技能需要额外安装什么依赖吗?
需要 Git 和 GitHub CLI (gh)(且已认证);运行环境支持 shell 命令即可。无需额外安装特定编程环境。
是否有预览模式,避免误操作?
有,使用 `--dry-run` 参数可预览所有变更而不实际执行。
如果我的项目类型不在支持列表中怎么办?
可以通过在项目根目录创建 .releaserc.yml 配置文件,手动指定版本文件、变更日志文件和发布钩子。
是否支持自定义发布流程?
支持,通过 .releaserc.yml 中的 release.hooks(prepare_artifact 和 publish_artifact)可以插入自己的打包/发布逻辑。

同仓库的其他 Skills

均来自 JimLiu/baoyu-design

相关 Skills