Skip to content
cccskills
FreePublished on GitHub

jevaluate-eval

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (60)

  • 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
  • codex-notes.md0 B
  • 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
  • images/answer-form-dark.png247.0 KB
  • images/answer-form-light.png241.3 KB
  • images/eval-pipeline-dark.png908.2 KB
  • images/eval-pipeline-light.png785.1 KB
  • lint_materials.py7.7 KB
  • new-cases/cards.json17.3 KB
  • new-cases/case-answers.html50.0 KB
  • new-cases/labeler-prompt.md2.4 KB
  • new-cases/notes.json8.1 KB
  • pick_files.py2.2 KB
  • quiz/build_answer_form.py13.7 KB
  • quiz/expected.json1.7 KB
  • quiz/quiz-answers.html96.6 KB
  • quiz/run_quiz.py2.6 KB
  • quiz/scenarios-raw.json9.8 KB
  • quiz/scenarios.json13.6 KB
  • quiz/score_quiz.py1.7 KB
  • quiz/test_answer_form.py10.3 KB
  • quiz/test_score_quiz.py929 B
  • quiz/writer-prompt.md1.1 KB
  • rater_agreement/rater_agreement.py9.0 KB
  • rater-agreement.md4.5 KB
  • README.md4.7 KB
  • results/2026-09-28-guide-run1.md1.2 KB
  • results/2026-09-30-baseline-run1-failed.md1.8 KB
  • results/2026-09-30-baseline.md1.9 KB
  • results/2026-09-30-quiz.md3.5 KB
  • results/2026-10-02-codex-gpt-6-sol.md4.4 KB
  • results/2026-10-05-rubric-2026-09-29.1-targeted.md2.4 KB
  • results/2026-10-06-rubric-2026-09-29.2-targeted.md3.2 KB
  • run_eval.py6.7 KB
  • runners.py6.2 KB
  • score.py11.4 KB
  • sources.json5.9 KB
  • task.md1.7 KB
  • test_build_cards.py4.9 KB
  • test_check_labels.py4.3 KB
  • test_compare_runs.py2.1 KB
  • test_evals.py25.4 KB
  • test_grader_view.py2.3 KB
  • test_guide.py1.6 KB
  • test_lint.py5.0 KB
  • test_pick_files.py3.2 KB
  • test_rater_agreement.py2.5 KB
  • test_runners.py5.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Legacy. Use only when images (photos, illustrations, screenshots) must reach TypeSafe's Jev (System One) model as text, because the request can't send the `TypeSafe-Danger-Zone-Images` header that lets Jev read images directly. Triggers on "turn this photo into a Jev state", "describe these images for Jev", "decode images for System One", or a Jev project whose decision depends on what a picture shows. Handles 1 to about 100 images; produces a neutral, complete decode and a JSON state, checked against Jev.

The English summary is being prepared. Showing the original description.

tiffygk/jev-mode12Updated Oct 16, 2026

Finds and quotes TypeSafe's docs on Jev, including Noul, Choice, Score and Box questions, models and limits. Use when a question, review, design or claim involves Jev or System One, when briefing a subagent on Jev work, or when relaying a subagent's Jev finding.

The English summary is being prepared. Showing the original description.

tiffygk/jev-mode12Updated Oct 16, 2026

Use when rating whether a project, repo, skill, workflow, plugin, agent product or post uses TypeSafe's Jev (System One) model well -- "is this a good use of Jev?", "rate this Jev integration", "jevaluate <url>", or a link to something named after Jev; also when checking whether something that calls itself Jev actually uses it.

The English summary is being prepared. Showing the original description.

tiffygk/jev-mode12Updated Oct 16, 2026

Use when running a jevaluate rating round, re-rating after a rubric change, changing the jevaluate rubric, or publishing ratings to the jev-mode ratings folder.

The English summary is being prepared. Showing the original description.

tiffygk/jev-mode12Updated Oct 16, 2026

Rates a project with Jevaluate and keeps the rating private, with the same rubric and checks, a private library that export refuses, and nothing pushed or published. Use when a rating must stay private, such as "/jevaluate-private" followed by a link or folder, "rate this privately", "evaluate my own project", a client's or employer's code, a design doc or a local folder that isn't public, or any rating that must not reach the public ratings or the repo.

The English summary is being prepared. Showing the original description.

tiffygk/jev-mode12Updated Oct 16, 2026

See all skills by tiffygk

Report a problem with this skill