bmad-eval-runner

Run skill evals across baseline, variant, quality, and trigger modes and report results.

Updated Mar 1, 2026
One-click install
npx skills add https://github.com/Hexalith/Hexalith.Parties --skill bmad-eval-runner-hexalith
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bmad-eval-runner
Source: https://github.com/Hexalith/Hexalith.Parties/tree/main/.agents/skills/bmad-eval-runner
Command: npx skills add https://github.com/Hexalith/Hexalith.Parties --skill bmad-eval-runner-hexalith

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Evaluating whether an AI skill actually improves on the bare model, whether each section earns its place, and whether its description triggers correctly is hard to do rigorously by hand. This Skill runs a skill's eval cases in clean isolated working directories and reports evidence-backed results instead of impressions. ## Core Features & Use Cases - Four eval modes: baseline (skill vs bare model), variant (full vs stripped version), quality (output vs rubric with a read-only grader), and trigger (description firing measured through a platform adapter). - Platform-agnostic adapter seam: runtime-specific invocation, auth, and transcript handling live in a JSON adapter config, with a working Claude Code adapter included. - Variance benchmarking and description optimization: repeat runs are aggregated into mean/stddev/delta statistics, and trigger mode can iterate on a description against a blinded held-out test set. - Use Case: After editing a skill's description, run trigger mode to measure whether it fires on near-miss queries it should catch and stays quiet on the rest, then pick the winning description by held-out test score. ## Quick Start Ask the agent to run the evals for a skill by pointing it at the skill directory, for example: run baseline and quality evals for the skill at .agents/skills/my-skill and report the results.

Frequently Asked Questions about bmad-eval-runner

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

FAQPage Schema
How do I evaluate whether an AI skill beats the bare model?

Run baseline mode, which executes each eval case twice in a clean working directory: once with the skill staged and once with nothing staged. Comparing the two configs under identical conditions shows whether the skill produces something the bare model cannot.

How do I test if a skill description triggers on the right queries?

Use trigger mode with a queries file of should-trigger and should-not-trigger near-miss queries. The runner stages a synthetic skill, sends each query through the platform adapter several times, and measures the trigger rate against a threshold.

What eval modes does the skill eval runner support?

Four modes: baseline (skill versus bare model), variant (full skill versus a stripped version), quality (output graded against a rubric by a read-only grader), and trigger (description firing measured through the adapter). Modes can be repeated in one run.

Does the eval runner work with runtimes other than Claude Code?

Yes, all runtime-specific behavior lives behind a JSON adapter config defining the invocation command, auth env var, transcript format, and skill directory. A Claude Code adapter ships in assets, and other runtimes can be added by writing a new adapter file.

What happens when no platform adapter is configured?

The runner degrades gracefully instead of crashing: it stages every case with the skill, fixtures, and composed prompt, writes a manifest, and records each result as skipped until an adapter is configured via flag, environment variable, or a file beside the cases.

How are noisy single-run benchmark results handled?

Pass --runs greater than one to repeat each case, then use the aggregate script to compute mean, sample standard deviation, min, max, and per-metric deltas between configs. This separates real differences between skill versions from run-to-run noise.