SuperAPI AI 工具集

gh-pr-check

通用与其它

查看项目

更新于 10-15 16:47

技能介绍

用途:检查当前分支的 GitHub PR 状态,并报告建议的下一步操作。该技能为只读检查,不创建或切换分支、不推送、不创建或编辑 PR。

主要能力:解析仓库、head 分支(git rev-parse --abbrev-ref HEAD)与 base 分支(默认 develop,除非用户指定);可选收集工作区状态(git status --porcelain)仅作上下文;先执行 git fetch origin 获取最新远端引用;用 gh pr list --head <head> --state all --json 列出 PR 并分类。分类结果包括:无 PR(NO_PR,建议 CREATE_PR)、存在未合并 PR(UNMERGED_PR_EXISTS,建议 PUSH_ONLY)、全部已合并时进行合并后提交检查。合并后检查会选取最新已合并 PR,取其 mergeCommit.oid,先用 git merge-base --is-ancestor <merge_commit> HEAD 验证祖先关系,再用 git rev-list --count <merge_commit>..HEAD 统计提交数:大于 0 为 ALL_MERGED_WITH_NEW_COMMITS(建议 CREATE_PR),等于 0 为 ALL_MERGED_NO_NEW_COMMITS(建议 NO_ACTION)。若合并提交缺失或非祖先,则回退比较 origin/<head>..HEAD,再回退 origin/<base>..HEAD,均失败则为 CHECK_FAILED(建议 MANUAL_CHECK)。

使用方式:默认输出人类可读摘要,使用信号前缀加动作关键词,如 >> CREATE PR、> PUSH ONLY、-- NO ACTION、!! MANUAL CHECK;仅当用户明确要求时才在摘要后附加 JSON。语言跟随用户输入语言,不明确时用英文。工作区有未提交更改时追加提示。

适用场景:在提交或推送前快速判断当前分支是否需要新建 PR、是否应推送到已有 PR,或确认合并后是否还有新提交。

限制:仅检查状态,不执行任何写操作;依赖 gh 认证与 git 仓库上下文;base 默认 develop;合并提交不可用时会回退比较,仍失败则需人工检查。