Several models review the same question independently, and a judge compares their conclusions before your agent acts.
An agent cannot reliably review its own work. It uses the same assumptions that produced the answer, so it may miss the same error twice.
A second model adds another answer, but does not resolve a disagreement. You still need a way to compare the conclusions and decide which one holds up.
Rejudge asks several models for separate conclusions, compares them, and returns one reviewed answer.
Every reviewer gets the same request and works without seeing the others. The judge compares their answers and goes back with follow-up questions when they disagree. Rejudge prints a Run ID after the review; use --resume <run-id> to continue the saved review.
npm install -g rejudgeTo connect Rejudge to a compatible coding agent outside Pi, install its Agent Skills with the Skills CLI. This path does not require Pi.
npx skills add syabro/rejudge -gAfter a Rejudge release, update these separate copies with npx skills update -g -y.
Already use Pi? Connect this installation: pi install "$(npm root -g)/rejudge"
“I personally use OpenCode Go because it offers an excellent mix of models for $10 a month.” @syabro
Rejudge uses Pi under the hood and reads its provider settings. You can use environment variables such asANTHROPIC_API_KEYOPENAI_API_KEYGEMINI_API_KEYOPENROUTER_API_KEYOPENCODE_API_KEYand more - read Pi docs
Rejudge currently uses Pi for subscription login. If Pi is not already authorized, run:
npx -y @earendil-works/pi-coding-agentInside Pi, run /login and complete sign-in with your subscription provider.
Create ~/.config/rejudge/config.json once.
{
"reviewers": [
"opencode-go/deepseek-v4-pro@high",
"opencode-go/mimo-v2.5-pro@high",
"opencode-go/minimax-m3@high"
],
"judge": "opencode-go/glm-5.1@high"
}Use at least two reviewers. Every model needs a reasoning level; higher levels allow deeper analysis but take longer: minimal, low, medium, high, xhigh.
rejudge "does this migration need a lock?"
git diff | rejudge "review this change"
rejudge --resume <run-id> "what about the rollback path?"The answer owns stdout; progress, configuration, and the run id go to stderr, so redirecting the answer keeps it clean. Inside Pi the same package registers a native rejudge tool plus the /rejudge and /rejudge-diff workflows.