yugabyte/yb-voyager/pr-review-sweep
Claude Code and agent skill by yugabyte/yb-voyager
- community
Checking that the SKILL.md file is still in the repository.
Sweep recently updated open GitHub PRs that need an AI review — never reviewed, or with new commits since the last AI review (incremental re-review, at most once per 24h) — running the branch-review skill and posting findings with the post-pr-review skill; fully automated, no per-PR confirmation. Use when the user asks to "sweep open PRs", "review all open PRs", "run the PR review sweep", or when invoked by the scheduled daily PR-review routine. Also accepts explicit PR numbers to force a review of specific PRs.
Install
npx vskill@latest install yugabyte/yb-voyager/pr-review-sweepSKILL.md
PR Review Sweep
Reviews open PRs with REVIEW.md and posts the findings with the post-pr-review skill, covering PRs that need a review — never reviewed, or carrying new commits since the last AI review. Designed to run unattended (e.g. from a daily scheduled routine), so it never pauses for confirmation.
This skill does not duplicate the review logic — it selects PRs, then delegates each one to a reviewer subagent and a poster subagent. The reviewer applies REVIEW.md (repo root, also what the branch-review skill points to). The poster applies post-pr-review with one documented override. REVIEW.md and ai/skills/post-pr-review/SKILL.md are the source of truth for how a review is produced and posted.
Defaults
| Parameter | Default | Override | |
|---|---|---|---|
| Recency window | PRs updated in the last 7 days | --days N | |
| Max PRs per run | 5 (oldest-updated first) | --limit N | |
| Size cutoff | Skip PRs with > 5000 changed lines (additions + deletions) | none (bypassed in explicit-PR mode) | |
| Drafts | Skipped | none | |
| Bot authors | Skipped | none | |
| Re-review after new commits | Incremental re-review, at most once per 24h per PR, when the head has new commits since the last AI-reviewed commit | explicit-PR mode forces a full review |
Modes
- Default mode (no args): select PRs per the filters above.
- Explicit-PR mode (
/pr-review-sweep 3512 3520): review exactly the given PR numbers. All filters are bypassed — recency, draft, bot, size, and the already-reviewed skip (the user asked for these PRs, so re-review even if an[AI]review exists). --days N/--limit Nadjust the defaults in default mode.
Workflow
Copy this checklist and track progress in your response:
Step 0: Prerequisites
If gh is missing or unauthenticated, stop and report — do not attempt anonymous API calls. The repository is always derived from origin; never hardcode it.
Step 1: Build the candidate list
Skip this step in explicit-PR mode (the user-supplied numbers are the list — just confirm each exists and is open with gh pr view <N> --json state; warn and skip any that aren't open).
Notes:
sort_by(.updatedAt)ascending → oldest-updated PRs are processed first, so nothing starves under the per-run cap.- The
fromdateiso8601-based filter is portable (nodate -v/date -ddivergence between macOS and Linux).
Step 2: Decide per PR — full review, incremental re-review, or skip
Gather the PR's AI-review history:
Decision (take the most recent of the review/marker timestamps as LAST_AI):
- No AI review or marker → full review.
- No new commits since `LAST_AI` (head commit == last AI-reviewed
commit_id, or — when the last AI activity was a marker with nocommit_id— the head commit's committer date <=LAST_AI) →skipped (already reviewed, no new commits). - New commits, and `LAST_AI` more than 24h ago → incremental re-review of the range
<last AI commit_id>..head(see Step 4). If the last AI activity was only a marker (nocommit_id) or the old commit is gone (force-push), do a full re-review instead. - New commits, but `LAST_AI` within the last 24h →
skipped (re-reviewed recently)— it will be picked up by a later run.
In explicit-PR mode this logic is bypassed entirely (always a full review).
Step 3: Size cutoff and cap
- If
additions + deletions > 5000, record the PR asskipped (too large: <X> lines)and post nothing — the PR stays unmarked so a human (or an explicit-PR run) can still review it. - Take the first 5 remaining PRs (oldest-updated first). Record the rest as
deferred (over per-run cap)— they'll be picked up by the next run.
Step 4: Process each PR sequentially via two subagents
Process PRs strictly one at a time (never in parallel — sequential runs keep gh rate usage and repo state predictable). For each PR spawn two subagents in sequence: a reviewer whose only job is the review, then a poster whose only job is publishing the findings. Do not merge them into one agent — a single agent juggling setup, review, and posting produces shallow reviews.
4a. Reviewer subagent — prompt of this shape:
4b. Poster subagent — give it the reviewer's findings report verbatim and a prompt of this shape:
Failure policy: a FAILED PR never aborts the sweep — record it and continue with the next PR. Do not retry within the run; a failed PR stays unmarked, so the next scheduled run retries it naturally. If the reviewer fails (so the poster never runs), the sweep itself removes /tmp/pr-review-sweep-<N> before moving on.
Step 5: Run summary
End with a table covering every PR considered, including filtered ones:
Plus one line of totals: N reviewed, R re-reviewed, M markers, K skipped, J failed, D deferred.
Anti-patterns
- Never pause for user confirmation — this skill's contract is unattended operation. The safety properties come from
post-pr-review's rules (non-blockingCOMMENT,[AI][<Severity>]prefixes), not from a human gate. - Never collapse the reviewer and poster into one subagent. A single context doing setup + review + posting has produced shallow reviews before; the dedicated reviewer is what protects depth.
- Never modify or check out branches in the main working copy. All PR checkouts go through ephemeral
/tmpworktrees. - Never compare against hardcoded `main`. Always diff against the PR's
baseRefName. - Never mark a PR as reviewed without posting something. The marker comment is what makes the sweep idempotent — skipping it makes the PR get fully re-reviewed every day.
- Never run PR subagents in parallel.
- Never let one PR's failure abort the sweep.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingai/skills/pr-review-sweep/SKILL.md
Popularity
- Repository stars
- 56
- Repository forks
- 21
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 31 Oct 2026, 8 days ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/yugabyte/yb-voyager/pr-review-sweep)