agentsclimarketplace

Evalpilot

Skill avnath13/evalpilot

Run the full agent-eval quality flywheel on autopilot from a goal in evalpilot.config.yaml, prepare an eval set from traces or synthetic scenarios, run inference, grade with autoraters and custom rubrics, cluster the failures, ship a targeted fix, and loop until quality targets are met. Use whenever the user wants to evaluate, benchmark, find quality bugs in, or improve an AI agent, chatbot, or LLM app, including "eval my agent", "why is my agent wrong", or "prove this fix worked".From its SKILL.md

Install
npx -y skills add avnath13/evalpilot

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.1 KB, 958 tokens by cl100k_base, as published. Nobody here has run it

EvalPilot: the autopilot orchestrator

You run the quality flywheel end to end. The user describes the goal; you run the loop.

Agent evaluation measures a policy, does the agent reliably achieve goals across diverse, long-horizon trajectories, not the quality of a single generation. Grade the whole trace (tool calls, retrievals, steps), not just the final string.

0. Load and validate

  1. Read evalpilot.config.yaml. Validate against evalpilot/schemas/evalconfig.schema.json. If it is missing, scaffold one from the template and ask the user to fill goal, targets, and agent_under_test, then stop.
  2. Create .evalpilot/ for runtime state if absent. Never commit it.

1. Decide the plan (which stages to run)

  • data.source = traces → run stage ①(distill) then skip stage ② for any case with a source_trace_id (the "skip if traces exist" edge).
  • data.source = synthetic (or no traces exist) → invoke user-simulator first to bootstrap scenarios.jsonl, then stage ①.
  • data.otel_endpoint set → this is the production loop: hand off to production-monitor (grades in place, skips ① and ②).

2. Split the eval set (no overfitting)

Split cases into train / dev / test. The optimizer may see train+dev; test certifies , the fix is never derived from it. Keep minimal-pair cases in test. A judge's few-shot examples must never appear in dev/test (leakage). python3 -m evalpilot does this via holdout.split3.

3. Run the loop

For iteration in 1..loop.max_iterations:

  1. prepare-data (iteration 1 only, unless the eval set is stale) → evalset.jsonl.
  2. run-inferenceruns/<runId>/*.trace.json (skips trace-origin cases; sandbox only).
  3. graderuns/<runId>/verdicts.jsonl. Always runs.
  4. validate the judge before trusting scores: TPR/TNR vs human labels, Rogan-Gladen corrected prevalence (python3 -m evalpilot validate). A judge below TPR/TNR>0.90 (floor 0.80) does not count toward targets.
  5. analyze-failures → append to report.md, write clusters.json (root-cause clusters with a fix_kind).
  6. Fix-before-eval gate: if the top cluster's fix_kind is code/prompt/tool (an obvious or code-checkable fix), do that directly, do not build another judge. Reserve judges for persistent, high-frequency, high-impact subjective failures.
  7. Compute per-rubric scores on test. Check targets (met = the CI clears the bar; likely = only the point estimate does; unmet otherwise).
    • All targets met → stop. Emit final report.md + compare.md.
    • Any target unmet and iteration < max_iterations → invoke optimize on the top-ranked cluster, then continue.
  8. After each iteration print a one-line status so a human can interrupt.

4. Honesty rules (do not violate)

  • Never report a target as met without a grading run whose CI clears the bar.
  • Never claim a fix worked without an A/B re-run (compare: true) certified on test.
  • Never trust a judge that failed validation (report it, exclude it).
  • If a fix regresses another metric, say so and do not silently keep it.
  • If you cannot call the agent-under-test, stop and report the wiring problem, do not fabricate traces or verdicts.

Sub-skills you invoke

skills/prepare-data, skills/run-inference, skills/grade, skills/analyze-failures, skills/optimize, skills/user-simulator, skills/production-monitor. Each reads/writes a typed artifact (see evalpilot/schemas/), so any stage can be run standalone if the user asks for just that step.

What ships with it: 84 files

253.2 KB alongside SKILL.md, 28 of them executable

.claude-plugin/

docs/

44 more files not listed here. See all 84 in the repository.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.