eval-judge
Skill4 starsChanged 2 days agoMITView on GitHub
Build a grader for an agent's or model's outputs that agrees with the user's own judgment: collect about 20 real runs, have the user label them, write a rubric, run the grader, measure agreement, fix the disagreements, repeat, and check on a held-out set. Works with any model or CLI. Use for "build an eval", "LLM as judge", "grade these outputs", "auto-score the agent", "is the new prompt better", or before tuning a prompt or skill by numbers.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- dvy1987/agent-loomtheir own version, first seen Nov 15, 2026
- malloydata/publishertheir own version, first seen Nov 4, 2026
- awslabs/agent-builder-toolkit-aws-transformtheir own version, first seen Oct 13, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- malloydata/publisher★ 132same name
- awslabs/agent-builder-toolkit-aws-transform★ 6same name
- dvy1987/agent-loom★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository50 other files it gives its agents.
- agent-writingSkill
- arenaSkill
- blast-radiusSkill
- bun-playwright-runner-selectionSkill
- cinematic-shotSkill
- clean-ui-shotSkill
- codebase-designSkill
- debug-loopSkill
- dep-upgradeSkill
- diagnosing-bugsSkill
- discoverSkill
- domain-modelingSkill
- earshotSkill
- flaky-testSkill
- grillingSkill
- grillSkill
- idea-scoutSkill
- improve-codebase-architectureSkill
- interrogateSkill
- make-mediaSkill
- migrate-to-rustSkill
- migration-planSkill
- multi-agent-windows-hazardsSkill
- perf-loopSkill
- postmortemSkill
- prototypeSkill
- prSkill
- real-soundSkill
- recallSkill
- release-notesSkill
- repo-mapSkill
- researchSkill
- retroSkill
- secure-diffSkill
- sellSkill
- subagent-report-recoverySkill
- tasteSkill
- taste-skillSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- wayfinderSkill
- weeklySkill
- windows-bash-backslash-halvingSkill
- wizardSkill
- writing-for-agentsSkill
- ycSkill
- ystack-upgradeSkill
The file
We split this skill into the rules it gives an agent
7 rules. 0 are common, 7 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Cost: Every grader run calls a model once per output.
- Distinctive: line 21
Code first: If a property can be checked by code (valid JSON, tests pass, length, a required field, a banned word), check it with code.
- Distinctive: line 34
Put about a quarter aside, untouched until step 7.
- Distinctive: line 53
Ask for the reason before the verdict.
- Distinctive: line 57
Run it on the working set with any model you can call headlessly, e.g.
- Distinctive: line 87
Never tune on the held-out set.
- Distinctive: line 89
No paid API key without the user's okay and a cap.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Eval judge
A grader that doesn't match the user's judgment makes every later number a lie. This skill builds one, then proves it agrees with the user before anyone trusts its scores.
Before you start
- Cost. Every grader run calls a model once per output. Estimate runs x outputs x tokens and tell the user. Use a model the user is already signed in to (a CLI subscription, a local model). Never use a paid API key without the user's explicit okay for this task, and agree a spend cap.
- Code first. If a property can be checked by code (valid JSON, tests pass, length, a required field, a banned word), check it with code. Use a model grader only for judgment calls.
Procedure
1. Collect real outputs
Gather about 20 real outputs of the thing being judged, with their inputs. Real runs beat invented
ones. Include clear passes, clear failures and borderline cases. Save them as one file per case or one
JSONL file: {id, input, output}.
2. Split off a held-out set
Put about a quarter aside, untouched until step 7. Tuning the rubric on them makes the final check worthless.
3. Get the user's labels
Show the user each working-set case and ask for pass/fail plus one line of why. The why is the raw material for the rubric. Don't label for them; if the user can't decide, mark it unclear and leave it out.
4. Write the rubric
From the user's reasons, write 3-6 criteria. Each one:
<criterion>: pass if <observable condition>; fail if <observable condition>.
Example pass: <short quote> Example fail: <short quote>The grader returns, per case, JSON: {"id", "verdict": "pass"|"fail", "failed_criteria": [], "reason"}.
Ask for the reason before the verdict. Binary verdicts agree far better than 1-10 scores.
5. Run the grader
Run it on the working set with any model you can call headlessly, e.g. a CLI in print mode reading the rubric plus one case per call. Use a fixed prompt and temperature 0 if the tool allows. Save every raw verdict.
6. Measure and fix
Agreement = cases where grader and user match / labelled cases. Also list false passes and false fails separately: a grader that passes bad output is worse than one that is strict.
For each disagreement, read the grader's reason. Then either sharpen a criterion, add an example of that case to the rubric, or, if the user's label looks inconsistent, ask the user again. Change one thing per round and re-run. Stop at about 90% agreement or after 3 rounds.
7. Check on the held-out set
Have the user label the held-out cases, run the grader once, and report agreement. If it drops well below the working-set number, the rubric was overfit: add cases and go back to step 4.
Report
Grader: <model/CLI> Rubric: <path> Cases: <n working> + <n held out>
Agreement: working <x%>, held-out <y%> False passes: <n> False fails: <n>
Cost per full run: <calls, est. tokens or $>
Known weak spots: <case types it still gets wrong>Rules
- The user's labels are the ground truth, not yours.
- Never tune on the held-out set.
- Re-check agreement whenever the rubric, the grader model or the kind of output changes.
- No paid API key without the user's okay and a cap.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

