关于 babysitting-pr
用于监控未关闭的 Pull Request,并处理 CI 失败和明确的评审意见,检查是否满足合并条件。该技能通过 GitHub CLI 指令引导编码 Agent,并限制反复修复检查的轮数。
主要功能
- 01检查 PR 状态和合并冲突
- 02诊断并修复 CI 失败
- 03处理明确的评审意见
- 04在有限轮次内重新检查状态
适用场景
- 01使 Pull Request 保持可合并状态
- 02解决失败检查和评审反馈
- 03发现未解决的冲突或阻碍
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill babysitting-pr安装后在 Claude Code 中输入/babysitting-pr确认已加载。
详细介绍
持续跟进 PR
当用户有一个已打开的拉取请求,并希望 Agent 监控该请求、修复 CI 失败、处理评审意见并确保其随时可以合并时,使用此技能。
步骤
-
获取 PR 状态 — 获取 PR 的当前状态:
gh pr view --json number,title,state,mergeable,reviewDecision,statusCheckRollup,comments,reviews还要检查是否存在合并冲突:
gh pr view --json mergeStateStatus -
检查 CI 状态 — 查看
statusCheckRollup字段。对于每项失败的检查:gh pr checks这会列出所有 CI 检查及其状态(通过/失败/待处理)。
-
修复 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 - Lint 失败:在本地运行 linter(
-
处理评审意见 — 获取 PR 评审意见:
gh api repos/{owner}/{repo}/pulls/{pr}/comments对于每条未解决的意见:
- 阅读意见及其引用的代码。
- 如果修复方式明确(拼写错误、命名、缺少 null 检查、样式问题),则进行修复。
- 如果意见需要设计决策或进一步澄清,则跳过并告知用户。
提交已处理意见对应的修复:
git add -A && git commit -m "fix: address review feedback" && git push -
解决合并冲突 — 如果 PR 存在冲突:
git fetch origin main git merge origin/main阅读冲突双方的内容并选择正确的解决方式。如果冲突存在歧义,请询问用户。解决后:
git add -A && git commit -m "fix: resolve merge conflicts" && git push -
重新检查状态 — 推送修复后,等待 CI 运行并再次检查:
gh pr checks --watch如果出现新的失败,返回第 3 步。最多进行 3 轮,以避免无限循环。
-
汇报 — 总结已完成的工作:
- 哪些 CI 检查失败了,以及如何修复
- 处理了哪些评审意见
- 是否解决了合并冲突
- 当前 PR 状态(已准备好合并,或仍有哪些阻碍)
循环行为
此技能旨在循环运行:
Check PR → Find issues → Fix issues → Push → Re-check → Repeat
在以下情况停止:
- 所有检查均通过、没有未解决的意见、没有冲突 → PR 已准备好合并
- 已尝试 3 轮修复、推送和检查,但仍未完全解决 → 汇报仍存在的问题
- 修复需要设计决策 → 询问用户
注意事项
- 切勿对共享的 PR 分支执行强制推送。
- 除非行为变更是有意为之,否则不要通过修改测试断言来让测试通过。
- 不确定如何处理的评审意见不要直接解决,应跳过并告知用户。
- 如果 CI 正在排队或等待中,请等其完成后再分析失败原因。
- 一切通过后,使用
gh pr ready将 PR 标记为可供评审。
评论
支持 Markdown