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 bendrucker/claude --skill benchmarkgit clone --depth 1 https://github.com/bendrucker/claudeWrote 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/bendrucker/claude/benchmark)<a href="https://agentmods.dev/skills/bendrucker/claude/benchmark"><img src="https://agentmods.dev/badge/skills/bendrucker/claude/benchmark/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/bendrucker/claude/benchmark"><img src="https://agentmods.dev/badge/skills/bendrucker/claude/benchmark.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.00042 | $0.01827 |
| Opus 5.5 | $0.00017 | $0.00731 |
| Sonnet 5.5 | $0.00008 | $0.00365 |
| Haiku 4.5 | $0.00004 | $0.00183 |
Grade A, and why
performance:benchmark 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 yesterday.
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 — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Benchmark
Goal: a comparison the user can trust. Every arm runs the same scenario from the same starting state, the arms are interleaved so machine drift hits them equally, the noise floor is measured before any difference is read, and a difference counts only when it clears that floor.
Tools
hyperfine2.0 or later: !hyperfine --version 2>/dev/null || echo "not found. Required unless the project's own tooling covers its job."bun(runscompare.ts): !bun --version 2>/dev/null || echo "not found. Required for compare.ts."
Existing Tooling
Look for the project's own benchmarks before building one: package scripts, a bench/ directory, benchmark tests, CI jobs that time something. Check each against the requirements the setup below is built to meet:
- Scenario. It runs the scenario the user cares about, from the same starting state every run.
- Isolation. Network, remote state, and caches are stubbed, held fixed, or reset per run.
- Interleaving. Arms alternate within one run or one process, so drift hits every arm.
- Samples. It keeps every run's measurement, enough of them to show an A/A noise floor, not only a mean.
- Significance. It reports a significance test, or its samples can feed
compare.ts report.
Use the existing tooling when it meets every requirement. When it misses some, compose around it and keep its scenario: run its command as a compare.ts arm for interleaving and significance, or add a --prepare reset. Tell the user which requirement it missed and what you added.
Scenario
Pin the scenario before timing it. A run that changes its own input measures a different scenario each time.
- Reset state per run with
--prepare(restore a fixture, clear or warm a cache), and one-time setup with--setup. Match the cache state to the scenario the user cares about. A cold-start metric needs a cold cache on every run. - Stub or hold fixed everything outside the program: network, remote state, other processes' files. When the program syncs with a remote, point it at a local copy that stays unchanged.
- Pass
-Nwhen the command is a single executable with arguments, which removes the shell's startup from every sample. - Before a baseline, put the machine on AC power with power saving off, and quiet it as far as it goes. When it cannot go idle, interleaving keeps the comparison fair.
compare.tsrecords the load average around each round and flags rounds above twice the core count. - When the program is a test suite, raise the runner's timeout in every arm's command (
bun test --timeout,pytest --timeout), so a load spike slows a run instead of failing it. Read the first timeout before raising it, since it can be a real cost worth a candidate. - For a shell script or shell startup (
.zshrc,.bashrc), read references/shell.md.
What ships with it
9 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.
- references/go.md 1.3 KB
- references/javascript.md 1.5 KB
- references/python.md 1.4 KB
- references/rust.md 1.6 KB
- references/shell.md 1.4 KB
- scripts/__snapshots__/compare.test.ts.snap 1.7 KB
- scripts/compare.integration.ts 2.7 KB runs code
- scripts/compare.test.ts 6.3 KB runs code
- scripts/compare.ts 15 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.
- yesterday Changed 51a3268f8ee8
- 19d ago First seen · 94 lines · 42 tokens per session scan A b7242a7f1eaa
performance:benchmark is a skill published in the GitHub repository bendrucker/claude (18 stars, last pushed today), licensed MIT. It adds 42 tokens to every session and 1,827 once invoked, about $0.0002 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-09-29.
Other skills, from other repositories
review
5-pass structured code review — correctness, security, performance, readability, consistency.
alive:system-upgrade
Upgrade ALIVE to the current version. Handles v1/v2/v3.x source states, multi-surface aware (alive-mcp / Hermes / Codex), retroactive version detection, partial-failure resume, dry-run previews, and rollback inspection.
pr-review
Comprehensive PR review across six dimensions — cost impact, environment drift, ownership gaps, SOC 2 compliance, deprecated API / version hygiene, and rollback feasibility. Each mode inspects the diff and current file state, reports findings with severity, and recommends concrete fixes. Use when preparing a PR for…
extract-resume
Parse a resume's uploaded PDF into structured JSON (basics, experience, projects, skills, education) and save it to the editor.
create-site
Creates a new Power Pages code site (SPA) from a curated template or from scratch using React, Angular, Vue, or Astro. Guides through the full process from initial concept to deployed site: requirements discovery, template selection or scaffolding, component planning, design, implementation, validation, and…
ensure-pipelines-host
Ensures the tenant has a usable Power Platform Pipelines host environment before any pipeline operation runs. Detects host state via the same resolution order as the Power Apps UI (org-db setting → BAP env metadata → default-custom-host setting); if any existing host (Platform or Custom) is found, uses it. If no host…