Several models review the same question independently, and a judge compares their conclusions before your agent acts.

A real Rejudge run: reviewers inspect the same question independently, then the judge returns one answer.

Why

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.

How it works

Your agentasks a questionModel Xwrites its conclusionModel Ywrites its conclusionModel Zwrites its conclusionJudgecompares the findingsAnswerbased on all findings+ Run IDto resumeYour agentasks a questionModel Xwrites its conclusionModel Ywrites its conclusionModel Zwrites its conclusionJudgecompares the findingsAnswerbased on all findings+ Run IDto resume

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.

Quick start

01 Install Rejudge

npm install -g rejudge

To 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 -g

After 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"

02 Provide model access

“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

Using a subscription instead of API keys?

Rejudge currently uses Pi for subscription login. If Pi is not already authorized, run:

npx -y @earendil-works/pi-coding-agent

Inside Pi, run /login and complete sign-in with your subscription provider.

03 Configure the panel

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.

04 Ask

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.