SuperAPI AI 工具集

supersede-pr

编程与开发

查看项目

更新于 10-16 07:58

技能介绍

用途:端到端处理 GitHub 拉取请求(PR)的取代关系,即用一个新 PR 替换旧 PR,并显式关闭被取代的旧 PR。

主要能力:识别新旧 PR 编号与目标仓库;先创建或更新替代 PR;在 PR 正文中加入可追溯链接(如 Supersedes #<old_pr>);显式关闭被取代的 PR 并添加评论;最后验证状态。

使用方式:先确定 old_pr(被取代)与 new_pr(替代)及仓库,未提供仓库时可用 gh repo view --json nameWithOwner -q .nameWithOwner 解析。先推送替代分支并打开新 PR,正文写 Supersedes #<old_pr>。随后运行脚本关闭旧 PR:scripts/close_superseded_pr.ts <old_pr> <new_pr>,该脚本会添加评论 Superseded by #<new_pr>. 并关闭旧 PR。验证时运行 gh pr view <old_pr> --json state,url 确认已关闭,运行 gh pr checks <new_pr> 查看替代 PR 状态与检查。

规则与限制:不要用 Closes #<old_pr> 关闭另一个 PR,GitHub 的关闭关键词只作用于 issue,不作用于 PR;Closes/Fixes 仅用于 issue,PR 之间用 Supersedes #<old_pr> 或 Refs #<old_pr> 关联。优先显式关闭而非隐式自动化;用户要求取代 PR 时必须运行关闭命令;只有 gh pr view <old_pr> 返回 CLOSED 才算完成。

适用场景:需要将一个 PR 替换为另一个 PR 并自动关闭旧 PR 的仓库维护流程。其他细节暂未提供。