用途:持续“照看”一个 GitHub PR,轮询 CI 检查/工作流运行、新评审评论和可合并状态,直到出现终止结果:PR 被合并或关闭;CI 成功、无未处理评审意见、未被必需评审阻塞且无合并冲突风险;或需要用户介入(CI 基础设施问题、重试预算耗尽后的反复不稳定失败、权限问题、无法安全解决的歧义)。
主要能力:接受无参数(--pr auto 从当前分支推断)、PR 编号或 PR URL。以 JSON 快照输出 PR/CI/评审状态,并给出 actions 列表。可诊断 CI 失败并分类为分支相关或不稳定/无关;可处理评审评论(issue 评论、行内评论、评审提交),仅自动呈现可信人类评审者(OWNER/MEMBER/COLLABORATOR 及认证操作者)和已批准的评审机器人。支持触发失败检查重跑。
使用方式:一次性快照 python3 <this-skill-path>/scripts/gh_pr_watch.py --pr auto --once;持续监听(JSONL)python3 <this-skill-path>/scripts/gh_pr_watch.py --pr auto --watch;触发不稳定重试 python3 <this-skill-path>/scripts/gh_pr_watch.py --pr auto --retry-failed-now;指定 PR python3 <this-skill-path>/scripts/gh_pr_watch.py --pr <number-or-url> --once。用 gh run view <run-id> --json jobs,name,workflowName,conclusion,status,url,headSha 和 gh run view <run-id> --log-failed 检查失败日志。
适用场景:在 OpenHands 会话中让代理自主照看 PR,自动修复分支相关 CI 失败、处理评审反馈、按需重跑不稳定检查,并在 CI 变绿后继续等待评审批准或合并冲突变化。
限制与安全规则:仅在 PR head 分支工作,避免破坏性 git 命令;编辑前若有无关未提交更改应停止并询问用户;同一 PR/状态文件不要并发运行多个 --watch;推送不是终止结果,需继续监控。请求(重新)评审仅在用户明确要求或确认后进行,且每个新 head SHA 最多一次,不要 @ 人类。轮询节奏:CI 未绿时每 1 分钟;变绿后从 1 分钟指数退避至最多 1 小时,有变化则重置为 1 分钟。终止条件严格:PR 合并/关闭、可合并就绪、或需用户介入。
其他:参考资料 references/heuristics.md 与 references/github-api-notes.md。具体安装方式、收费与平台支持暂未提供。