Skip to content
Claudekit.ai

PR Review: Review Your Branch Diff with Claude Code

You get: A REVIEW.md in your repository with a verdict, findings by severity with path:line references, and a filled-in review checklist.

A free Claude Code kit that reviews your branch against its base with an eight-point checklist and writes REVIEW.md with path:line findings. Works offline.

By Claudekit Team Editor Tran Quang Dong Published Checked 2 min read

Test level

Smoke tested Claude Code actually loaded the kit and ran one scripted task in a capped run, and the result passed our checks. How we test
Tested with
Claude Code 2.1.290
Tested on
Setup time
About 2 minutes
For
Developers

Latest lab run: · Smoke tested · Claude Code 2.1.290 · 20 of 20 checks passed

Show checks
  • Passed: files (7 files, 12347 bytes)
  • Passed: manifest (pr-review@0.1.0)
  • Passed: manifest-paths (no custom paths)
  • Passed: frontmatter (1 skills, agents and commands)
  • Passed: hooks (no hooks)
  • Passed: shell-syntax (3 scripts pass bash -n)
  • Passed: secrets (11 Kiln Guard rules, no findings)
  • Passed: network (every referenced host is allowlisted)
  • Passed: destructive (4 command surfaces pass Kiln Guard)
  • Passed: lab-spec (5 expectations, 2 scripts pass bash -n)
  • Passed: marketplace (listed as pr-review)
  • Passed: plugin-validate (1 files valid, 0 warnings)
  • Passed: kit-tests (lab/test.sh passed)
  • Passed: smoke-fixture (lab/fixture.sh ready)
  • Passed: smoke-run (4 turns, $0.0639)
  • Passed: expect:file-exists (REVIEW.md exists)
  • Passed: expect:file-matches (REVIEW.md matches src/users\.js)
  • Passed: expect:file-matches (REVIEW.md matches (?i)injection)
  • Passed: expect:file-matches (REVIEW.md matches (?i)verdict)
  • Passed: expect:file-unchanged (src/users.js unchanged)

Install

In a Claude Code session, add the Claudekit marketplace once, then install:

/plugin marketplace add claudekit-ai/kits
/plugin install pr-review@claudekit

Or download the kit and start Claude Code in your project with it loaded for one session. No unzipping needed:

claude --plugin-dir ./pr-review.zip

Or load it straight from our site:

claude --plugin-url https://claudekit.ai/kits/pr-review.zip

A kit can run hooks with your permissions. Read its files before you install it.

Steps

  1. Download pr-review.zip and start Claude Code in your repository with claude --plugin-dir ./pr-review.zip
  2. Check out the branch you want reviewed and commit your changes
  3. Run /pr-review:review, or /pr-review:review develop to set the base branch
  4. Approve the git command and the write to REVIEW.md
  5. Read REVIEW.md and fix the blockers before you open or merge the pull request

PR Review is a free Claude Code kit that reviews your current branch before you open a pull request. Run /pr-review:review and Claude reads the diff against your base branch, checks it against a fixed eight-point checklist, and writes REVIEW.md with a verdict and findings that point to path:line.

It works offline from your local git history, so it runs the same on any host. It never commits, pushes or posts comments.

What you get

REVIEW.md has a fixed shape, so reviews are easy to compare:

  • Verdict: Approve, Approve with nits, or Request changes.
  • Findings grouped as Blocker, Major, Minor and Nit, each with path:line, why it matters and a suggested fix.
  • Checklist: correctness, error handling, security, tests, contracts, performance, readability and docs, each marked ok, see findings or n/a.
  • Not reviewed: skipped files and uncommitted changes, so gaps are visible.

Claude is told to report only what the diff shows and to write “No issues found” rather than pad a section.

Setup, step by step

  1. Download pr-review.zip.

  2. Start Claude Code in your repository with the kit loaded:

    claude --plugin-dir ./pr-review.zip

    To load it in every session, unzip it and move the pr-review/ folder into ~/.claude/skills/.

  3. Run /pr-review:review (base: origin/HEAD, then main, then master) or /pr-review:review develop.

Permissions it needs

  • Bash, to run the bundled script that calls read-only git commands (log, status, diff, merge-base).
  • Write, for REVIEW.md at the repository root. Claude asks before overwriting an existing one.
  • No network access unless you ask it to use gh.

What we tested

  • Static: 14 checks on a fixture repository: base detection, commit list, diffstat, the diff, the large-diff fallback, uncommitted changes, and clean errors for an unknown base, an option-like base and a folder outside git.
  • Smoke: one real claude -p "/pr-review:review main" run on Claude Code 2.1.290 with Sonnet, on 25 October 2026, on a branch that builds SQL from user input and rounds a page count down. REVIEW.md came back with “Request changes”, the SQL injection as a blocker at src/users.js:7, the paging bug as major, and the source file untouched.
  • Not tested: the optional gh step, very large real-world diffs, and Windows.

Uninstall

Start Claude Code without --plugin-dir, or delete ~/.claude/skills/pr-review/. Delete any REVIEW.md files you no longer need.

Frequently asked questions

Does PR Review need GitHub or the gh CLI?

No. It reads the diff from your local git repository and works offline. If you ask for it and gh is installed, it can also read the pull request description for context.

Which base branch does it compare against?

The branch you pass, for example /pr-review:review develop. Without one it uses origin/HEAD, then main, then master. It diffs from the merge base, so only your branch's commits are reviewed.

What about very large diffs?

Diffs over 3,000 lines switch to a file list, and Claude reviews the riskiest files one at a time and lists what it skipped in the Not reviewed section.

Does it post comments or change code?

No. It writes REVIEW.md and nothing else. It does not commit, push, post comments or edit your source files.

Get the weekly Claude digest

New skills, MCP servers, prompts and Claude updates — one short email a week. No spam, unsubscribe anytime.

The newsletter is launching soon. Follow the RSS feed in the meantime.