/agent-evaluation
Testing and benchmarking LLM agents including behavioral testing,
$ npx -y skills add sickn33/antigravity-awesome-skills --skill agent-evaluation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/agent-evaluation
Context preview
The summary Claude sees to decide when to auto-load this skill.
Testing and benchmarking LLM agents including behavioral testing,
SKILL.md
agent-evaluation.SKILL.mdname: agent-evaluation
description: Testing and benchmarking LLM agents including behavioral testing,
capability assessment, reliability metrics, and production monitoring—where
even top agents achieve less than 50% on real-world benchmarks
risk: safe
source: vibeship-spawner-skills (Apache 2.0)
date_added: 2026-02-27
Agent Evaluation
Testing and benchmarking LLM agents including behavioral testing, capability assessment, reliability metrics, and production monitoring—where even top agents achieve less than 50% on real-world benchmarks
Capabilities
- agent-testing
- benchmark-design
- capability-assessment
- reliability-metrics
- regression-testing
Prerequisites
- Knowledge: Testing methodologies, Statistical analysis basics, LLM behavior patterns
- Skills_recommended: autonomous-agents, multi-agent-orchestration
- Required skills: testing-fundamentals, llm-fundamentals
Scope
- Does_not_cover: Model training evaluation (loss, perplexity), Fairness and bias testing, User experience testing
- Boundaries: Focus is agent capability and reliability, Covers functional and behavioral testing
Ecosystem
Primary_tools
- AgentBench - Multi-environment benchmark for LLM agents (ICLR 2024)
- τ-bench (Tau-bench) - Sierra's real-world agent benchmark
- ToolEmu - Risky behavior detection for agent tool use
- Langsmith - LLM tracing and evaluation platform
Alternatives
- Braintrust - When: Need production monitoring integration LLM evaluation and monitoring
- PromptFoo - When: Focus on prompt-level evaluation Prompt testing framework
Deprecated
- Manual testing only
Patterns
Statistical Test Evaluation
Run tests multiple times and analyze result distributions
**When to use**: Evaluating stochastic agent behavior
interface TestResult { testId: string; runId: string; passed: boolean; score: number; // 0-1 for partial credit latencyMs: number; tokensUsed: number; output: string; expectedBehaviors: string[]; actualBehaviors: string[]; }
interface StatisticalAnalysis { passRate: number; confidence95: [number, number]; meanScore: number; stdDevScore: number; meanLatency: number; p95Latency: number; behaviorConsistency: number; }
class StatisticalEvaluator { private readonly minRuns = 10; private readonly confidenceLevel = 0.95;
async evaluateAgent( agent: Agent, testSuite: TestCase[] ): Promise<EvaluationReport> { const results: TestResult[] = [];
// Run each test multiple times for (const test of testSuite) { for (let run = 0; run < this.minRuns; run++) { const result = await this.runTest(agent, test, run); results.push(result); } }
// Analyze by test const byTest = this.groupByTest(results); const testAnalyses = new Map<string, StatisticalAnalysis>();
for (const [testId, testResults] of byTest) { testAnalyses.set(testId, this.analyzeResults(testResults)); }
// Overall analysis const overall = this.analyzeResults(results);
return { overall, byTest: testAnalyses, concerns: this.identifyConcerns(testAnalyses), recommendations: this.generateRecommendations(testAnalyses) }; }
private analyzeResults(results: TestResult[]): StatisticalAnalysis { const passes = results.filter(r => r.passed); const passRate = passes.length / results.length;
// Calculate confidence interval for pass rate const z = 1.96; // 95% confidence const se = Math.sqrt((passRate * (1 - passRate)) / results.length); const confidence95: [number, number] = [ Math.max(0, passRate - z * se), Math.min(1, passRate + z * se) ];
const scores = results.map(r => r.score); const latencies = results.map(r => r.latencyMs);
return { passRate, confidence95, meanScore: this.mean(scores), stdDevScore: this.stdDev(scores), meanLatency: this.mean(latencies), p95Latency: this.percentile(latencies, 95), behaviorConsistency: this.calculateConsistency(results) }; }
private calculateConsistency(results: TestResult[]): number { // How consistent are the behaviors across runs? if (results.length < 2) return 1;
const behaviorSets = results.map(r => new Set(r.actualBehaviors)); let consistencySum = 0; let comparisons = 0;
for (let i = 0; i < behaviorSets.length; i++) { for (let j = i + 1; j < behaviorSets.length; j++) { const intersection = new Set( [...behaviorSets[i]].filter(x => behaviorSets[j].has(x)) ); const union = new Set([...behaviorSets[i], ...behaviorSets[j]]); consistencySum += intersection.size / union.size; comparisons++; } }
return consistencySum / comparisons; }
private identifyConcerns(analyses: Map<string, StatisticalAnalysis>): Concern[] { const concerns: Concern[] = [];
for (const [testId, analysis] of analyses) { if (analysis.passRate < 0.8) { concerns.push({ testId, type: 'low_pass_rate', severity: analysis.passRate < 0.5 ? 'critical' : 'high', message: `Pass rate ${(analysis.passRate * 100).toFixed(1)}% below threshold` }); }
if (analysis.behaviorConsistency < 0.7) { concerns.push({ testId, type: 'inconsistent_behavior', severity: 'high', message: `Behavior consistency ${(analysis.behaviorConsistency *
Read more
name: agent-evaluation description: Testing and benchmarking LLM agents including behavioral testing, capability assessment, reliability metrics, and production monitoring—where even top agents achieve less than 50% on real-world benchmarks risk: safe source: vibeship-spawner-skills (Apache 2.0) date_added: 2026-02-27
Agent Evaluation
Testing and benchmarking LLM agents including behavioral testing, capability assessment, reliability metrics, and production monitoring—where even top agents achieve less than 50% on real-world benchmarks
Capabilities
- agent-testing
- benchmark-design
- capability-assessment
- reliability-metrics
- regression-testing
Prerequisites
- Knowledge: Testing methodologies, Statistical analysis basics, LLM behavior patterns
- Skills_recommended: autonomous-agents, multi-agent-orchestration
- Required skills: testing-fundamentals, llm-fundamentals
Scope
- Does_not_cover: Model training evaluation (loss, perplexity), Fairness and bias testing, User experience testing
- Boundaries: Focus is agent capability and reliability, Covers functional and behavioral testing
Ecosystem
Primary_tools
- AgentBench - Multi-environment benchmark for LLM agents (ICLR 2024)
- τ-bench (Tau-bench) - Sierra's real-world agent benchmark
- ToolEmu - Risky behavior detection for agent tool use
- Langsmith - LLM tracing and evaluation platform
Alternatives
- Braintrust - When: Need production monitoring integration LLM evaluation and monitoring
- PromptFoo - When: Focus on prompt-level evaluation Prompt testing framework
Deprecated
- Manual testing only
Patterns
Statistical Test Evaluation
Run tests multiple times and analyze result distributions
**When to use**: Evaluating stochastic agent behavior
interface TestResult { testId: string; runId: string; passed: boolean; score: number; // 0-1 for partial credit latencyMs: number; tokensUsed: number; output: string; expectedBehaviors: string[]; actualBehaviors: string[]; }
interface StatisticalAnalysis { passRate: number; confidence95: [number, number]; meanScore: number; stdDevScore: number; meanLatency: number; p95Latency: number; behaviorConsistency: number; }
class StatisticalEvaluator { private readonly minRuns = 10; private readonly confidenceLevel = 0.95;
async evaluateAgent( agent: Agent, testSuite: TestCase[] ): Promise<EvaluationReport> { const results: TestResult[] = [];
// Run each test multiple times for (const test of testSuite) { for (let run = 0; run < this.minRuns; run++) { const result = await this.runTest(agent, test, run); results.push(result); } }
// Analyze by test const byTest = this.groupByTest(results); const testAnalyses = new Map<string, StatisticalAnalysis>();
for (const [testId, testResults] of byTest) { testAnalyses.set(testId, this.analyzeResults(testResults)); }
// Overall analysis const overall = this.analyzeResults(results);
return { overall, byTest: testAnalyses, concerns: this.identifyConcerns(testAnalyses), recommendations: this.generateRecommendations(testAnalyses) }; }
private analyzeResults(results: TestResult[]): StatisticalAnalysis { const passes = results.filter(r => r.passed); const passRate = passes.length / results.length;
// Calculate confidence interval for pass rate const z = 1.96; // 95% confidence const se = Math.sqrt((passRate * (1 - passRate)) / results.length); const confidence95: [number, number] = [ Math.max(0, passRate - z * se), Math.min(1, passRate + z * se) ];
const scores = results.map(r => r.score); const latencies = results.map(r => r.latencyMs);
return { passRate, confidence95, meanScore: this.mean(scores), stdDevScore: this.stdDev(scores), meanLatency: this.mean(latencies), p95Latency: this.percentile(latencies, 95), behaviorConsistency: this.calculateConsistency(results) }; }
private calculateConsistency(results: TestResult[]): number { // How consistent are the behaviors across runs? if (results.length < 2) return 1;
const behaviorSets = results.map(r => new Set(r.actualBehaviors)); let consistencySum = 0; let comparisons = 0;
for (let i = 0; i < behaviorSets.length; i++) { for (let j = i + 1; j < behaviorSets.length; j++) { const intersection = new Set( [...behaviorSets[i]].filter(x => behaviorSets[j].has(x)) ); const union = new Set([...behaviorSets[i], ...behaviorSets[j]]); consistencySum += intersection.size / union.size; comparisons++; } }
return consistencySum / comparisons; }
private identifyConcerns(analyses: Map<string, StatisticalAnalysis>): Concern[] { const concerns: Concern[] = [];
for (const [testId, analysis] of analyses) { if (analysis.passRate < 0.8) { concerns.push({ testId, type: 'low_pass_rate', severity: analysis.passRate < 0.5 ? 'critical' : 'high', message: `Pass rate ${(analysis.passRate * 100).toFixed(1)}% below threshold` }); }
if (analysis.behaviorConsistency < 0.7) { concerns.push({ testId, type: 'inconsistent_behavior', severity: 'high', message: `Behavior consistency ${(analysis.behaviorConsistency *
Local, agent-owned skill stacks for coding agents—from complete catalog access to a reproducible, reviewable plan. Codex or Claude inspects your project and chooses exact skills from the complete local AAS catalog.
Other skills on agentic-awesome-skills.
- /00-andruia-consultant
Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.
Open skill - /007
Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.
Open skill - /10-andruia-skill-smith
Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.
Open skill - /20-andruia-niche-intelligence
Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.
Open skill - /2slides-ppt-generator
AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use for any \"make slides\", \"create a deck\", or \"slides from this document\"
Open skill - /3d-web-experience
Expert in building 3D experiences for the web - Three.js, React
Open skill

