# Polish a Pull Request

Alternate review and address passes until a PR is ready to merge.

- Repository: https://github.com/Significant-Gravitas/AutoGPT (187858 stars)
- Category: Git and review
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Significant-Gravitas/AutoGPT --skill pr-polish -g -a claude-code -y`
Codex: `npx skills add Significant-Gravitas/AutoGPT --skill pr-polish -g -a codex -y`
Cursor: `npx skills add Significant-Gravitas/AutoGPT --skill pr-polish -g -a cursor -y`
Gemini CLI: `npx skills add Significant-Gravitas/AutoGPT --skill pr-polish -g -a gemini-cli -y`

## Description

Alternate /pr-review and /pr-address on a PR until the PR is truly mergeable, no new review findings, zero unresolved inline threads, zero unaddressed top-level reviews or issue comments, all CI checks green, and two consecutive quiet polls after CI settles. Use when the user wants a PR polished to merge-ready without setting a fixed number of rounds.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# PR Polish

**Goal.** Drive a PR to merge-ready by alternating `/pr-review` and `/pr-address` until **all** of the following hold:

1. The most recent `/pr-review` produces **zero new findings** (no new inline comments, no new top-level reviews with a non-empty body).
2. Every inline review thread reachable via GraphQL reports `isResolved: true`.
3. Every non-bot, non-author top-level review has been acknowledged (replied-to) OR resolved via a thread it spawned.
4. Every non-bot, non-author issue comment has been acknowledged (replied-to).
5. Every CI check is `conclusion: "success"` or `"skipped"` / `"neutral"`, none `"failure"` or still pending.
6. **Two consecutive post-CI polls** (≥60s apart) stay clean, no new threads, no new non-empty reviews, no new issue comments. Bots (coderabbitai, sentry, autogpt-pr-reviewer) frequently post late after CI settles; a single green snapshot is not sufficient.
7. **No requested-but-unanswered review.** If a `/review` comment was posted on the PR and the review bot has not replied yet, quiet polls do **not** count toward condition 6, keep polling until the review lands or the wait budget expires. See [Waiting on a requested bot review](#waiting-on-a-requested-bot-review).

**Do not stop at a fixed number of rounds.** If round N introduces new comments, round N+1 is required. Cap at `_MAX_ROUNDS = 10` as a safety valve, but expect 2, 5 in practice.

## TodoWrite

Before starting, write two todos so the user can see the loop progression:

- `Round {current}: /pr-review + /pr-address on PR #{N}`, current iteration.
- `Final polish polling: 2 consecutive clean polls, CI green, 0 unresolved`, runs after the last non-empty review round.

Update the `current` round counter at the start of each iteration; mark `completed` only when the round's address step finishes (all new threads addressed + resolved).

## Find the PR

The rest: https://github.com/Significant-Gravitas/AutoGPT/blob/HEAD/.claude/skills/pr-polish/SKILL.md
