Skip to content
Back to skills

Jevaluate Eval

ASecurity

Use when testing whether the jevaluate rubric and instructions lead graders to the right answers: after a rubric or instruction change, before freezing a rubric, before publishing ratings, or when a grader's calls look wrong.

  • 11 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 16, 2026
ai-agentsgotesting

Works with

  • cli

Security analysis

A100/100

Pro scans all 15 files and shows the line behind each finding

Scanned October 16, 2026

npx -y skills add tiffygk/jev-mode --skill jevaluate-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jevaluate Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jevaluate Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tiffygk-jevaluate-eval/badge)](https://www.skillsdirectory.com/skills/tiffygk-jevaluate-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jevaluate-eval
description: "Use when testing whether the jevaluate rubric and instructions lead graders to the right answers: after a rubric or instruction change, before freezing a rubric, before publishing ratings, or when a grader's calls look wrong."
---

# Jevaluate Eval

Tests whether graders apply the jevaluate rubric correctly, and proposes wording fixes. It never edits `rubric.md`, `read.md` or the library. If `$JEVALUATE_OVERLAY` is set, read that file first; its rules override the defaults here.

The scripts are in `jevaluate-eval/` (the quiz in `jevaluate-eval/quiz/`); every command is in `commands.md`. The runners refuse while `jevaluate/` or `jevaluate-harness/` has uncommitted changes, or `main` is ahead on them: commit or merge first.

## Four instruments, in order
Before each, tell the owner in one line which runs next and what it tests.

1. **Materials check: does what a grader reads say what the rules mean?**
   - `lint_materials.py` must print "lint clean": allowed values, eval-case names, em-dashes, named files, a `jevaluate/enforcement.md` row for every rule, and no sentence over 35 words added since the newest freeze.
   - A fresh reviewer, briefed as a grader, reads them for contradictions.
   - `build_grader_view.py <out.html>` builds the step-by-step view: the rater's start files, what `step.py` serves at each phase, every stakes row, and the eval grader's prompt. The owner reviews it. Schedule that review after any planned task that moves instructions into code, never before.
2. **Quiz: does a grader understand the rules on invented projects?**
   - Ask the owner how many scenarios they'll answer. Default 12: 8 tuning, 4 held out.
   - A writer that never sees the rules writes them (a headless call with no tools). Rewrite any that share 8 words with a rubric example or name an eval case.
   - The owner answers first, on `build_answer_form.py --count N`: type, calls Jev, verdict-1 code and stakes as read, with the type definitions beside each row. Save copies to the clipboard. `build_answer_form.py --key <answers.json>` derives kind and every n.a., and refuses contradictory answers: take each refusal line to the owner.
   - Show each disagreement with your reading, one scenario at a time, with the rule behind it. The owner rules; that is the key.
   - Draw the held-out set at random (record the seed), only after the key and any wording it triggered are final. In the results, name held-out scenarios whose discussion fed wording.
   - Red control first: `run_quiz.py --system vocab` gives only the vocabulary and should miss most answers; at 80% or more, the scenarios give their answers away. Report which rule tags the control passes: those scenarios check that the rules don't confuse a grader, not that it learned them. Then `run_quiz.py --system routing --reps 3` and `score_quiz.py`.
3. **Judgment eval: does a grader route real projects correctly?** `run_eval.py --phase baseline|after --out <runs>/<run>` (runs folder: `$JEVALUATE_RUNS` when set, else `.work/`), then `score.py <run>`. Every gold answer must be provable from its packet; held-out labels come from blind labelers, and the owner answers before seeing them.
   - New cases: packets follow `pick_files.py`. Each blind label goes through `check_labels.py run`, which applies the same call-line rule as `library.py check` and reruns a refused label once, keeping both. The owner answers on the same form as the quiz, built with `build_answer_form.py --cards`: the same fields, the type definitions beside each row, answers kept in the browser and saved to the clipboard. Each row is an evidence card from `build_cards.py` (call lines, README claims, acting lines, one plain sentence each), never a verdict; the card script refuses type, code and stakes words. Acting lines follow the answer to whoever it reaches: quote the line that acts and a line that shows who sees or receives the result (a README usage example counts), so the owner can read stakes and type without the code.

4. **Rater agreement: do two raters agree, and is either right?** For a second rater, such as another model, on real projects. Follow `rater-agreement.md`: name the tuning sample first, lead with held-out agreement and kappa (`rater_agreement/rater_agreement.py agreement`), then score both raters against an answer key the owner labels blind (`facts`, `draw`, `score`). Agreement claims consistency only.

## Rules
- Fix wording only against tuning misses, never naming a held-out scenario or an eval case. Each fix goes to the owner as a before-and-after before the rerun.
- Report per rule tag, propose one wording fix per missed rule, and stop.

Files in this skill

  • README.md4.7 KB
  • SKILL.md4.6 KB
  • build_cards.py5.6 KB
  • build_grader_view.py9.7 KB
  • build_packets.py4.3 KB
  • cases/email-tagger.md912 B
  • cases/refund-bot.md882 B
  • check_labels.py5.4 KB
  • commands.md1.8 KB
  • compare_runs.py5.5 KB
  • conftest.py653 B
  • gold.json3.3 KB
  • guide_gold.json734 B
  • guide_task.md314 B
  • guide_test.py4.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.