Evals

Grades AI agent outputs with deterministic assertions and LLM judges across multi-trial eval suites.

Updated Sep 3, 2026
One-click install
npx skills add https://github.com/ruban-s/DevOS --skill evals-ruban-s
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Evals
Source: https://github.com/ruban-s/DevOS/tree/main/skills/Evals
Command: npx skills add https://github.com/ruban-s/DevOS --skill evals-ruban-s

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @ai-sdk/anthropic, @langwatch/scenario, ai, yaml, and includes scripts (resource) and references (resource) components.

What problem does it solve? AI agents claim success without proof, and prompt or model changes ship without evidence they actually improved anything. This Skill turns output quality into measurable, repeatable test suites so regressions and improvements are caught by running checks instead of gut feel. ## Core Features & Use Cases - Assertion-first grading: Each eval case pairs a prompt with deterministic asserts (equals, contains, regex, is-json, length bounds) plus model-graded asserts (llm-rubric, llm-assert) for nuance only a reader can judge. - pass^k / pass@k scoring: Cases run multiple trials, reporting pass^k (every trial passed) for reliability-critical behavior alongside pass@k, with full transcripts persisted per run. - Comparison workflows: A/B test prompt versions or inference rungs (low/medium/high/max) with position swapping, significance testing, and recorded decisions. - Use Case: After editing your agent's system prompt, run the core-dispositions regression suite to verify the behavioral changes hold, then read the per-case transcripts before trusting the score. ## Quick Start Run the eval suite named core-dispositions with three trials and show me which cases failed and why.

Frequently Asked Questions about Evals

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an eval suite for an AI agent?▼

Write a YAML suite file with a name, type (capability or regression), pass_threshold, agent_level, judge_level, trials, and a cases list where each case has an id, prompt, and assert array. Run it with the EvalRunner tool using the suite name flag.

What is the difference between pass@k and pass^k in evals?▼

pass@k reports whether any trial passed, while pass^k requires every trial to pass, making it the honest metric for reliability-critical behavior. A flaky case passing two of three trials scores pass@k of 1 but pass^k of 0.

When should I use deterministic asserts versus an LLM judge?▼

Use deterministic asserts (contains, regex, is-json, length bounds) for any mechanical property since they are free and exact. Reserve llm-rubric and llm-assert for nuance only a reader can catch, targeting roughly 60/40 deterministic-to-model weight.

Why must the judge level differ from the agent level?▼

A judge sharing the subject's inference rung flatters it, degrading discrimination between good and bad outputs. The default pairs a medium subject with a high judge, and close calls benefit from multi-judge panels.

Can I compare two prompt versions statistically?▼

Yes, the ComparePrompts workflow runs each variant against the same suite with position swapping to counter presentation bias, then reports p-values and confidence intervals. Pre-commit your success criterion and falsifier before running.

What are the limitations of single-shot eval runs?▼

Single-shot subjects have no tools, so agentic system prompts make them narrate tool calls instead of answering; EvalRunner appends an evaluation-context suffix to counter this. Multi-turn behavior requires the separate scenario runner with an Anthropic API key.