agentleFS
zircotezircote/improver/skills/grade-enrichment/SKILL.md

grade-enrichment

Skill0 starsChanged 4 months agoMITView on GitHub

This skill should be used when the user asks to "grade this enrichment", "grade this improved prompt/goal/loop", requests a "graded enrichment", or asks "how good is this enriched artifact". Strictly opt-in — the improve skills never invoke it. Selects a grader type per the researched tradeoffs and, for LLM-based grading, verifies a shipped calibration record (golden-set agreement) before trusting a verdict.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read the matching rule pack from ${CLAUDE_PLUGIN_ROOT}/rules/ for the artifact's kind (prompt, goal, or loop).

    line 36
  2. Distinctive:

    Run every code-based check that applies (placeholders, budget, mandatory loop gates).

    line 39
  3. Very specific:

    Before trusting any LLM-based verdict, read ${CLAUDE_PLUGIN_ROOT}/golden/calibration-record.json.

    line 49
  4. Distinctive:

    Record missing, unreadable, or below threshold: DO NOT throw, block, or refuse.

    line 58
  5. Distinctive:

    Never invoke this skill from an improve skill.

    line 84
  6. Distinctive:

    Never emit a trusted LLM-based verdict without a calibration record meeting threshold.

    line 86

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Grade Enrichment

Grade an enriched prompt, goal, or loop spec against its rule pack. This skill is strictly opt-in: run it only when the caller explicitly requests a graded enrichment. The improve skills never chain into it.

Grader selection

Select the grader type per the named tradeoffs in anthropic-agent-eval-grader-types-transcript-grading (see ${CLAUDE_PLUGIN_ROOT}/rules/findings-index.json):

  • Code-based (deterministic): for mechanically checkable properties — placeholder tokens present/absent (grep -E '\[[A-Z_]+\]'), character count vs the pack's budget_chars (wc -c; skip this check when budget_chars is null), presence of required structural elements. Cheap, exact, no calibration needed. Always run these first. When the artifact is a file path, run wc/grep on the file; when it is inline text, perform the placeholder scan and character count by direct inspection — never stage inline text through the shell (no heredocs/herestrings).
  • LLM-based (rubric judging): for judgment properties — clarity, two-expert unambiguity, right-altitude. Requires calibration (below) before its verdict is trusted.
  • Human: recommend when verdicts carry consequences the caller must own, or when calibration is unavailable and the caller declines self-calibration.

Grading procedure

  1. Read the matching rule pack from ${CLAUDE_PLUGIN_ROOT}/rules/ for the artifact's kind (prompt, goal, or loop). If the kind is not stated and not obvious from the artifact's shape, ask — never guess.
  2. Run every code-based check that applies (placeholders, budget, mandatory loop gates).
  3. For the judgment rules, apply LLM-based rubric grading — reason first, then verdict, per rule: does the artifact satisfy the rule, yes or no, and why.
  4. Report per-rule verdicts (rule id, pass/fail, one-line reason, the rule's finding_refs) and an overall verdict: pass only when every applicable rule passes.

Calibration gate — graceful, never blocking

Before trusting any LLM-based verdict, read ${CLAUDE_PLUGIN_ROOT}/golden/calibration-record.json.

  • Record present and agreement ≥ 0.75 (the 75-90% human-agreement band from llm-as-judge-golden-dataset-calibration; this skill's 0.75 governs — the record's own threshold field is informational): proceed; note the recorded agreement, date, and grader_model in the report. When the current model differs from the recorded grader_model, say so and offer (never require) re-calibration.
  • Record missing, unreadable, or below threshold: DO NOT throw, block, or refuse. Report the code-based results normally, mark every LLM-based verdict explicitly as UNCALIBRATED, and offer to self-calibrate: for each case in ${CLAUDE_PLUGIN_ROOT}/golden/{prompt,goal,loop}/, extract only the draft and enriched fields (grep -E '"(draft|enriched)"' <file> — never Read the whole file, which would expose human_verdict and break blindness), grade each blind, then compare against the human verdicts (readable only after all blind verdicts are made), compute agreement, and present the result. If self-calibration agreement is ≥ 0.75, treat this session's LLM verdicts as calibrated for this session only — the result cannot be persisted (this skill has no write access); otherwise recommend human grading. The golden sets ship with the plugin precisely so a fresh install can always do this.

Output format

Report:

  1. Grader type(s) selected and why (one line).
  2. Calibration status (agreement %, run date — or UNCALIBRATED + the self-calibration offer).
  3. Per-rule verdict table: rule id | pass/fail | reason | finding_refs.
  4. Overall verdict with the failing rules named, if any.

Critical rules

  • Never invoke this skill from an improve skill; grading is the caller's explicit request only.
  • Never emit a trusted LLM-based verdict without a calibration record meeting threshold; never block or error out over a missing record either — degrade to UNCALIBRATED + the self-calibration offer.
  • Code-based checks are always reported, calibrated or not.
  • Cite finding_refs for every rule verdict; resolve shorthands via rules/findings-index.json on request.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.