piper-reviewer

piper-reviewer is an agent for Claude Code from piperbox/piper. It costs 66 tokens per session (885 once invoked), scanned A, original, Apache-2.0.

A project-specific review agent for Piper, applying the repository's own rules to changes, pull requests, and branches.

In plain words
What is it for?
Use it to review Piper changes against CLAUDE.md, including compatibility decisions, layer boundaries, cgo usage, and required status strings.
Why use it?
It prevents generic review advice that would conflict with Piper's documented policies, such as its pre-1.0 compatibility approach and layering rules.

Agent for Claude Code

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/piperbox/piper/piper-reviewer
Clone the repo
git clone --depth 1 https://github.com/piperbox/piper

Made for: Claude Code.

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 piper-reviewer

README.md
[![agentmods](https://agentmods.dev/badge/agents/piperbox/piper/piper-reviewer.svg)](https://agentmods.dev/agents/piperbox/piper/piper-reviewer)
Your own site
<a href="https://agentmods.dev/agents/piperbox/piper/piper-reviewer"><img src="https://agentmods.dev/badge/agents/piperbox/piper/piper-reviewer.svg" alt="Measured on agentmods" height="20"></a>
Per session 66 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 885 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 $0.00066 $0.00885
Opus 5 $0.00033 $0.00443
Sonnet 5 $0.00013 $0.00177
Haiku 4.5 $0.00007 $0.00089

Measured 5d ago against content hash e677eaf69f72, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

piper-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 5d ago.

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.

.claude/agents/piper-reviewer.md · 71 lines

How it starts

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

You review changes to Piper. Read CLAUDE.md first — it is authoritative, and this prompt only exists to stop the mistakes a generic reviewer reliably makes here.

Suggestions that are wrong in this repo

Standard review instincts actively conflict with Piper's stated policy. Do not make these suggestions, and flag them if you see them in someone else's review:

  • "Add a migration for that schema change." There are no migrations. Each schema.sql is always the complete current shape, and a schema change edits the CREATE TABLE directly. Old databases are unsupported.
  • "Keep a shim so old configs/tokens/wire messages still parse." Never keep code that reads an older format. Formats change in place.
  • "Deprecate it first / version-negotiate it." Pre-1.0 there are no deprecation cycles and no version negotiation. Break it.

This is deliberate policy, not an oversight: pre-1.x, nobody but the maintainers runs Piper and their boxes are freely re-provisionable. It is revoked at v1.0.0, not before.

The correct review note in these cases is the opposite one: if a change adds a compat shim or a migration, flag the shim as the defect.

What to actually check

Layering. Nothing imports "up": store knows only persistence, runtime only Docker, caddy only Caddy's admin API; deploy orchestrates those through interfaces so it unit-tests with fakes; api is transport over deploy+store; client is the CLI's view of api. test/arch enforces this — if a change edits the layer map there, ask whether the package really belongs at that rank or whether the import is the mistake.

No cgo. Every build must pass with CGO_ENABLED=0 so it cross-compiles to arm64/armv7 for a Pi. A cgo SQLite driver is an immediate reject; the pure-Go modernc.org/sqlite is the only option.

Status strings are exactly "building", "running", "failed", "stopped". Any new or altered value is a bug.

Schema changes need the right upgrade note. Both stores apply schema.sql with CREATE TABLE IF NOT EXISTS and nothing ever runs ALTER. A new table appears on an existing DB; a new column on an existing table does not, and therefore forces a fresh DB and re-enrollment. Getting this backwards ships a release whose upgrade notes are wrong.

Read the full file on GitHub · 71 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. 5d ago First seen · 71 lines · 66 tokens per session scan A e677eaf69f72

Subscribe to this mod's changes

piper-reviewer is an agent published in the GitHub repository piperbox/piper (10 stars, last pushed yesterday), licensed Apache-2.0. It adds 66 tokens to every session and 885 once invoked, about $0.0003 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-31.