PR 持续看护助手
持续跟踪 GitHub PR 的审查、CI 与合并状态,并处理可安全修复的问题。
文档明确限制人工评审回复、限制线程处理、要求检查分支状态、避免破坏性 Git 操作,并设置重试上限,体现了权限和外部影响控制;但会自动提交、推送、重跑 CI 和部分解析评论,缺少逐次确认、敏感日志/凭据流向说明及明确回滚机制,因此扣分。
脚本、决策树和 pytest 测试覆盖了评论优先级、pending review、持续轮询和失败作业日志端点,且异常会返回诊断信息;但本次未执行,测试覆盖不完整,依赖 gh、认证、GitHub API 和环境状态,部分异常路径与轮询终止行为仍未由文件充分证明,因此静态评分不超过10。
触发语义、PR 输入形式、watch/once 模式和停止条件描述清楚,适用于 GitHub PR 维护;但依赖 GitHub CLI、GitHub 网络和英文 GitHub 工作流,未声明非 GitHub 场景边界,也未提供中文交互或中国大陆网络可达性保证,因此扣分。
文档包含目标、输入、命令、工作流、故障分类、评论处理、状态变更政策、引用资料和测试;仓库提供 Apache-2.0、官方来源和安全政策。缺少该 skill 的独立版本、变更记录、维护责任人、安装依赖说明和更完整的故障排查,因此扣分。
目标结果明确,能够持续获取 PR 状态、识别评论和 CI 失败,并在限定条件下修复或重试;源码测试展示了若干关键行为,但未执行验证,且真实 GitHub 权限、网络、分支状态和审查判断会影响结果,直接可用性证据有限,因此按静态上限保守扣分。
源码、参考文档和提交的 pytest 测试提供了可审计证据,且测试覆盖若干决策路径;但未执行测试,缺少独立运行结果、专门 CI 覆盖或第三方复核,因此静态评分不超过5。
- 该 skill 会在监控过程中自动提交、推送分支和重跑失败 CI;使用前应确认当前工作树、目标分支、GitHub 权限及组织审批要求。
- 日志和 GitHub API 响应可能包含代码、评论或构建信息;文件未说明敏感数据脱敏、保留期限或日志访问控制。
- 核心功能依赖 gh、GitHub 认证和持续网络访问;在中国大陆网络环境中可能不可稳定使用。
- 静态审查未执行脚本或测试,不能确认实时 API 兼容性、错误恢复和实际轮询行为。
它能做什么 & 适用场景
该技能用于在 GitHub 拉取请求创建后持续监控其状态。它轮询审查评论、CI 检查或工作流运行结果,以及可合并性,直到 PR 合并、关闭或需要用户介入。对于疑似分支相关的失败,它可以修改代码、提交并推送;对于可能的偶发失败,最多重试 3 次。开放 PR 即使暂时通过,也会继续监控新的审查反馈。
运行 Python 监控脚本,以一次性或持续模式读取 PR、评论、CI、工作流和合并状态;使用 GitHub CLI 查看失败运行、任务及日志;识别并处理已发布的审查反馈;在适合时修改本地代码、提交并推送分支;按监控器建议重试失败检查,最多 3 次;在 PR 合并、关闭或出现需要用户帮助的阻塞时停止。
- 开发者希望在 PR 创建后持续观察 CI,并及时发现失败。
- 团队成员希望在等待审查期间自动捕获新发布的评论。
- 维护者遇到疑似代码分支相关的测试、编译、 lint 或类型检查失败,需要自动修复并重新验证。
- 开发者面对可能是网络、运行器或外部服务导致的偶发失败,需要按条件重试检查。
优缺点一览
- 覆盖 PR 评论、CI、工作流和合并冲突等多个状态。
- 能够区分分支相关失败与基础设施或外部服务导致的失败。
- 对疑似偶发失败提供最多 3 次的重试机制。
- 支持持续监控,不会因一次暂时空闲或短暂变绿就停止。
- 依赖 Python 3、GitHub CLI、网络连接和 GitHub 权限。
- 源材料没有提供测试结果、支持平台清单或独立安装包说明。
- 不会自动回复其他人撰写的审查评论;需要用户确认文字回复。
- 无法安全解决权限问题、基础设施故障、重复偶发失败或无法澄清的审查要求。
如何安装
先按仓库 README 安装 Codex CLI,例如 macOS 或 Linux 使用 curl -fsSL https://chatgpt.com/codex/install.sh | sh,Windows 使用 powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex",或使用 npm install -g @openai/codex、brew install --cask codex。该技能位于仓库的 .codex/skills/babysit-pr/SKILL.md;源材料没有说明单独安装该技能的步骤。
如何使用
在 Codex 中提出类似“监控当前分支对应的 GitHub PR,持续关注 CI 和审查评论”的请求;也可以指定 PR 编号或 URL。技能支持的命令包括 python3 .codex/skills/babysit-pr/scripts/gh_pr_watch.py --pr auto --once、python3 .codex/skills/babysit-pr/scripts/gh_pr_watch.py --pr auto --watch,以及在监控器明确建议时使用 python3 .codex/skills/babysit-pr/scripts/gh_pr_watch.py --pr auto --retry-failed-now。