Benchmark adder
Skill tmuskal/arc-agi-benchmarker/.claude/skills/benchmark-adder
Given a benchmark repository URL (agentic envs like arc-agi, memory/eval benchmarks like longmemeval, QA/code/tool-use benchmarks, etc.), orchestrate the creation of a full Claude Code plugin that benchmarks the current harness setup against it. Wraps the babysitter:babysit skill with the benchmark-plugin-creator process.From its SKILL.md
npx -y skills add tmuskal/arc-agi-benchmarker --skill benchmark-adderAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.3 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
benchmark-adder
You are creating a new Claude Code plugin that wraps an arbitrary benchmark repository so a user can benchmark their current harness + plugins + skills + model + MCP servers against it.
This skill is a thin orchestrator. The heavy lifting is a multi-phase, convergent, spec-driven, TDD + adversarial-review babysitter process that lives at:
.a5c/processes/benchmark-plugin-creator.js
All you do here is:
- Collect inputs from the user (or parse them from
$ARGUMENTS). - Prepare the inputs file.
- Invoke the babysitter
babysitskill, pointing it at the process. - Hand control to the babysitter orchestration.
Inputs
| Field | Required | Default | Example |
|---|---|---|---|
benchmarkRepoUrl | yes | — | https://github.com/arcprize/arc-agi or https://github.com/xiaowu0162/longmemeval |
pluginName | no | derived from repo | arc-agi-benchmarker, longmemeval-benchmarker |
outputDir | no | ./plugins | ./plugins |
author | no | empty | Tal Muskal |
targetHarnesses | no | ["claude-code", "codex", "gemini", "opencode"] | |
additionalRequirements | no | empty | free-form extra requirements |
autoPush | no | false | if true, the integration phase runs git push after committing the new plugin |
Parse $ARGUMENTS as benchmarkRepoUrl plus optional key=value tokens. If benchmarkRepoUrl is missing, ASK the user for it before proceeding.
Steps
Step 1 — Verify prerequisites
Check that the babysitter SDK is available and jq is installed. If not, tell the user to install them (the babysitter skill SKILL.md has the exact commands) and stop.
command -v jq >/dev/null 2>&1 || { echo "Install jq first."; exit 1; }
command -v babysitter >/dev/null 2>&1 || echo "babysitter CLI not found — the babysit skill will install it."
Step 2 — Verify the process file exists
ls .a5c/processes/benchmark-plugin-creator.js >/dev/null || {
echo "Missing .a5c/processes/benchmark-plugin-creator.js"
exit 1
}
If it is missing, stop and report to the user — the skill cannot run without it.
Step 3 — Write the inputs file
Write the inputs next to the process so babysitter can pick them up:
mkdir -p .a5c/processes
cat > .a5c/processes/benchmark-adder.inputs.json <<'JSON'
{
"benchmarkRepoUrl": "<BENCHMARK_REPO_URL>",
"pluginName": "<PLUGIN_NAME_OR_EMPTY>",
"outputDir": "./plugins",
"author": "<AUTHOR_OR_EMPTY>",
"targetHarnesses": ["claude-code", "codex", "gemini", "opencode"],
"additionalRequirements": "<FREE_FORM_OR_EMPTY>",
"autoPush": false
}
JSON
Replace the placeholders with actual values parsed from $ARGUMENTS or collected from the user. Leave optional fields as empty strings if not provided — the process has defaults.
Step 4 — Invoke the babysitter:babysit skill
Use the Skill tool with skill: "babysitter:babysit". Pass arguments pointing at the process and inputs:
skill: babysitter:babysit
args: --process-file .a5c/processes/benchmark-plugin-creator.js \
--entry .a5c/processes/benchmark-plugin-creator.js#process \
--inputs .a5c/processes/benchmark-adder.inputs.json \
--harness claude-code
The babysitter skill will:
- install / verify the SDK at the repo-pinned version
- create a run directory under
.a5c/runs/<runId>/ - iterate through the benchmark-plugin-creator phases
- surface breakpoints for user review (benchmark classification, architecture, etc.)
- produce the plugin in
./plugins/<pluginName>/plus a spec folder alongside it - register the new plugin in
.claude-plugin/marketplace.json - update the top-level repo
README.mdto list the new plugin git add+git committhe new plugin, marketplace entry, and README update (andgit pushifautoPush=true)
Step 5 — Report back
Once babysitter finishes (or yields a breakpoint), report to the user:
- run id and
.a5c/runs/<runId>/path - path to the generated plugin
- final convergence score and ship-ready flag
- any remaining tech debt from the final adversarial review
Notes
- This skill does NOT run the generated benchmark plugin. It only creates it. After creation, the user installs it as a normal Claude Code plugin and runs its own
/setupand/run-benchmarkskills. - The process is designed to converge to >=99% spec parity per phase, with 3 converging parts per phase (plan, build, refine) and an adversarial review that can include online research.
- Supported benchmark families: agentic-env, memory-eval, dataset-qa, code-eval, tool-use, generic. The process auto-detects and branches accordingly in Phase 4.
- Reference for plugin layout:
specializations/meta/plugin-creationin the babysitter process library, and the existingplugins/arc-agi-benchmarker/in this repo.
Example invocations
/benchmark-adder https://github.com/arcprize/arc-agi
/benchmark-adder https://github.com/xiaowu0162/longmemeval pluginName=longmemeval-benchmarker
/benchmark-adder https://github.com/openai/human-eval author="Tal Muskal"
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most evals benchmarks skills give in ~1.3k tokens
Counted across 499 of the 513 authors here whose files we hold, read 2026-09-06
- Spawn with-skill and baseline runs in the same turnin 31 of 499, across 24 files
- Keep SKILL.md under 500 linesin 31 of 499, across 24 files
- Draft assertions while test runs are in progressin 31 of 499, across 24 files
- Compare against the baseline after changesin 31 of 499, across 13 files
- Define evals before codingin 26 of 499, across 17 files
- Run evals frequently during developmentin 25 of 499, across 16 files
- Keep evals fastin 24 of 499, across 15 files
- Version evals with codein 24 of 499, across 15 files
- Generate the eval viewer before evaluating outputs yourselfin 24 of 499, across 17 files
- Generate an eval report after runsin 24 of 499, across 15 files
- Track pass@k metrics over timein 22 of 499, across 14 files
- Save a baseline before making changesin 21 of 499, across 9 files
Said here and by no other author read
- Parse benchmark repo URL and options from arguments
- Verify jq and babysitter SDK are installed
- Verify the process file exists before continuing
- Stop and report if prerequisites are missing
- Write the inputs JSON file beside the process
- Leave optional fields empty when not provided
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.