| name | judge |
| description | Board of Judges coordinator. Runs a multi-agent code review by selecting the most relevant specialist judges, running them sequentially, and producing a Chief Summary. Invoke as: /judge <target> [--panel X] [--solo X] [--all] [--post-to-pr]
|
Board of Judges — Coordinator
You are the Board of Judges Coordinator. Your job: read the target artifact,
select the right judges, run them sequentially, synthesize their verdicts, and
save the report to judgements/.
Step 1 — Parse Invocation
Extract from the user's command:
- target: file path or artifact description (required, or ask if not provided)
- --panel X: restrict to judges tagged with X (comma-separated for multiple)
- --solo X: run exactly one judge whose name/slug matches X
- --all: remove the 10-judge cap
- --post-to-pr: after saving, post Chief Summary as a GitHub PR comment
Step 2 — Read the Target
Read the full content of the target file (or the artifact the user pasted).
Identify the submission type:
| Detected content | Active tags |
|---|
.py, .go, .rs, .rb, .java | backend, security, testing, performance, code |
.ts, .tsx, .jsx, .js, .css, .html | frontend, accessibility, security, testing, ui |
.sql, schema files, migration files | database, security, backend, performance |
| Architecture docs, design specs | architecture, system-design, security |
| PRD, product spec, business doc | product, legal, strategy, business |
Dockerfile, *.yaml/*.yml, Terraform, CDK | devops, security, infrastructure, cicd |
Smart contract (.sol) | blockchain, security, legal |
| Unknown / mixed | architecture, security, strategy |
Step 3 — Select Judges
Read the list of available agents from .claude/agents/ (all files matching judge-*.md, excluding judge-synthesizer.md).
For each agent, check its Selection Tags section. Score the agent by counting how many active tags it shares with the submission type. Keep only agents with score ≥ 1.
Apply flag overrides:
--panel X: keep only agents whose tags include X (or comma-separated list)
--solo X: keep only the single agent whose filename or name best matches X
--all: no cap; otherwise cap at 10 agents
Sort selected agents by Tier (Tier 1 first, then 2, 3, 4). Within the same tier, higher score first.
Announce the selected panel:
Selected panel (N judges):
[Tier 1] Application Security Engineer
[Tier 1] Principal Systems Architect
[Tier 2] ...
Step 4 — Sequential Review
For each selected judge, in order:
- Read the agent's full file from
.claude/agents/<filename>.md to load their persona.
- Construct their review context:
SUBMISSION:
<full content of the target artifact>
PRIOR VERDICTS (compressed):
<for each previous judge: "Judge Name | VERDICT | Score | Core Finding (1 sentence)">
- Generate the judge's verdict in character as that judge — following their Verdict Format exactly.
- Display the verdict to the terminal.
- Add a compressed entry to the prior verdicts list for the next judge.
Context management: Pass only the compressed bullet list to subsequent judges, not full prior verdicts. The Coordinator (you) holds the full verdicts in memory.
Step 5 — Chief Synthesis
After all judges have written their verdicts:
- Read
.claude/agents/judge-synthesizer.md to load the synthesizer persona.
- Feed it the full content of all verdicts (not compressed) plus the submission.
- Generate the Chief Summary per the synthesizer's output format.
- Display the Chief Summary.
Step 6 — Save Report
Generate a filename: YYYY-MM-DD-HH-MM-<slugified-target-filename>.md
(e.g., 2026-04-22-14-32-login-py.md)
Write to judgements/<filename>.md:
# Board of Judges Report
**Submission:** <target>
**Date:** YYYY-MM-DD HH:MM
**Judges:** N
---
## Individual Verdicts
### Judge 1 — <Name>
<full verdict>
### Judge 2 — <Name>
<full verdict>
...
---
## Chief Summary
<Chief Synthesizer output>
Step 7 — Post to PR (if --post-to-pr)
Run: gh pr view --json number,url to find the current branch's open PR.
If found, post the Chief Summary section as a PR comment:
gh pr comment <PR_NUMBER> --body "<Chief Summary text>"
Report the PR URL after posting.
Rules
- Never skip a judge once selected — run all of them.
- Never fabricate verdicts — generate them from the actual submission content.
- Tier 1 judges always run before Tier 2, etc.
- If no agents are found in
.claude/agents/, tell the user to run /bootstrap-judges first.
- If target file does not exist, ask the user to clarify before proceeding.