Babysitting a PR
Use this skill when the user has an open pull request and wants the agent to monitor it, fix CI failures, resolve review comments, and keep it merge-ready.
Steps
- Get the PR status — fetch the current state of the PR:
gh pr view --json number,title,state,mergeable,reviewDecision,statusCheckRollup,comments,reviewsAlso check for merge conflicts:gh pr view --json mergeStateStatus - Check CI status — look at the
statusCheckRollupfield. For each failing check:gh pr checksThis lists all CI checks and their status (pass/fail/pending). - Fix CI failures — for each failing check, get the logs:
gh run view <run-id> --log-failedAnalyze the failure and fix it: After fixing, push the changes:git add -A && git commit -m "fix: resolve CI failures" && git push
- Lint failures: run the linter locally (npm run lint -- --fix), fix remaining issues manually, commit. - Type errors: run npx tsc --noEmit, read the errors, fix the types, commit. - Test failures: run the failing test suite locally, read the assertion errors, fix the code or update the test expectations, commit. - Build failures: run npm run build, read the error output, fix imports/configs/missing deps, commit.
- Handle review comments — fetch PR review comments:
gh api repos/{owner}/{repo}/pulls/{pr}/commentsFor each unresolved comment: Commit fixes for resolved comments:git add -A && git commit -m "fix: address review feedback" && git push
- Read the comment and the code it references. - If the fix is clear (typo, naming, missing null check, style issue), apply it. - If the comment requires a design decision or clarification, skip it and report to the user.
- Resolve merge conflicts — if the PR has conflicts:
git fetch origin main git merge origin/mainResolve conflicts by reading both sides and choosing the correct resolution. For ambiguous conflicts, ask the user. After resolving:git add -A && git commit -m "fix: resolve merge conflicts" && git push - Re-check status — after pushing fixes, wait for CI to run and check again:
gh pr checks --watchIf new failures appear, go back to step 3. Limit to 3 rounds to avoid infinite loops. - Report — summarize what was done:
- Which CI checks were failing and how they were fixed - Which review comments were addressed - Whether merge conflicts were resolved - Current PR status (ready to merge, or what's still blocking)
Loop Behavior
This skill is designed to run in a loop:
Check PR → Find issues → Fix issues → Push → Re-check → RepeatStop when:
- All checks pass, no unresolved comments, no conflicts → PR is merge-ready
- 3 fix-push-check cycles have been attempted without full resolution → report what's still failing
- A fix requires a design decision → ask the user
Notes
- Never force-push to a shared PR branch.
- Don't modify test assertions to make tests pass unless the behavior change was intentional.
- Don't resolve review comments you're unsure about — skip them and let the user know.
- If CI is queued/pending, wait for it to complete before analyzing failures.
- Use
gh pr readyto mark the PR as ready for review once everything is green.