创建发布标签技能Skill dot-ai-tag-release

该技能用于自动化创建基于变更日志片段的语义版本发布标签,支持版本升级(主版本、次版本、补丁版本),并集成到CI/CD流程中,确保发布触发工作流。关键词:发布标签、语义版本、变更日志、自动化发布、DevOps。

DevOps 0 次安装 0 次浏览 更新于 3/18/2026

名称: dot-ai-tag-release 描述: 基于积累的变更日志片段创建发布标签。在准备发布时运行。 用户可调用: true

创建发布标签

基于积累的变更日志片段创建语义版本标签。这聚合所有待处理的片段以确定适当的版本升级,并创建带注释的标签。

何时使用

在以下情况下运行此技能:

  • 多个PR已合并,带有变更日志片段
  • 您准备发布
  • 在/prd-done工作流完成后(而不是在期间)

工作流程

步骤 1: 检查待处理片段

列出 changelog.d/ 目录中的所有文件:

ls -la changelog.d/

如果没有片段存在(只有 .gitkeep 或为空),通知用户没有内容可发布。

步骤 2: 获取当前版本

找到最新标签:

git tag --sort=-v:refname | head -1

如果没有标签存在,从 v0.0.0 开始。

步骤 3: 分析片段以确定版本升级

检查所有片段文件以确定最高影响的变更类型:

优先级顺序: breaking > feature > bugfix > doc = misc

最高优先级的片段类型决定版本升级:

  • 任何 .breaking.md 存在 → 升级 主版本 (例如,v1.2.3 → v2.0.0)
  • 任何 .feature.md 存在 → 升级 次版本 (例如,v1.2.3 → v1.3.0)
  • 只有 .bugfix.md, .doc.md, 或 .misc.md → 升级 补丁版本 (例如,v1.2.3 → v1.2.4)

步骤 4: 提议版本

向用户显示:

  1. 当前版本
  2. 找到的片段(列出它们的类型)
  3. 基于分析提议的下一个版本
  4. 请求确认或允许覆盖

步骤 5: 检查 HEAD 中的 [skip ci]

重要: 指向带有 [skip ci] 消息的提交的标签将不会触发发布工作流。

检查 HEAD 提交消息:

git log -1 --format="%s" HEAD

如果消息包含 [skip ci], [ci skip], 或 [no ci]

  1. 通知用户标记此提交将阻止发布工作流运行
  2. 创建发布准备提交:
git commit --allow-empty -m "chore: prepare release [version]"
git push origin HEAD

这个空提交给我们一个干净的提交来标记,以触发 CI。

步骤 6: 创建并推送标签

如果确认(并在步骤 5 后如果需要):

git tag -a [version] -m "[简要描述总结片段]"
git push origin [version]

步骤 7: 确认成功

向用户显示:

  1. 创建的标签
  2. 标签在 GitHub 上的 URL(如果适用)
  3. 注意 CI/CD 将从片段生成发布说明

指南

  • 不要在 PR 工作流期间运行: 这是一个单独的发布活动
  • 首先审查片段: 在标记前确保所有片段准确
  • 使用语义版本控制: 严格基于片段类型遵循 semver
  • 简要的标签消息: 用 1-2 句话总结发布
  • 从不标记 [skip ci] 提交: 带有 [skip ci] 的提交的标签不会触发 CI - 总是先创建准备提交