Files
.pouch/skills/manage-release
2026-08-04 13:55:16 +08:00
..
2026-08-04 13:55:16 +08:00
2026-08-04 13:55:16 +08:00
2026-08-04 13:55:16 +08:00
2026-08-04 13:55:16 +08:00

manage-release

manage-release 帮助 Agent 发布已经准备好的 Git commit,也能在发布前确有必要时管理 版本文件、worktree、分支、PR/MR 和合并。普通发布优先走“更新说明 + annotated tag”的 短路径;只有发布要求修改仓库内容时,才进入准备版本的分支流程。

使用前准备

  • 项目已经是 Git 仓库,并配置了可访问的远端。
  • 项目已有版本来源或 tag 发布约定;没有时可以让 Agent 先给出版本建议。
  • 创建或合并 PR/MR、创建 Forge Release 时,准备好 GitHub、GitLab、Gitea 或 Forgejo 对应的已认证 CLI。只发布 Git tag 时不要求 Forge CLI,但 Git remote 必须可读写。
  • 请求里写清目标版本、基线分支,以及允许执行到哪一步。没有明确授权的远端写操作 不会执行。

常见用法

确定下一个版本号

使用 manage-release 检查当前版本和这次改动,建议下一个版本号。只分析,不修改文件。

适合还没决定该发 patch、minor 还是 major 时使用。Agent 会读取项目版本规则、现有 tag 和实际改动,给出建议及依据。

开始开发新版本

使用 manage-release,从 main 为 1.6.0 创建独立 worktree 和分支。先不要 push,也不要创建 PR。

Agent 会检查已有 worktree、分支和 tag,确认没有冲突后准备开发目录。这个请求只授权 本地操作。

把开发分支提交为 PR

使用 manage-release 检查当前分支,更新版本号和 CHANGELOG,运行项目测试,然后 push 并创建指向 main 的 PR。不要合并。

适合开发已经完成,只需要整理版本信息并送审。Agent 会停在 PR 创建成功的位置,返回 PR 地址、测试结果和待处理项。

合并通过检查的 PR

使用 manage-release 检查当前 PR。如果 CI、review 和冲突检查都通过,就按项目规则合并;不要打 tag。

Agent 只会在仓库要求全部满足后合并,不会使用管理员权限绕过保护规则。合并完成后会 返回准确的 merged commit。

为已合并版本发布 tag

使用 manage-release,为已经合并到 main 的 1.6.0 发布 v1.6.0 tag。根据 v1.5.0 到目标 commit 的实际变化生成更新说明,把说明写入 annotated tag,并验证远端 tag 的 commit 和说明。不要创建 Forge Release。

这是无需修改仓库文件时的默认短路径,适合依靠 Git tag 触发后续 CI 发布的项目。Agent 会分别验证目标 commit、更新说明和远端 tag,不会创建 worktree、发布分支或 PR,也不会 给未合并分支打正式 tag。

为已合并版本创建 Gitea Release

使用 manage-release,发布已经合并到 main 的 1.6.0:生成更新说明,创建并验证附带说明的 v1.6.0 annotated tag,然后在 Gitea 创建使用同一份说明的 Release。

Agent 会先证明 tag 已存在、指向计划 commit 且包含更新说明,再创建 Gitea Release。 Release 创建失败时保留正确的 tag,从 Release 阶段恢复。

完成端到端发布

使用 manage-release 完成 1.6.0 发布:从 main 创建 worktree 和分支,完成版本更新和验证,创建 PR,检查通过后合并,推送 v1.6.0 tag,并创建 Forge Release。

只有版本文件或仓库内 CHANGELOG 必须随发布修改时才使用这条长路径。tag 仍必须附带更新 说明,Forge Release 复用同一份说明。遇到 review 未通过、CI 失败、版本冲突或已有同名 tag 时,Agent 会停止并说明卡在哪一步,不会绕过检查继续发布。

发布紧急修复版本

使用 manage-release 从 main 准备 1.6.1 hotfix。创建独立 worktree,完成修复后开 PR;检查通过就合并并发布 v1.6.1。

适合线上问题修复。Skill 仍走正常 PR 和保护分支流程,不会因为是 hotfix 就直接推送 main 或覆盖已有 tag。

从中断位置继续

使用 manage-release 检查 v1.6.0 当前发布状态,从尚未完成的步骤继续。不要重复创建分支、PR、tag 或 release。

适合合并后打 tag 失败、tag 已推送但 release 未创建,或者 Agent 会话中断的情况。 Skill 会从 Git 和代码托管平台重新判断状态,再继续缺失的步骤。

Agent 会做什么

Agent 会先发现项目自己的版本和发布规则、锁定远端目标 commit,再判断发布是否要求修改 仓库内容。不需要修改时直接生成更新说明并发布 annotated tag;需要修改时才准备分支, 并只在隔离用户工作确有必要时创建 worktree。它只执行请求中明确授权的阶段,并在合并、 tag 或 release 条件不满足时停止。

如何判断完成

  • 只分析版本时,结果包含建议版本及依据。
  • 创建开发环境时,结果包含 worktree 路径、分支和基线 commit。
  • 创建或合并 PR/MR 时,结果包含 URL、检查状态和 merged commit。
  • 发布 tag 时,远端 tag 解引用后的 commit 与目标 commit 一致,而且 tag object 包含经过 核对的更新说明。
  • 创建 Forge Release 时,结果包含可访问的 release URL,正文与 tag 更新说明一致。
  • 中途停止时,结果说明停在哪一步、为什么停止,以及下次如何继续。

不适用的场景

普通功能开发、普通 worktree 或 PR/MR 操作、代码审查、构建 Docker 镜像或上传 DEB 包 不需要触发 manage-release。只有任务明确涉及版本发布、发布分支、版本号、发布 PR/MR 或 release tag 时,才交给这个 Skill。