Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add alvin-reyes/better-agentic-ide --skill bmad-evalgit clone --depth 1 https://github.com/alvin-reyes/better-agentic-ideWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/alvin-reyes/better-agentic-ide/bmad-eval)<a href="https://agentmods.dev/skills/alvin-reyes/better-agentic-ide/bmad-eval"><img src="https://agentmods.dev/badge/skills/alvin-reyes/better-agentic-ide/bmad-eval/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/alvin-reyes/better-agentic-ide/bmad-eval"><img src="https://agentmods.dev/badge/skills/alvin-reyes/better-agentic-ide/bmad-eval.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.01640 |
| Opus 5.5 | $0.00040 | $0.00656 |
| Sonnet 5.5 | $0.00020 | $0.00328 |
| Haiku 4.5 | $0.00010 | $0.00164 |
Grade A, and why
bmad-eval scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Skill Eval Runner
You run a skill's evals and report what they say. Cite specific findings, flag evals that pass for trivial reasons, and never widen a tolerance to make a run look like it succeeded. No model or harness is named in this skill: the harness a project's evals run through is recorded in this skill's customization at the first run.
The four modes
| Mode | Question it answers | Script / reference |
|---|---|---|
| baseline | Does the skill beat the bare model on the same input? | references/eval-format.md, scripts/run_evals.py |
| variant | Does a section earn its place, or does a stripped version do as well? | references/eval-format.md, scripts/run_evals.py |
| quality | Does the output meet the named rubric? | references/grader.md, references/eval-format.md |
| trigger | Does the description fire on the right queries and stay quiet on the rest? | references/harness.md, scripts/run_triggers.py |
Baseline runs every case with the skill staged and with nothing staged. Variant runs the skill against the one at --variant-path. Quality grades one config against its rubric. Trigger measures real firing; references/description-optimization.md improves the description across rounds.
Case format
A case is input + rubric + optional state_prefix + optional fixture files; the state_prefix is a bracketed prime prepended to the input that places the skill mid-workflow in one shot. Cases live in <skill>/evals/cases.json, trigger queries as {query, should_trigger} in <skill>/evals/triggers.json. The full shape and the strong-versus-weak expectation taxonomy are in references/eval-format.md. A skill-creator evals.json converts with uv run {skill-root}/scripts/convert_cases.py <evals.json> --output <cases.json> (--to skill-creator reverses it).
On activation
- Read config with
node {project-root}/_bmad/ade-runtime.mjs resolve_config --project-root {project-root} --key core.output_folder --key core.communication_language --key core.user_nameand customization withnode {project-root}/_bmad/ade-runtime.mjs resolve_customization --skill {skill-root} --project-root {project-root} --key workflow. Absent keys are fine.{reports_folder}is{workflow.reports_folder}with{output_folder}filled in; set{communication_language}and{user_name}from what comes back. - Verify
<skill-path>/SKILL.mdexists; halt with a clear error if not. - When
workflow.harness.commandcame back empty, work out the harness facts for the CLI you are running in perreferences/harness.md, prove them on one case, and record them by invoking thebmad-customizeskill (install:npx skills add bmad-code-org/BMAD-METHOD --skill bmad-customize); the runner reads them from there. When nobody is at the keyboard, stop and show the table to record instead. - Find the cases file: the one the user named, then
<skill-path>/evals/, then<project-root>/evals/<skill-name>/, then anywhere under<project-root>/evals/. If nothing is found, halt and say so; the runner does not invent cases. - Confirm the run summary unless the user asked for a non-interactive run, then execute. The summary names the skill, cases, modes and output dir, shows the harness command, and says that it runs with permission prompts off and is not contained unless the command wraps it in a sandbox. A non-interactive run needs the harness already recorded.
What ships with it
19 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- bmod.toml 83 B
- customize.toml 1.2 KB
- evals/triggers.json 2.2 KB
- references/description-optimization.md 6.5 KB
- references/eval-format.md 7.4 KB
- references/grader.md 5.9 KB
- references/harness.md 2.2 KB
- references/self-improvement.md 5.0 KB
- scripts/aggregate_benchmark.py 8.9 KB runs code
- scripts/convert_cases.py 4.0 KB runs code
- scripts/eval_common.py 13 KB runs code
- scripts/run_evals.py 13 KB runs code
- scripts/run_triggers.py 11 KB runs code
- scripts/tests/fake_harness.py 2.1 KB runs code
- scripts/tests/test_aggregate_benchmark.py 1.5 KB runs code
- scripts/tests/test_convert_cases.py 3.7 KB runs code
- scripts/tests/test_eval_common.py 2.7 KB runs code
- scripts/tests/test_run_evals.py 10 KB runs code
- scripts/tests/test_run_triggers.py 6.2 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 72 lines · 101 tokens per session scan A 4593bbfa0a35
bmad-eval is a skill published in the GitHub repository alvin-reyes/better-agentic-ide (85 stars, last pushed 9d ago), licensed MIT. It adds 101 tokens to every session and 1,640 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.
Other skills, from other repositories
data-analyzer
Guidance for analyzing structured data, generating statistics and producing data-driven insights. Use when the user asks to analyze data, compute statistics, find patterns, or generate analytical reports.
vigilante-create-issue
Help a human author write an implementation-ready GitHub issue that Vigilante can execute reliably.
rn-device-control
This skill should be used when the user asks to "control the simulator", "take a screenshot", "boot the emulator", "install the app", "read UI hierarchy", "manage device state", "open a deep link", "grant permissions", "stream native logs", "disable animations", "change device locale", or needs guidance on xcrun…
rn-feature-development
This skill should be used when building any new feature in a React Native or Expo app, or when the $rn-dev-agent:rn-feature-dev command runs. Triggers on "build a feature", "add X to the app", "implement Y", "create a new screen", "rn-feature-dev", "feature development", "build me X", "add a screen", "wire up this…
rn-testing
This skill should be used when the user asks to "write a Maestro test", "create E2E flows", "add testIDs", "run UI tests", "run E2E tests", "verify a feature works", "test my screen", "set up maestro-runner", "mock network requests", "inspect store state", "write test assertions", or needs guidance on test timing…
rn-workflow
Validate and establish the proven rn-dev-agent operating sequence before a real React Native journey — read project instructions and the declared package manager, inventory sessions/Metro/devices read-only, establish one exclusive simulator/emulator via typed session actions, apply and verify package integration and…