SuperAPI AI 工具集

iterate-pr

编程与开发

查看项目

更新于 10-15 20:34

技能介绍

用途:持续迭代当前分支的 PR,直到所有 CI 检查通过且评审反馈已处理。前提是已安装并认证 GitHub CLI(gh)。

主要能力与流程:先用 gh pr view --json number,url,headRefName,baseRefName 识别 PR,若当前分支无 PR 则停止并告知用户。随后先查 CI 状态:gh pr checks --json name,state,bucket,link,workflow,bucket 分为 pass、fail、pending、skipping、cancel。若 sentry、codecov、cursor/bugbot/seer 或任何 linter/代码分析检查仍为 pending,应等待,避免重复工作。CI 完成后收集反馈:gh pr view --json reviews,comments,reviewDecision;行内评论用 gh api repos/{owner}/{repo}/pulls/{pr_number}/comments;会话评论用 gh api repos/{owner}/{repo}/issues/{pr_number}/comments。失败时读取真实日志:gh run list --branch $(git branch --show-current) --limit 5 --json databaseId,name,status,conclusion 与 gh run view <run-id> --log-failed,不要仅凭检查名猜测。对每条反馈先读相关代码、核实问题是否真实、是否已在后续提交修复,无效反馈跳过。对有效问题做最小化改动,然后执行 git add -A、git commit -m "fix: <描述>"、git push。之后用 gh pr checks --watch --interval 30 等待,退出码 0 表示全部通过,1 表示有失败;也可用 gh pr checks --json name,state,bucket | jq '.[] | select(.bucket != "pass")' 手动轮询。

重复条件:任一 CI 检查失败或出现新评审反馈时回到检查 CI 状态步骤,直到全部通过且无未处理反馈。

退出条件:成功为所有检查 bucket 为 pass 且无未处理人工反馈;若同一失败连续 3 次仍存在、反馈需用户澄清或决策、或 CI 失败与分支改动无关(基础设施问题),应寻求帮助;若当前分支无 PR,或分支不同步需 rebase,则立即停止并告知用户。

提示:可用 gh pr checks --required 只看必需检查,用 gh run view <run-id> --verbose 查看全部作业步骤,外部服务的检查可通过 checks JSON 中的 link 字段调查。