brief
Use when a problem, idea, or change of intent is worth capturing as a long-form page, or the person asks to write it up. Never…
Use after a pull request is open to watch its CI and review-bot comments until it is ready. Fixes real findings, replies with a reason to false positives, rebases when the base moves, and stops when bots and required checks are green. Merges only when the person asked.
Claude Code
$ npx -y skills add greenfield-inc/Pane --skill babysit-pr --agent claude-code
Codex
$ npx skills add greenfield-inc/Pane --skill babysit-pr -a codex -y
Cursor
$ npx skills add greenfield-inc/Pane --skill babysit-pr -a cursor -y
Gemini CLI
$ npx skills add greenfield-inc/Pane --skill babysit-pr -a gemini-cli -y
GitHub Copilot
$ npx skills add greenfield-inc/Pane --skill babysit-pr -a github-copilot -y
OpenCode
$ npx skills add greenfield-inc/Pane --skill babysit-pr -a opencode -y
Windsurf
$ npx skills add greenfield-inc/Pane --skill babysit-pr -a windsurf -y
name: babysit-pr description: Use after a pull request is open to watch its CI and review-bot comments until it is ready. Fixes real findings, replies with a reason to false positives, rebases when the base moves (not when the PR below in a stack merged with a merge commit), and stops when bots and required checks are green. Merges only when the person asked.
Most repositories run AI review bots and CI on every pull request. They are helpful, even when they are not right.
Run it once the PR is open, when the person says "ready", or when your own instructions say to.
Match the effort to the change: a docs-only or few-line PR skips the watching below and the green-checks condition under Stop, and reports as soon as it's open.
Watch the PR instead of checking once. In Claude Code, run `gh pr checks <pr> --required --watch` in the background or use a monitor, so you respond when checks or comments arrive. In Codex, or wherever nothing can wake you, poll `gh pr checks <pr> --required` and the review threads every few minutes. Only required checks hold a merge; look at an advisory check only when it fails. A PR based on another branch (a stacked PR) has no required checks until it targets the default branch, so `--required` lists nothing: watch the check the default branch requires by name (`CI result` in Pane's own repository) instead.
Only act on checks and comments newer than the latest push. Compare their timestamps with the head commit:
gh pr view <pr> --json headRefOid,commits,statusCheckRollup,reviews,comments
Review threads, and whether they are resolved, come from GraphQL:
gh api graphql -f query='query($o:String!,$r:String!,$n:Int!){repository(owner:$o,name:$r){pullRequest(number:$n){reviewThreads(first:100){nodes{id isResolved comments(last:1){nodes{author{login} body createdAt path line}}}}}}}' -f o=<owner> -f r=<repo> -F n=<pr>Verify every bot finding against the source before changing code. Fix real findings and CI failures. Tell repository failures apart from infrastructure flakes; rerun a flake once with `gh run rerun <run-id> --failed` before treating it as real.
If a review bot leaves feedback that is not worth addressing, reply with a written reason and resolve the thread:
gh api graphql -f query='mutation($id:ID!){resolveReviewThread(input:{threadId:$id}){thread{isResolved}}}' -f id=<thread-id>Every reply is posted under the person's account. Write it the way they would: short, specific, and without filler.
Screenshots and videos help reviewers. Host them where the repository's workflow says (the document destination your workspace instructions name, or a release asset, for example) and link them. Never commit evidence files.
Keep an eye on the base branch and rebase when needed. The exception is a stack merging bottom-up: when the PR below merged with a merge commit and this PR was retargeted to the branch it merged into (`gh pr edit <pr> --base <branch>` if GitHub did not do it), the retarget is done. Confirm the diff shows only this PR's commits and recheck required checks (`gh pr checks <pr> --required`); do not rebase or push, since a push would start CI again for nothing. If an overlapping PR makes this one obsolete, stop monitoring, tell the person, and ask before closing it unless closing was explicitly authorized.
Fix every finding within the PR's goal, including small in-scope improvements a reviewer or bot raises; don't dismiss an in-scope finding as out of scope. For a suggestion beyond the goal, don't grow the PR: capture it with [create-ticket](../create-ticket/SKILL.md) (or in the PR's findings or handoff file when ticket creation isn't authorized) and reply on the thread with the link. When you decline a finding as wrong, reply with the reason.
If nothing has changed, stay quiet rather than posting filler comments. Stop when the review bots and required checks are green on the latest commit. Merge only when the person explicitly asked for it; otherwise report that the PR is ready.
Use when a problem, idea, or change of intent is worth capturing as a long-form page, or the person asks to write it up. Never…
Use when the person reports broken behaviour or starts a session to file a bug. Reproduces and reports. Never fixes.
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening…
Explore the codebase to locate files, trace behavior, and document existing patterns with precise file references. Use when the…
Give a fresh agent something to walk through with zero context - a PR body, a landing page, a document, a process, instructions,…
Capture work and evolving intent during discussion as one or more GitHub tickets, Grain briefs, or both. Use for ticket or issue…
Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…
Create a new Architecture Decision Record with sequential numbering and AgentDB registration