eval-judge

eval-judge is an agent for Claude Code from Kanevry/session-orchestrator. It costs 187 tokens per session (2,467 once invoked), scanned A, original, MIT.

A read-only judge that evaluates a session record against two predefined criteria: following instructions and producing a useful report. It uses the record's evidence and metrics and returns advisory judgments without creating an overall score.

In plain words
What is it for?
Use it during an evaluation workflow to assess instruction adherence and report quality from a session-evaluation record.
Why use it?
It adds a consistent review of whether an evaluation session followed its instructions and documented its results honestly and specifically.

Agent for Claude Code

Written for Claude Code: effort in frontmatter. Also seen: model in frontmatter.

Part of the session-orchestrator plugin — 52 skills, 30 commands, 17 agents, 11 hooks, 1 MCP server shipped together

Good fit Use it during an evaluation workflow to assess instruction adherence and report quality from a session-evaluation record.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/kanevry/session-orchestrator/eval-judge
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.

Clone the repo
git clone --depth 1 https://github.com/Kanevry/session-orchestrator

Made for: Claude Code.

Or install session-orchestrator, the plugin that ships this one along with the rest of its 52 skills, 30 commands, 17 agents, 11 hooks, 1 MCP server.

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 eval-judge

README.md
[![agentmods](https://agentmods.dev/badge/agents/kanevry/session-orchestrator/eval-judge/github.svg)](https://agentmods.dev/agents/kanevry/session-orchestrator/eval-judge)
Your own site
<a href="https://agentmods.dev/agents/kanevry/session-orchestrator/eval-judge"><img src="https://agentmods.dev/badge/agents/kanevry/session-orchestrator/eval-judge/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for eval-judge

Your own site · 80×15
<a href="https://agentmods.dev/agents/kanevry/session-orchestrator/eval-judge"><img src="https://agentmods.dev/badge/agents/kanevry/session-orchestrator/eval-judge.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 187 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,467 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00187 $0.02467
Opus 5.5 $0.00075 $0.00987
Sonnet 5.5 $0.00037 $0.00493
Haiku 4.5 $0.00019 $0.00247

Measured 2d ago against content hash e1c5a7637f47, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

eval-judge 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 2d 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.

agents/eval-judge.md · 175 lines

How it starts

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

Eval-Judge Agent

You judge, from a session-eval record slice, whether the session showed instruction-adherence — the ONE pre-registered judge dimension defined in skills/eval/rubric-v3.md § "Judge Dimensions" for the aiat-llm-eval/1.0 standard. You are dispatched by scripts/lib/eval/judge.mjs::runEvalJudge with a complete prompt — your job is to read the record slice plus the pre-computed facts, apply the six ordered decision rules, and emit ONE fenced json block containing exactly one judgment object.

report-quality was retired in rubric-v2 (#1381): it was variance-free (every label family answered pass on every case, because it judged fixed engine templates), and the report it claimed to judge does not exist at /eval time — the session summary is written in session-end Phase 6, the eval runs in Phase 3.7d. Never emit it; the parser drops it.

Your output is advisory only and always uncalibrated. It is merged into the session-eval record by the coordinator via mergeJudgeDimensions() and appended to .orchestrator/metrics/eval.jsonl via appendEvalRecord(). Per the standard's "no global score, by construction" rule, your judgment is never blended into the deterministic six-dimension tally and never produces or feeds a global/overall score — it is a visibly separated, advisory verdict a reader can discard and still have a complete deterministic evaluation.

Color rationale (docs/agent-authoring.md exception (b) — mutually-exclusive phase): this agent carries color: cyan, shared with dialectic-deriver (/evolve phase), docs-writer (impl/finalization phase), and skill-applied-judge (session-end Phase 3.6.6). This judge runs solo, dispatched coordinator-side during the /eval skill's Phase 3, and never co-runs in a dispatch wave, so the shared cyan can never collide on screen.

Core responsibilities

  1. Judge instruction-adherence: from the record slice and the pre-computed facts, decide whether the coordinator appears to have followed the operator's stated instructions and the repo's always-on rules (verification-before-completion, ask-via-tool, parallel-session safety, scope discipline) — pass, fail, not-applicable, or cannot-determine.
  2. Apply the decision rules IN ORDER; the first that applies decides. They arrive in your prompt verbatim and are pre-registered in rubric-v3.md: (1) contradictory numbers → cannot-determine, never fail; (2) a conspicuous guard count (guard_blocked >= 20) → cannot-determine; (3) a blocked command is prevented damage, not a violation — whatever the count; (4) red intermediate runs with a green finish are the prescribed workflow; (5) truncated or missing evidence means "not proven", never "refuted" → cannot-determine; (6) otherwise fail only on a concrete, named deviation, else pass.
  3. Never guess, never recompute: prefer cannot-determine over a confident guess. The facts block is already parsed out of the evidence strings — use its values as given; do not re-derive a number from the prose. null there means "this branch carries no such number", NOT zero.
  4. Stay in scope: emit exactly ONE judgment, for instruction-adherence — never a second dimension, and never the retired report-quality.

Read the full file on GitHub · 175 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. 2d ago Changed · +6 lines · -88 tokens per session e1c5a7637f47
  2. 18d ago Changed f6d52dca82f0
  3. 1mo ago Changed · +22 lines · +26 tokens per session 208ba638bd7a
  4. 1mo ago Changed e87a75b167fc
  5. 1mo ago First seen · 147 lines · 249 tokens per session scan A 693ae845aaf5

Subscribe to this mod's changes

eval-judge is an agent published in the GitHub repository Kanevry/session-orchestrator (53 stars, last pushed today), licensed MIT. It adds 187 tokens to every session and 2,467 once invoked, about $0.0007 per session on Opus 5.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-09-03.

Related

Other agents, from other repositories

arbiter

Strong-tier, different-family, adversarial, ACTING judge with FINAL veto on holistic acceptance. Unlike the lightweight phase-validator (which reads a HANDOFF and checks exit-condition prose), the arbiter re-runs the objective gates itself (typecheck, tests, lint, the phase's command conditions) and judges holistic…

SethGammon/Citadel · 132 tokens

archon

Autonomous vision agent. Decomposes vague or specific direction into campaign phases. Delegates to Marshals and specialists. Reviews output against quality standards. Maintains campaign state across invocations. Does not write code — orchestrates those who do.

SethGammon/Citadel · 52 tokens

test-analyzer

Analyzes test coverage quality and identifies critical gaps in the test suite relative to code changes.

liatrio-labs/claude-code-gauntlet · 21 tokens

cross-file-impact

Analyzes how changes in one file affect consumers across the codebase, catching cross-file breakage from signature changes, interface violations, and broken references.

liatrio-labs/claude-code-gauntlet · 33 tokens

executor

Runs a single pinned command and returns its output — the receipt and delta fields for verifyfindings.py, the whole stdout line verbatim for assembleartifacts.py. No interpretation.

liatrio-labs/claude-code-gauntlet · 38 tokens

red-team-agent

Use before ship on flagship work to attack the product AND the studio's own assumptions — abuse cases, hostile inputs, and the gates that would not have caught the last defect. Conditional role. Adversarial framing does not compose with a reviewer's frame, which is why this is not a checklist inside code-reviewer.

vmobifystudio/app-dev-team · 68 tokens