agent-eval-tests

Write and debug evalite-scored agent evals with deterministic assertions and LLM-judge scorers.

518|49|Updated Apr 7, 2021
One-click install
npx skills add https://github.com/dxos/dxos --skill agent-eval-tests
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: agent-eval-tests
Source: https://github.com/dxos/dxos/tree/main/.agents/skills/agent-eval-tests
Command: npx skills add https://github.com/dxos/dxos --skill agent-eval-tests

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Writing reliable evals for AI agents is hard: trusting the agent's self-reported success is unreliable, deterministic checks are tricky to wire against a live database, and LLM-judge scorers are easy to misuse. This Skill provides the patterns, APIs, and hard-won debugging knowledge for building evalite-scored agent evals in the DXOS assistant-evals package.

Core Features & Use Cases

  • Eval authoring with createEvalRunner: Boot a full Composer test harness, run a real prompt against the live agent stack, and grade outcomes with scorers.
  • Deterministic DB assertions: Use objectExists, findObject, completedBlocks, and toolInvocations to verify real database effects and tool calls instead of trusting agent self-reports.
  • LLM-judge scorers: Apply the judge() helper for open-ended quality criteria, with guidance on demonstrating failure cases and avoiding overuse.
  • Use Case: You need to add an eval verifying the agent creates an Organization object in the database. Use this Skill to scaffold the eval file, add a dbQuery assertion, configure timeouts, and avoid known pitfalls like stale dist imports or tool-name mismatches.

Quick Start

Ask the AI to create a new eval file in packages/core/compute/assistant-evals/src/evals that verifies the agent creates a named object in the database using createEvalRunner and an objectExists assertion.

Frequently Asked Questions about agent-eval-tests

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

FAQPage Schema
How do I write an evalite eval for an AI agent?

Create an eval file using createEvalRunner with instructions, input/output Effect Schemas, and an optional dbQuery assertion, then pass it to evalite() with data and scorers. Scorers grade the returned output, typically checking a deterministic database query result.

How do I verify an agent actually called a tool in an eval?

Use the toolInvocations() assertion, which pairs toolCall and toolResult blocks into records with name, operationKey, input, and result. Match tools by operationKey, not name, since display names vary between providers.

When should I use an LLM judge instead of a deterministic assertion?

Use judge() only for genuine content-quality criteria that deterministic checks cannot grade, such as whether generated text is a well-formed poem. Always add a case proving the judge can fail, and keep deterministic dbQuery checks for everything else.

Why does my agent eval time out around 60 seconds?

The default timeout in createEvalRunner is 60,000 milliseconds, which bounds each eval run. Pass an explicit timeout option for multi-tool scenarios rather than changing global vitest or evalite config.

Can agent evals run in CI without an API key?

No, these evals require a real DX_ANTHROPIC_API_KEY and are excluded from CI workflows. They run manually via moon or npx evalite, with the key pulled from the 1Password CI vault in this repo.