Evalpilot
Skill avnath13/evalpilot
Agent evals on autopilot: find quality bugs in your AI agent, ship a targeted fix, and prove it on a held-out set. Zero-dependency Agent Skill + CLI.
npx -y skills add avnath13/evalpilotAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 20 days oldThe repository was created 20 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 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.
What its author says it does
Copied from the file, not written here
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".
SKILL.md
4.1 KB, 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
- Read
evalpilot.config.yaml. Validate againstevalpilot/schemas/evalconfig.schema.json. If it is missing, scaffold one from the template and ask the user to fillgoal,targets, andagent_under_test, then stop. - 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 asource_trace_id(the "skip if traces exist" edge).data.source = synthetic(or no traces exist) → invoke user-simulator first to bootstrapscenarios.jsonl, then stage ①.data.otel_endpointset → 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:
- prepare-data (iteration 1 only, unless the eval set is stale) →
evalset.jsonl. - run-inference →
runs/<runId>/*.trace.json(skips trace-origin cases; sandbox only). - grade →
runs/<runId>/verdicts.jsonl. Always runs. - 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. - analyze-failures → append to
report.md, writeclusters.json(root-cause clusters with afix_kind). - Fix-before-eval gate: if the top cluster's
fix_kindiscode/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. - 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.
- All targets met → stop. Emit final
- 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.