Guide · Agent skill
How to use the Add a Runner Eval agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The add-runner-eval skill is a set of instructions that an AI agent (such as Claude) reads when you ask it to add or extend an automated evaluation for the Paperclip Runner, an AI agent runtime. It is aimed at Paperclip maintainers, engineers working in the paperclip-evals repository, and reviewers who need a repeatable process for live eval runs. After this guide you will know how to install the skill, how to phrase a request that triggers it, and what the agent will check before any live provider run costs money.
Quick start
- 1Download and unzip the skill. Download the ZIP from this page and unzip it so the add-runner-eval folder with SKILL.md is in place.
- 2Place it where your agent looks. Copy the folder to ~/.claude/skills/ for personal use or to .claude/skills/ in a project, or upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
- 3Confirm your repositories. Make sure you have a local Paperclip checkout with packages/paperclip-runner and tests/runner-e2e, plus a sibling paperclip-evals repository.
- 4Ask for a specific eval change. Describe one bounded case, roster, assertion, or fixture you want to add or extend, and mention Runner.
- 5Run provider-free validation. Run the validate commands from the paperclip-evals root for the case and roster you changed before anything else.
- 6Authorize and pin before any live run. Only with authorization, pin the Paperclip commit and the exact 40-character paperclip-evals commit, select the smallest useful roster, and keep the provenance and cost record.
What the skill makes the agent do
The skill guides an agent through adding or extending a Runner protocol evaluation definition, roster, assertion, or report fixture. It tells the agent where the eval files live: definitions and authored cases belong in the sibling paperclip-evals/evals/paperclip-runner directory, while Runner integration and publication behavior belong in packages/paperclip-runner.
The skill also sets the rules. The agent should author one bounded case with a deterministic semantic assertion, avoid grading hidden reasoning, and not treat a provider's final message as proof of success. Public reports must not expose credentials, secrets, private references, raw trusted payloads, or hidden reasoning.
- Cases live under cases/, company fixtures under fixtures/, runtime and model settings under configs/, and selections under rosters/.
- A new case file does not join the maintained campaign by itself; campaign membership in campaigns/live-direct-full.json may need updating.
- Browser, server, database, and Daytona end-to-end coverage belongs to a different skill, add-product-e2e-eval.
Install the add-runner-eval skill
Download the ZIP for this skill from the page you are reading. Unzip it so that the skill folder, which contains SKILL.md, ends up in one of the following locations.
For a personal install, put it in ~/.claude/skills/. For a project-only install, put it in the project's .claude/skills/ folder. You can also upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
- Personal: ~/.claude/skills/ (available across your projects).
- Project: .claude/skills/ inside the project root (shared with that project).
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP.
Check your environment before you start
The skill assumes two repositories exist on your machine. You need a local Paperclip git checkout that contains packages/paperclip-runner and tests/runner-e2e, and a sibling paperclip-evals repository. The agent finds the Paperclip root from the PAPERCLIP_ROOT variable or from git rev-parse --show-toplevel, and finds paperclip-evals from PAPERCLIP_EVALS_ROOT or a discovered sibling.
You also need Python 3 to run the eval tool scripts, and Git to locate the repository root and pin commits. Live runs need provider credentials and accounts, but the SKILL.md does not specify which ones, so check the Runner docs for that.
- A local Paperclip git checkout with packages/paperclip-runner and tests/runner-e2e.
- A sibling paperclip-evals repository, or PAPERCLIP_EVALS_ROOT pointing to it.
- Python 3 and Git.
- Provider credentials, only for live runs.
Trigger the skill with natural requests
You do not need a special command. Describe the eval change you want in plain language and mention Runner or the eval itself, so the agent matches the request to this skill. Be specific about the case or roster you want to touch.
Good requests name the outcome: the case you want, the assertion you want to calibrate, or the report fixture you need. Vague requests such as 'make the tests better' are less likely to lead to a bounded, reviewable change.
- Add a new Runner protocol eval case that checks get-task-context output.
- Extend the grader assertion for a Runner eval and add positive and negative fixtures.
- Create a small live-mini roster entry for a new Runner case and validate it without provider calls.
- Add a report fixture for a Runner eval that uses only sanitized conversation.
Validate without provider calls first
Run the provider-free checks before any live run. From the paperclip-evals repository root, the skill lists four commands: validate the case and config with eval_program.py, validate a roster with run_live_roster.py, validate the campaign with run_live_campaign.py, and validate the reliability plan with reliability_campaign.py. Run the reliability-plan validator only when that separate plan changes.
Adapt the commands to the case and roster you changed. The example below uses get-task-context as the case and live-mini as the roster.
- Use nearby positive and negative grader cases to confirm the grader fails closed on malformed or missing evidence.
- When a live run is authorized, pin the Paperclip commit and the exact 40-character paperclip-evals commit, select the smallest useful roster, and keep the full provenance and cost record.
python3 evals/paperclip-runner/tools/eval_program.py validate \
--case evals/paperclip-runner/cases/get-task-context.json \
--config evals/paperclip-runner/configs/live-codex-pinned.json
python3 evals/paperclip-runner/tools/run_live_roster.py validate \
--roster evals/paperclip-runner/rosters/live-mini.json --run-id validate-new-case
python3 evals/paperclip-runner/tools/run_live_campaign.py validate \
--campaign evals/paperclip-runner/campaigns/live-direct-full.json
python3 evals/paperclip-runner/tools/reliability_campaign.py validate \
--plan evals/paperclip-runner/campaigns/paperclip-runner-reliability.jsonSafety notes: scripts and network
The skill runs scripts, so review what it executes before you approve it, especially the validation commands and any live-run commands. The assessment for this item states that the skill runs scripts and does not use the network. Live provider runs are different: they incur model or provider cost and need explicit authorization.
Keep private data out of published output. The skill's rule is that only sanitized fixture conversation and allowlisted tool outcomes may be published. Raw trusted artifacts, credentials, and private references stay out of public reports.
- Never start a live provider run without authorization; it costs money.
- Pin the Paperclip commit and the 40-character paperclip-evals commit before a live run.
- Do not publish raw trusted artifacts, credentials, secrets, or private references.
- Public reports are immutable; use the reviewed projection.
Tips for a clean eval change
Keep each change to one bounded case with one deterministic check. Copy the nearest existing case as your model rather than starting from scratch, and read doc/evals.md and the Runner live-evals doc first. When the contract or command changes, update the authoritative detailed docs and link to them from doc/evals.md instead of duplicating the runbook.
- Declare the expected operation, state effect, provider lane or profile, timeout and retry policy, and any required evidence in the case.
- Do not infer success from a provider's terminal message.
- Preserve existing machine dispositions and grades; labels are annotations, not instructions to rewrite classifiers.
What people use it for
- Adding a new Runner protocol test case for get-task-context and validating it with provider-free commands.
- Calibrating a grader assertion using positive and negative fixtures, including malformed or missing evidence.
- Creating a small roster for a live-mini run with a pinned commit and cost record.
- Preparing a sanitized report fixture that follows the reviewed public projection.
Frequently asked questions
How do I install the add-runner-eval skill?
Download the ZIP from this page and unzip it. Put the folder in ~/.claude/skills/ for personal use or in a project's .claude/skills/ folder, or upload the ZIP in the Claude apps under Settings → Capabilities → Skills.
What do I need to use add-runner-eval?
You need a local Paperclip git checkout containing packages/paperclip-runner and tests/runner-e2e, a sibling paperclip-evals repository, Python 3, and Git. Live runs also need provider credentials, which the SKILL.md does not specify.
Is the add-runner-eval skill free?
The item is listed under the MIT licence. The source does not state pricing for the skill itself, but live provider eval runs incur model and provider cost.
Does add-runner-eval make network calls or run scripts?
According to this item's assessment, the skill runs scripts and does not use the network. It runs eval tool validation commands, and live provider runs incur cost and need authorization.
Can I use this skill for browser or end-to-end tests?
No. The source says browser, server, database, and Daytona end-to-end coverage belongs to the add-product-e2e-eval skill instead.
Why does my new eval case not run in the maintained campaign?
The source says a new file alone does not join the maintained campaign. You need to update campaigns/live-direct-full.json and any inventory or coverage mappings the program requires.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you maintain or contribute to Paperclip Runner protocol evals and want a consistent, provenance-tracked process with provider-free checks before live runs. Pick something else if you lack a local Paperclip checkout and paperclip-evals repository, or if you need browser, server, database, or Daytona end-to-end tests.
Download the skill