tag
Installation
SKILL.md
Tag
用用户明确指定的 tag 生成发布说明,创建 annotated tag 并推送到远端以触发发布流水线。这个技能只编排 tag 发布流程,发布说明必须复用当前可用的 release-notes 技能。
硬性规则
- 必须由用户提供准确 tag。用户没有给 tag 时,先询问 tag,不要从历史 tag、日期、版本文件、提交信息或分支名推断。
- 只基于已提交的
HEAD生成发布说明。工作区有未提交变更时,明确提醒这些变更不会包含在默认发布说明中。 - 必须根据当前会话可用技能列表解析
release-notes技能的实际来源,把release-notes/SKILL.md所在目录记为RELEASE_NOTES_SKILL_DIR;禁止假设任何固定安装路径。 - 如果当前环境没有可用的
release-notes技能,或该技能目录缺少所需脚本,停止发布并提示用户安装、启用或修复该技能;不要改用 GitHub 自动生成说明。 - 不能使用
gh --generate-notes替代release-notes技能。 - 发布说明文件必须通过
$RELEASE_NOTES_SKILL_DIR/scripts/validate_release_notes.py校验后,才能创建 tag 或推送 tag;校验失败时停止发布并修正文案。 - 必须创建 annotated tag,且 tag message 必须使用校验通过的发布说明:
git tag -a "$TAG" -F "$NOTES_FILE" HEAD。禁止创建 lightweight tag。 - 禁止直接创建 GitHub Release,包括
gh release create和gh release create --target;仓库 CI/CD 会在 tag push 后自动创建或更新 Release。 - 遇到鉴权、权限或远端拒绝问题时,不要尝试处理凭据;保留发布说明文件路径,并把用户可以自行执行的命令列出来。
git push origin "$TAG"成功返回后,立即进入最终回复;不要等待 GitHub Actions、Docker 镜像编译、部署流水线或任何异步任务完成,也不要主动轮询构建状态。