Skill Tracer
Skills › Evals Skills

Evals Skills

Shreya Shankar and Hamel Husain · 9 skills · Apache-2.0 · ai-evals-course/evals-skills

Eval Skills is a set of nine skills that guide AI coding agents in building evals for a specific product, as opposed to benchmarks for foundation models. It is meant for teams evaluating their own LLM pipelines. An entry skill sends the user to error discovery, audits, judge writing, validation, synthetic data or RAG evaluation.

Why read it

  • You can see how a family of skills hands work between its members: each description says when not to use the skill and names the sibling to use instead, and a small routing skill holds only a table of situations.
  • You can learn how to turn hard-won domain practice into numeric thresholds an agent can check, such as data split sizes, TPR/TNR targets and sample counts, instead of vague advice.

How it does it the main ones a model picked out and a program checked, not every technique

Routing-only entry skill

evals-start is a single table that maps the user's situation to a skill. It tells the agent to say which skill it is loading, to follow that skill's whole workflow instead of improvising, and to ask the user when no row clearly fits. Keeping the entry point this small means it never drifts out of step with the workflows it points to.

Negative triggers in descriptions

Descriptions say when not to use a skill and name the alternative. That keeps sibling skills from overlapping when the agent picks one.

Check / Finding / Fix audit structure

eval-audit pairs each check with the artifacts to look for, the finding to record and the skill that fixes it, then sets a fixed report template. Its anti-patterns warn against running the audit as a checklist without inspecting real artifacts.

Explain the reason behind each rule

Rules come with the reason they exist, such as why Likert scales fail or why the critique comes before the verdict. Knowing the reason lets the agent apply the rule to new cases and spot real exceptions. For example, Likert scoring is allowed for filtering synthetic queries.

Worked examples with borderline cases

The judge skill includes full Pass, Fail and borderline examples, each with a critique, from one domain (real estate). It tells the agent that borderline cases teach the most, and it carries the same domain into the synthetic-data skill.

Precise UI implementation pitfalls

error-discovery spells out browser details an agent tends to get wrong. It covers keeping the text selection when a popover opens and how to compute margin-note offsets without counting the scroll offset twice. Each rule maps a dimension of the data to exactly one visual channel.

Guard against claiming unrun interactive work

The interactive skill tells the agent what to do in a non-interactive run: build and smoke-test the app, stop the server, and never claim the review loop ran. It also asks for progress updates at every phase.

Split a long skill into phase files

error-discovery covers phases 1–4 in SKILL.md and moves the ongoing review loop to review-loop.md. The agent reads the second file only once the app is running.

The skills, in the order they're used 9 skills

The main chainHand-offs, in order
Used along the wayCalled or required by the chain
Other ways inStart on their own and lead somewhere
Stand aloneCall or hand off to no other skill

How they connect

A model read each skill to find these. Top to bottom is the usual order. Select a box to read the skill, or a line to see the text behind it.

