pi-review-board
Claude Code-style, deterministic multi-pass code review for Pi
Package details
Install pi-review-board from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-review-board- Package
pi-review-board- Version
0.1.1- Published
- Sep 9, 2026
- Downloads
- 296/mo · 296/wk
- Author
- evanqhuang
- License
- MIT
- Types
- extension, skill
- Size
- 505.3 KB
- Dependencies
- 0 dependencies · 4 peers
Pi manifest JSON
{
"skills": [
"./skills/code-review"
],
"extensions": [
"./extensions/code-review.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Pi Review Board
Claude Code-style, multi-pass code review for the Pi coding agent.
Pi Review Board runs bounded reviewer passes over diffs, branches, worktrees, paths, and GitHub pull requests. It validates candidate findings with a fresh single-candidate reviewer instead of presenting every model suggestion as a bug. Reviews are report-only by default; one-shot pull-request comments are an explicit opt-in.
Inspired by Claude Code's review workflow. This is an independent community extension and is not affiliated with or endorsed by Anthropic.
Install
From GitHub:
pi install git:github.com/evanqhuang/pi-review-board
After an npm release:
pi install npm:pi-review-board
The package requires Pi and a configured model/provider. The gh CLI is also
required when reviewing GitHub pull-request targets.
Use
/code-review [normal|deep] [target]
With no target, the extension reviews the current diff. Targets can also be a pull request, branch, worktree, or path.
The equivalent model tool is code_review. It supports:
- automatic bounded routing for tiny, small, and normal changes;
deepreviews with one additional integration pass;- candidate-specific validation before findings are reported;
- managed review loops for committed implementations;
- optional
--commentpublication for one-shot GitHub pull-request reviews.
Managed loops use /code-review loop <target>. They return a session ID and
stable finding IDs; record a disposition for every finding before remediation,
then run the next bounded pass against the new commit.
Safety and scope
- Reviewer subprocesses receive only read-oriented tools and the required result tool.
- Work, input, output, retries, and reviewer concurrency are bounded.
- Pull-request reviews use an immutable captured snapshot and revalidate the target before publication.
- Incomplete or under-validated reviews never claim a clean result or publish.
- Project checks remain caller-owned;
APPROVEis only the review decision.
Development
npm ci
npm run typecheck
npm test
npm audit --omit=dev
Tests use offline reviewer fixtures and an in-memory Pi provider. They do not start live reviews.
After changing an installed copy, use /reload or start a new Pi session.
Publishing
CI checks pull requests and pushes to main. Pushing a stable vX.Y.Z tag
publishes that tagged commit to npm after typechecking and tests pass.
The tag must exactly match package.json. Prerelease tags are rejected.
One-time maintainer setup
Create a GitHub environment named
npmin this repository's Settings → Environments. Configure required reviewers and restrict deployments to release tags as appropriate. The publishing job uses this environment.Claim/bootstrap
pi-review-boardfrom a clean, reviewed checkout using an npm account authorized to publish the name (availability is not guaranteed until publication). Use Node 24 and current npm 11:npm login npm ci npm run check npm pack --dry-run npm publish --access publicThis publishes the initial
0.1.0version. Do not pushv0.1.0afterward: npm versions are immutable and the workflow would try to publish it again.On npmjs.com, open the package's Settings → Trusted Publisher and configure:
Field Value Provider GitHub Actions Organization or user evanqhuangRepository pi-review-boardWorkflow filename publish.ymlEnvironment npmAllowed action npm publishNo
NPM_TOKENrepository secret is needed. GitHub-hosted runners use OIDC with provenance. Keep npm account 2FA enabled; restrict token publishing after confirming trusted publishing works.
Subsequent releases
From a clean main checkout after CI passes:
git pull --ff-only
npm version patch # updates both manifests, commits, and creates vX.Y.Z
git push origin main
git push origin "v$(node -p 'JSON.parse(require("fs").readFileSync("package.json", "utf8")).version')"
Watch the Publish to npm action and approve the npm environment deployment if
required. Authentication failures require checking the exact npm trusted
publisher fields above; rerun the failed job once corrected. Never move a tag
or reuse a version that has already been published.
Pi package gallery
The Pi package gallery displays npm packages with the
pi-package keyword. This package already includes that keyword and the pi
extension/skill manifest; no separate marketplace upload workflow is required.
After npm publication, verify discovery in the gallery (indexing may lag) and
test installation with pi install npm:pi-review-board.
References: npm trusted publishing and Pi packages.