The project's README from github.com/JetBrains/benjamin-plus-skill. As one markdown file: README.md.
“Beware of little expenses; a small leak will sink a great ship.”
— Benjamin Franklin
A token-efficiency skill for coding agents.
It changes how the agent looks things up and waits — never what it builds.
Measured: up to −18 % cost and −22 % tokens per task, quality unchanged.
An agent pays twice for every clumsy lookup: once for the step itself, and again every time the growing conversation gets re-read. So the skill teaches five habits:
The skill's full text: RULESET.md (~745 tokens injected).
Same skill, two delivery methods, tested head-to-head: injected, it saves (−17.9 % cost median on the charts above; −4.4 % even on the harder Java/Codex setup) — as a discoverable skill folder, it saves nothing (−0.5 %, n.s.; agents burned steps just finding SKILL.md). So: inject.
git clone https://github.com/JetBrains/benjamin-plus-skill ~/.benjamin-plus
Claude Code — add to ~/.claude/settings.json (verify with /hooks, or just ask Claude Code to add it):
{ "hooks": { "SessionStart": [ { "matcher": "startup|resume|clear|compact",
"hooks": [ { "type": "command", "command": "cat ~/.benjamin-plus/injected-instruction.md" } ] } ] } }
…or per-project, zero config: cat ~/.benjamin-plus/injected-instruction.md >> CLAUDE.md
Codex CLI — AGENTS.md is loaded into every session; no hook needed:
cat ~/.benjamin-plus/injected-instruction.md >> ~/.codex/AGENTS.md # or >> AGENTS.md in a repo
Any other agent — append injected-instruction.md to the system prompt. That's the whole integration (~3 KB).
This skill wasn't written once and shipped. It came out of auto research: an agent working in a loop against the benchmark. Mine ~1,200 old agent traces for where the money actually goes, draft rules, run a paired A/B, read the failing trajectories, revise, run again. Six versions later, only the rules that survived the evidence were left. Everything that traded quality for savings got deleted along the way, which turned out to be most of the clever ideas.
The measurement itself is a paired A/B. Same agent, same model, same tasks, same container images; the only difference between the arms is the injected skill text. 80 paired SkillsBench tasks (Claude Code 2.1.201 in Docker sandboxes, Sonnet 5, low effort), Wilcoxon on the paired deltas, a sign test on rewards, and a per-trial adoption check: the payload reached the model in 80 of 80 treated runs and 0 of 80 controls. Trials that failed on one side only were retried before anything was counted. Every number and caveat lives in EXPECTED-RESULTS.md.
Found a regression, a workload where it loses money, or a rule that misfires on your stack? Open an issue — ideally with the paired numbers (with/without) and, if you can, a trace. Results from other benchmarks and harnesses are especially welcome; that's how v6 got its polling rule.
MIT.