hands offcallsrequiresalternative
build-review-interface requires: error-discovery (only when adding failure mode tags after error analysis)error-discovery calls: build-review-interfaceeval-audit calls: build-review-interface (only if data is shown in raw format)eval-audit calls: error-discovery (only if error analysis was skipped)eval-audit calls: generate-synthetic-data (only if no traces exist)eval-audit calls: validate-evaluator (only for unvalidated judges)eval-audit calls: write-code-eval (only for objectively checkable criteria)eval-audit calls: write-judge-prompt (only for vague or non-binary judges)evals-start hands off: build-review-interface (when a custom annotation interface is wanted for another labeling task)evals-start hands off: error-discovery (when the user has traces and no established taxonomy)evals-start hands off: eval-audit (when an existing eval pipeline's trustworthiness is in question)evals-start hands off: evaluate-rag (when the pipeline to evaluate is a RAG pipeline)evals-start hands off: generate-synthetic-data (when there are no traces to review yet)evals-start hands off: validate-evaluator (when an existing judge or evaluator's quality needs checking)evals-start hands off: write-code-eval (when the known failure mode can be checked by code)evals-start hands off: write-judge-prompt (when the known failure mode needs an LLM judge)evaluate-rag requires: error-discoveryvalidate-evaluator requires: write-judge-promptvalidate-evaluator alternative: write-code-eval (for code-based evaluators)write-code-eval calls: validate-evaluator (when the rule uses a proxy for human judgment)write-code-eval requires: error-discoverywrite-code-eval and write-judge-prompt are alternativeswrite-judge-prompt hands off: validate-evaluatorwrite-judge-prompt requires: error-discoverybuild-review-interface: You or the agentbuild-review-interfaceYou or the agenterror-discovery: You or the agenterror-discoveryYou or the agenteval-audit: You or the agenteval-auditYou or the agentevals-start: You or the agentevals-startYou or the agentevaluate-rag: You or the agentevaluate-ragYou or the agentgenerate-synthetic-data: You or the agentgenerate-synthetic-dataYou or the agentvalidate-evaluator: You or the agentvalidate-evaluatorYou or the agentwrite-code-eval: You or the agentwrite-code-evalYou or the agentwrite-judge-prompt: You or the agentwrite-judge-promptYou or the agent

All skills 9

Every one is a skill. Started by: You or the agent.

SKILLDESCRIPTIONLINKS
build-review-interface
Build a custom browser-based annotation interface tailored to your data for reviewing LLM traces and collecting structured feedback. Use when you need to build an annotation tool, review traces, or collect human labels.
1
error-discovery
Run error analysis on a dataset. Build a review UI, select diverse samples, monitor annotations, and organize failure modes.
1
eval-audit
Audit an LLM eval pipeline and surface problems: missing error analysis, unvalidated judges, vanity metrics, etc. Use when inheriting an eval system, when unsure whether evals are trustworthy, or as a starting point when no eval infrastructure exists. Do NOT use when the goal is to build a new evaluator from scratch (use error-discovery, write-judge-prompt, or validate-evaluator instead).
6
evals-start
Entry point for evals. Use when the user asks for help with evals, does not know where to begin, or asks for something no other skill in this plugin matches. Do NOT use when a more specific skill in this plugin already matches; load that skill directly.
8
evaluate-rag
Guides evaluation of RAG pipeline retrieval and generation quality. Use when evaluating a retrieval-augmented generation system, measuring retrieval quality, assessing generation faithfulness or relevance, generating synthetic QA pairs for retrieval testing, or optimizing chunking strategies.
1
generate-synthetic-data
Create diverse synthetic test inputs for LLM pipeline evaluation using dimension-based tuple generation. Use when bootstrapping an eval dataset, when real user data is sparse, or when stress-testing specific failure hypotheses. Do NOT use when you already have 100+ representative real traces (use stratified sampling instead), or when the task is collecting production logs.
0
validate-evaluator
Calibrate an LLM judge against human labels using data splits, TPR/TNR, and bias correction. Use after writing a judge prompt (write-judge-prompt) when you need to verify alignment before trusting its outputs. Do NOT use for code-based evaluators (those are deterministic; test with unit tests per `write-code-eval`).
2
write-code-eval
Write code evaluators for known failure modes with objective rules. Use when code can check the rule from a trace, with or without a reference answer. Use `write-judge-prompt` when the rule requires interpretation.
3
write-judge-prompt
Design LLM-as-Judge evaluators for subjective criteria that code-based checks cannot handle. Use when a failure mode requires interpretation (tone, faithfulness, relevance, completeness). Do NOT use when the failure mode can be checked with code (regex, schema validation, execution tests); use `write-code-eval`. To validate an existing judge, use `validate-evaluator`.
3

From ai-evals-course/evals-skills at 80d5f7b, 2026-09-24. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.