behavioral-evals

Create, debug, and promote behavioral evaluations that validate agent tool-choice decisions.

Updated Mar 22, 2026
One-click install
npx skills add https://github.com/bkrsna/gemini-cli --skill behavioral-evals-bkrsna
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: behavioral-evals
Source: https://github.com/bkrsna/gemini-cli/tree/main/.gemini/skills/behavioral-evals
Command: npx skills add https://github.com/bkrsna/gemini-cli --skill behavioral-evals-bkrsna

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve? Prompt and tool changes can silently alter an AI agent's decision-making, and standard unit tests cannot catch these regressions. This Skill provides a structured workflow for writing, fixing, and promoting behavioral evaluations that verify how the agent chooses tools and responds to prompts. ## Core Features & Use Cases - Eval Creation Guidance: Choose between evalTest (subprocess TestRig) and appEvalTest (in-process AppRig), seed realistic workspaces, and write assertions using breakpoints, tool-log audits, and mock MCP servers. - Failure Debugging: Follow a step-by-step investigation process using nightly CI logs, local Vitest runs, and prompt-tuning strategies grounded in snippets.ts. - Test Promotion: Identify stable USUALLY_PASSES tests with 100% pass rates over 7 nightly runs and promote them to ALWAYS_PASSES regression suites. - Use Case: After editing a system prompt, write a behavioral eval that asserts the agent calls read_file within the first five turns, run it locally three times across Gemini models, then promote it once stable. ## Quick Start Ask the agent to create a new behavioral eval that verifies the agent reads a file before editing it in a seeded NodeJS workspace.

Frequently Asked Questions about behavioral-evals

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

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

Use evalTest for standard subprocess tests or appEvalTest for UI interactions, seed a realistic workspace with files like package.json, and assert on tool logs via rig.readToolLogs(). New tests must start with the USUALLY_PASSES policy and a timeout budget.

What is the difference between evalTest and appEvalTest?

evalTest runs the CLI in a subprocess and waits for exit, so breakpoints cause deadlocks; use tool-log auditing instead. appEvalTest runs in-process, making it safe for setBreakpoint and interactive confirmation flows.

How do I fix a failing behavioral eval in CI?

Fetch nightly results with the gh CLI, reproduce locally with Vitest, and read logs in evals/logs. Prefer fixing tool descriptions or system prompts in snippets.ts over changing the test prompt, and verify stability across three runs per model.

When can a USUALLY_PASSES test be promoted to ALWAYS_PASSES?

A test qualifies for promotion after passing 100% of the time across all enabled models over the last 7 consecutive nightly runs. The promotion change must be minimal, updating only the policy argument without refactoring the test.

Why does my eval hang when using setBreakpoint?

Breakpoints pause execution, but standard evalTest waits for the process to exit before assertions run, causing an indefinite hang. Use breakpoints only with appEvalTest, or audit tool logs after completion for subprocess-based tests.