mcpField
B
babysitting-pr

babysitting-pr

github.com/spencerpauly开发868433 次安装13 周前更新
代码仓库

关于 babysitting-pr

用于监控未关闭的 Pull Request,并处理 CI 失败和明确的评审意见,检查是否满足合并条件。该技能通过 GitHub CLI 指令引导编码 Agent,并限制反复修复检查的轮数。

主要功能

  1. 01检查 PR 状态和合并冲突
  2. 02诊断并修复 CI 失败
  3. 03处理明确的评审意见
  4. 04在有限轮次内重新检查状态

适用场景

  1. 01使 Pull Request 保持可合并状态
  2. 02解决失败检查和评审反馈
  3. 03发现未解决的冲突或阻碍

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill babysitting-pr

安装后在 Claude Code 中输入/babysitting-pr确认已加载。

详细介绍

持续跟进 PR

当用户有一个已打开的拉取请求,并希望 Agent 监控该请求、修复 CI 失败、处理评审意见并确保其随时可以合并时,使用此技能。

步骤

  1. 获取 PR 状态 — 获取 PR 的当前状态:

    gh pr view --json number,title,state,mergeable,reviewDecision,statusCheckRollup,comments,reviews
    

    还要检查是否存在合并冲突:

    gh pr view --json mergeStateStatus
    
  2. 检查 CI 状态 — 查看 statusCheckRollup 字段。对于每项失败的检查:

    gh pr checks
    

    这会列出所有 CI 检查及其状态(通过/失败/待处理)。

  3. 修复 CI 失败 — 对于每项失败的检查,获取日志:

    gh run view <run-id> --log-failed
    

    分析失败原因并修复:

    • Lint 失败:在本地运行 linter(npm run lint -- --fix),手动修复剩余问题,然后提交。
    • 类型错误:运行 npx tsc --noEmit,查看错误,修复类型,然后提交。
    • 测试失败:在本地运行失败的测试套件,查看断言错误,修复代码或更新测试预期,然后提交。
    • 构建失败:运行 npm run build,查看错误输出,修复导入/配置/缺失依赖,然后提交。

    修复后,推送更改:

    git add -A && git commit -m "fix: resolve CI failures" && git push
    
  4. 处理评审意见 — 获取 PR 评审意见:

    gh api repos/{owner}/{repo}/pulls/{pr}/comments
    

    对于每条未解决的意见:

    • 阅读意见及其引用的代码。
    • 如果修复方式明确(拼写错误、命名、缺少 null 检查、样式问题),则进行修复。
    • 如果意见需要设计决策或进一步澄清,则跳过并告知用户。

    提交已处理意见对应的修复:

    git add -A && git commit -m "fix: address review feedback" && git push
    
  5. 解决合并冲突 — 如果 PR 存在冲突:

    git fetch origin main
    git merge origin/main
    

    阅读冲突双方的内容并选择正确的解决方式。如果冲突存在歧义,请询问用户。解决后:

    git add -A && git commit -m "fix: resolve merge conflicts" && git push
    
  6. 重新检查状态 — 推送修复后,等待 CI 运行并再次检查:

    gh pr checks --watch
    

    如果出现新的失败,返回第 3 步。最多进行 3 轮,以避免无限循环。

  7. 汇报 — 总结已完成的工作:

    • 哪些 CI 检查失败了,以及如何修复
    • 处理了哪些评审意见
    • 是否解决了合并冲突
    • 当前 PR 状态(已准备好合并,或仍有哪些阻碍)

循环行为

此技能旨在循环运行:

Check PR → Find issues → Fix issues → Push → Re-check → Repeat

在以下情况停止:

  • 所有检查均通过、没有未解决的意见、没有冲突 → PR 已准备好合并
  • 已尝试 3 轮修复、推送和检查,但仍未完全解决 → 汇报仍存在的问题
  • 修复需要设计决策 → 询问用户

注意事项

  • 切勿对共享的 PR 分支执行强制推送。
  • 除非行为变更是有意为之,否则不要通过修改测试断言来让测试通过。
  • 不确定如何处理的评审意见不要直接解决,应跳过并告知用户。
  • 如果 CI 正在排队或等待中,请等其完成后再分析失败原因。
  • 一切通过后,使用 gh pr ready 将 PR 标记为可供评审。

评论

支持 Markdown