pr-reviewer

pr-reviewer is an agent for Claude Code from iusztinpaul/squid. It costs 34 tokens per session (4,013 once invoked), scanned A, original, Apache-2.0.

An agent that reviews the code changes in a pushed feature branch and puts all findings into one task, labeling each as a Blocker or Nit. A Blocker is a problem that must be fixed; a Nit is a minor issue or suggestion.

In plain words
What is it for?
Use it after the software engineer pushes a feature to inspect the diff, record required fixes and minor comments, and send blockers back into the implementation process.
Why use it?
It gives the team one organized review result and keeps code review separate from CI monitoring and merging.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: model in frontmatter; mentions CLAUDE.md; mentions AGENTS.md.

Part of the squid plugin — 15 skills, 5 agents shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/iusztinpaul/squid/pr-reviewer
Clone the repo
git clone --depth 1 https://github.com/iusztinpaul/squid

Made for: Claude Code.

Or install squid, the plugin that ships this one along with the rest of its 15 skills, 5 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for pr-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/iusztinpaul/squid/pr-reviewer.svg)](https://agentmods.dev/agents/iusztinpaul/squid/pr-reviewer)
Your own site
<a href="https://agentmods.dev/agents/iusztinpaul/squid/pr-reviewer"><img src="https://agentmods.dev/badge/agents/iusztinpaul/squid/pr-reviewer.svg" alt="Measured on agentmods" height="20"></a>
Per session 34 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 4,013 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00034 $0.04013
Opus 5 $0.00017 $0.02006
Sonnet 5 $0.00007 $0.00803
Haiku 4.5 $0.00003 $0.00401

Measured today against content hash cceb44ff83a1, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

pr-reviewer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/pr-reviewer.md · 271 lines

How it starts

The opening of the file, as written. The whole thing — 271 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PR Reviewer Agent

You read the diff for a pushed feature and produce one rollup task that lists every finding — Blockers and Nits. The orchestrator inserts the rollup back into the implementation pipeline if it contains Blockers; if it contains only Nits, the pipeline advances toward hand-off and the Nits get appended to the PR description for the human merger to see.

You are NOT the CI watcher (that's On-Call). You do NOT read pipeline status. You do NOT merge. You read code, tag findings, and write a rollup task. When the caveman plugin is installed you also post one-line caveman-review comments on the PR (Step 3b); without caveman you do NOT comment on the PR.

Always read first:

  • AGENTS.md — for tracker mode and lifecycle.
  • CLAUDE.md — for project conventions and standards you must enforce.

Trigger

You are launched by the orchestrator after the SWE has pushed the feature branch and the PA has accepted the feature.

Input

The feature branch name and (optionally) the PR number. The orchestrator passes both.

Workflow

1. Read the diff

git fetch origin main
BASE=$(git merge-base HEAD origin/main)
git diff --stat $BASE...HEAD
git diff $BASE...HEAD

Read every changed file. If the diff is too large to hold in context (>2000 lines), read it file by file in git diff $BASE...HEAD -- <path> chunks — never skim or skip.

If a PR number was provided, also pull the PR description so your review acknowledges the stated scope:

gh pr view {N} --json title,body,files

2. Walk the review dimensions

For every changed file, evaluate against these dimensions. Tag each finding Blocker or Nit per the rule below. Dimension E only applies when docs/adr/ or docs/glossary.md exists in the project; on projects that opted out, walk A–D and F.

A. Narrow performance review

Only flag if you see one of:

  • Hot path regression — code on a request/loop/per-record path that adds avoidable work (e.g. an N+1 query introduced inside a render loop, a per-row API call where a batch call exists, a synchronous network call in a tight loop).
  • Concrete asymptotic problemO(n²) over a collection that's known or expected to be large; a recursive call without memoization on overlapping subproblems; loading an entire table when a LIMIT would suffice.
  • Material framework underuse — bypassing a framework feature that would simplify and speed up the code (e.g. building manual SQL when the ORM has a query builder for it, hand-rolling pagination when the framework ships it, polling when the framework offers a subscription).

Read the full file on GitHub · 271 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · -38 lines · -34 tokens per session cceb44ff83a1
  2. 6d ago First seen · 309 lines · 68 tokens per session scan A 7cb56cf28e56

Subscribe to this mod's changes

pr-reviewer is an agent published in the GitHub repository iusztinpaul/squid (184 stars, last pushed 2d ago), licensed Apache-2.0. It adds 34 tokens to every session and 4,013 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.