Best for
- An LLM-as-judge / LLM grader and how to keep it honest
- Why eval scores look inflated, noisy, or contradictory
- Which eval framework to use, or how to integrate one
vasilyu1983/AI-Agents-public/frameworks/shared-skills/skills/ai-evals/SKILL.md
Designs trustworthy LLM/agent evals and optimization loops. Use when building graders, calibrating judges, choosing eval/fine-tune methods, thresholds, or fixing noisy scores.
Decision brief
Core stance: an eval is an instrument. An untrusted instrument is worse than no instrument, because it produces confident wrong numbers that ship regressions. Fine-tuning is an optimization loop around that instrument. If the instrument is weak, training just makes the model bet…
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Declared | Source record | Install path and trigger |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/ai-evals"Inspect the Agent Skill "ai-evals" from https://github.com/vasilyu1983/AI-Agents-public/blob/53f6cb73ea53a2646e3e7d4665062ad66f3683ac/frameworks/shared-skills/skills/ai-evals/SKILL.md at commit 53f6cb73ea53a2646e3e7d4665062ad66f3683ac. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Transform the vague ask into a verifiable goal. "Is it good?" is not gradeable. Ask: which case would fail first if the requirement reverted? 2. Build the dataset before the grader. Source real questions, author ideal answers from the system's allowed context, and plan the ru…
Review the “ASCII Flow” section in the pinned source before continuing.
Review the “Quick Reference” section in the pinned source before continuing.
Activate when the user asks for:
Domain metrics for retrieval (nDCG/MRR/recall, faithfulness) - ai-rag
Permission review
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 82 | Source | Repository attention, not individual Skill quality |
| Compatibility | 2 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Core stance: an eval is an instrument. An untrusted instrument is worse than no instrument, because it produces confident wrong numbers that ship regressions. Fine-tuning is an optimization loop around that instrument. If the instrument is weak, training just makes the model better at gaming bad measurement. This skill is the cross-domain methodology layer that domain eval and model-lifecycle skills defer to: how to keep an LLM-as-judge honest, integrate eval frameworks, choose between prompting/context/tools/test-time compute/SFT/preference/RFT/PEFT/ distillation, derive thresholds instead of guessing them, and stop flaky runs or training leakage from masquerading as progress.
This is the methodology umbrella for evals. Domain skills own what to measure; this skill owns whether you can trust the measurement.
huggingface-skills: plugin (external)eval need
|
v
define verifiable goal (what would FAIL if the requirement reverted?)
|
v
choose grader
deterministic check -> LLM-as-judge -> human label (cheapest that works)
|
v
control judge bias
position / length / self-preference / verbosity
|
v
derive thresholds from a labeled calibration set (not vibes)
|
v
choose optimization path (prompt/RAG/tools -> SFT -> preference/RFT/PEFT)
|
v
choose inference-time lift (self-consistency / rerank / verify / refine)
|
v
control flake (pass@k, low temp, quarantine unstable cases)
|
v
trustworthy gate -> train / block / ship / rollback
| Task | Read or Run | Outcome |
|---|---|---|
| Build a (question, ideal-answer) set and tune it | references/dataset-construction.md | Sourcing, ideal-answer authoring, run→compare→tune loop |
| Stop a judge from rating its own output high | references/llm-judge-bias.md | Self-preference, position, length, verbosity controls |
| Pick / wire an eval framework | references/framework-integration.md | inspect-ai, lighteval, Ragas, DeepEval, promptfoo, Braintrust integration snippets + when to use each |
| Choose a pass threshold defensibly | references/threshold-derivation.md | Derive thresholds from a labeled set; inter-rater agreement; gate design |
| Stop flaky runs reading as regressions | references/flake-and-reproducibility.md | pass@k, seeds, temperature, quarantine, contamination/leakage |
| Decide if "A beats B" is real, size the set | references/eval-statistics.md | Bootstrap CIs, McNemar, power/MDE sizing, FDR, variance reduction |
| Get maximum from an LLM | references/llm-optimization-technique-map.md | Technique ladder across prompts, data, RAG/tools, test-time compute, SFT, preference/RFT, PEFT, distillation |
| Decide whether and how to fine-tune | references/fine-tuning-eval-loop.md | Prompt/RAG/tool baseline, SFT vs preference/RFT vs PEFT, split hygiene, promotion gates |
| Evaluate on live/production traffic | references/online-production-eval.md | Offline-online correlation, A/B+guardrails, shadow/canary, drift, regression replay, HITL |
| Evaluate refusals, jailbreaks, harm | references/safety-redteam-eval.md | Over/under-refusal, ASR per attack family, injection, harm rubrics, robustness |
| Go beyond one judge | references/advanced-judging.md | Juries, fine-tuned judges, CoT/probability scoring, calibration (kappa/ECE), agentic reward |
Activate when the user asks for:
huggingface-skills: plugin (external)references/dataset-construction.md. No dataset, no eval.references/llm-judge-bias.md. Untreated judge bias is the #1 source of
confidently-wrong eval scores. When one judge isn't enough (high stakes, weak
agreement, open-ended), escalate to juries / fine-tuned judges / calibrated
scoring — see references/advanced-judging.md.references/flake-and-reproducibility.md.references/threshold-derivation.md. Size the gating set and
judge "A beats B" with statistics (bootstrap CIs, McNemar, power/MDE, FDR) —
see references/eval-statistics.md. A score difference without a CI is not a
result.references/fine-tuning-eval-loop.md. Training loss is telemetry; held-out
behavior is the verdict.references/llm-optimization-technique-map.md. Each technique gets its own
failure mode and gate.references/safety-redteam-eval.md — and, once
in production, online evaluation (offline-online correlation, A/B with
guardrails, drift, regression replay) — see references/online-production-eval.md.
The offline gate is a filter; production is the verdict.references/eval-statistics.md.>95% threshold from a blog without validating it on your dataResources:
Related skills:
validate, not promote,
until they beat a strong local baseline with cost/latency/safety gates.Before applying this skill on a non-trivial task, read learnings.consolidated.md
(and learnings.md if present). After applying it, append one dated bullet to
learnings.md via agents-skills-feedback-loop/scripts/append_learning.py if you
hit a pattern, mistake, or surprising fact. Do not modify SKILL.md itself.
Frequently asked questions
Core stance: an eval is an instrument. An untrusted instrument is worse than no instrument, because it produces confident wrong numbers that ship regressions. Fine-tuning is an optimization loop around that instrument. If the instrument is weak, training just makes the model bet…
The source record exposes this install command: npx skills add https://github.com/vasilyu1983/AI-Agents-public --skill "frameworks/shared-skills/skills/ai-evals". Inspect the command and pinned source before running it.
The pinned source record declares support for: codex, claude code.
Alternatives
PramodDutta/qaskills
Optimize resumes for Applicant Tracking Systems, check ATS compatibility, and analyze keyword match
vasilyu1983/AI-Agents-public
Configures Claude Code hooks and Codex hooks.json/notify callbacks. Use when adding guardrails, preflight, audit trails, worktree automation, or budget enforcement.
vasilyu1983/AI-Agents-public
Guides iOS testing with XCTest, XCUITest, Swift Testing, simctl, and xcresult. Use when choosing destinations, controlling flakes, or parsing test artifacts for native apps.
samber/cc-skills-golang
Monadic types for Golang using samber/mo — Option, Result, Either, Future, IO, Task, and State types for type-safe nullable values, error handling, and functional composition with pipeline sub-packages. Apply when using or adopting samber/mo, when the codebase imports `github.com/samber/mo`, or when considering functional programming patterns as a safety design for Golang.