PR 保姆
持续看护一个打开的 GitHub PR,自动响应评审评论、CI 失败和分支落后,直到合并就绪。
技能明确要求仅限GitHub环境,定义了清晰的变异边界(不合并、不强制推送、不改变栈结构),并强调了用户显式授权才能进行跨PR操作。但未提及依赖安全检查或数据流透明度的细节,部分自动化操作(如后台监视)可能缺少用户确认。
技能描述详细,步骤清晰,有明确的状态机和去重协议。但静态审查无法验证关键路径的可执行性,且依赖外部工具(如gh、git、pr-snapshot)和网络访问,失败反馈机制未充分展示。
适用范围明确(GitHub PR监控),触发条件描述具体,场景边界清晰(非单次请求)。但技能主要依赖GitHub API,可能不适合非GitHub环境,且未提及网络可达性,尤其是中国大陆用户访问GitHub可能受限。
文档结构层次分明,有详尽的安全说明和状态定义,但缺少FAQ、更新日志和版本号,安装依赖说明不够全面,维护责任未明确。
技能设计的目标明确,预期输出清晰,但无法从静态源码确认实际完成度,输出格式和直接可用性未验证,且自动化监控可能产生额外成本。
仓库包含CI配置和测试文件,但未覆盖技能的完整关键路径,且没有独立的第三方验证证据。静态审查限制了验证的深度。
- 技能完全依赖GitHub API和外部工具,中国大陆用户可能由于网络限制无法正常使用。
- 自动化后台监视可能长时间运行并消耗资源,需要用户明确授权和监控。
- 静态审查无法验证技能的实际执行效果,建议在实际环境中进行测试。
这个 Skill 能做什么,适合哪些场景?
这个技能能够持续监控一个打开的 GitHub PR,处理评审反馈、修复 CI 失败、同步分支,并判断合并就绪状态。它设计用于长时间运行,持续处理新的事件流,而不会在遇到第一个需要人工介入的问题时停止。它支持多种执行模式,包括自维持的会话内监控、检查点模式以及流水线模式,适用于不同的自动化环境。
运行一个循环,定期获取 PR 状态、评审线程、CI 检查和分支同步信息(使用 GitHub CLI 和 Python 脚本)。它委托给 ce-resolve-pr-feedback 处理评论,委托给 ce-debug 处理 CI 失败,并在授权时执行受限制的分支更新。它维护一个状态目录以跟踪进度和去重,并依据配置的后缀(target、stack-ready、stack-land)决定是否继续处理栈中的其他 PR 或执行合并。
- 开发者想要让一个功能 PR 持续保持合并就绪,而无需手动轮询评论和 CI。
- 持续集成工程师需要自动修复 CI 失败并不断向 PR 推送修改,直到所有检查通过。
- 团队在管理多个相互依赖的 PR 时,希望自动将修改向上游传播,但保持单一语义写入者。
- 自动化流水线(如 lfg)需要非交互地运行,直到 PR 合并或达到资源限制。
这个 Skill 有哪些优点和局限?
- 持续处理多个事件流,而不是在第一个障碍处停止
- 委派专门的技能处理评论和 CI,保持关注点分离
- 支持多种自动化模式(会话内、检查点、流水线、持久化定时任务)
- 通过状态文件持久化状态,实现优雅恢复
- 明确边界:不合并(除非是 stack-land),不操作草稿 PR 除非明确要求
- 仅适用于 GitHub;不支持 GitLab 或其他代码托管平台
- 需要本地 git 检出、GitHub CLI 和 Python 3;沙盒 GUI 环境无法运行
- 需要特定的背景唤醒功能(如 Claude Code 的 Bash+Monitor)以实现完全自主监控,否则只能降级到检查点模式
- 在团队管理的 PR 栈中,可能会自动修改多个 PR,需要明确确认使用受管理的栈
如何安装这个 Skill?
该技能是 compound-engineering-plugin 的一部分。按照 README 中的说明安装该插件,适用于 Claude Code(/plugin marketplace add EveryInc/compound-engineering-plugin 然后 /plugin install compound-engineering)或其他支持的编辑器。完成后,技能位于 skills/ce-babysit-pr/SKILL.md。
如何使用这个 Skill?
在支持的环境中(如 Claude Code 或 Codex),使用类似 /ce-babysit-pr <PR号> [watch] [duration] [posture:target] 的提示调用。它需要一个本地 git 检出、GitHub CLI 和 Python 3。按照技能说明,监控将持续直到 PR 合并、关闭、达到预算或被用户停止。