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 airas-org/airas --skill run-experimentsgit clone --depth 1 https://github.com/airas-org/airasWrote 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/airas-org/airas/run-experiments)<a href="https://agentmods.dev/skills/airas-org/airas/run-experiments"><img src="https://agentmods.dev/badge/skills/airas-org/airas/run-experiments/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/airas-org/airas/run-experiments"><img src="https://agentmods.dev/badge/skills/airas-org/airas/run-experiments.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00050 | $0.01052 |
| Opus 5.5 | $0.00020 | $0.00421 |
| Sonnet 5.5 | $0.00010 | $0.00210 |
| Haiku 4.5 | $0.00005 | $0.00105 |
Grade A, and why
run-experiments 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 1mo ago.
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 — 80 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run the experiments
Needs a clone with committed experiment code that passes local sanity
(built to the write-experiment-code contract, uv.lock committed). A
sanity run needs no declaration — its outputs are never imported — and
is how write-experiment-code checks the code on the platform before
the freeze. Every pilot or full run you dispatch must already be
declared in .research/record.json in a commit the run will
execute — results for an undeclared run_id fail verification, and a
claim is verified once every run under it has results — but declare
before you dispatch: the record cannot yet tell a preregistered claim
from a post-hoc one. Declare late additions with append_to_record
(it commits the append itself) and push before dispatching.
-
Resolve the platform. It should already be settled — the code was written against its architecture and environment constraints. Read its reference in full; it is the procedure for steps 2-3. This file states only what every platform must deliver, so a platform is added by adding a reference that answers the same three questions — how the contract CLI is launched, how the run's identifier and commit are obtained, and how its outputs reach the repository.
Platform Reference GitHub Actions _shared/references/github-actions.mdSeyval _shared/references/seyval.md -
Run it by the reference's procedure, then fix, commit on top and re-run as needed. However the run starts, record two things when it ends: the platform's run identifier and the commit hash it executed. Step 3 cannot be done without them.
-
Make the run produce what verification reads. Every run starts through the repository's one entry point,
make run RUN_ID=<run_id> MODE=<stage>— both platforms call it, anddispatch_experimentbuilds it for you. The Makefile reads the run's kind fromconfig/run/<run_id>.yaml:- An experiment (no
kind): the contract CLI (src.main) writes onlyeval_inputs/— the raw predictions. The numbers the record is checked against live inmetrics.json, which the evaluation step writes, and provenance byte-compares that file against the platform's stored copy. Somake runcarries the chain through to the end —src.main,make evaluate,src.evaluate— and acommand_argsof your own must too. Keepeval_inputs/in the results: it is what the metrics can be re-derived from, and the record anchors it by hash.make evaluatescores the task types named bytasks:in the run config, else every task type in.research/evaluation.json; a run that writes inputs for only some of them (a small and a large split, say) must name its own. - A proof (
kind: lean):lake buildof the named module, thenlake exe airas-reportwriteslean.json— the file the record is checked against. Stages aresanity(the statement type-checks,sorryallowed) andfull(a sorry-free proof); there is no pilot. See_shared/references/lean.md.
On a platform that gives each run a fresh working directory, a later run cannot see an earlier one's output, so either chain the steps in one dispatch or stage the earlier runs into it (Seyval:
inputs_from_runs). - An experiment (no
-
Bring the results back under
.research/results/, committed, with.research/results/.provenance.jsondeclaring per results directory theexecution_idandcommit_hashfrom step 2.verify_paper_valuespins its provenance cross-check to that file and treats a missing declaration as a mismatch, so results that arrive any other way fail verification. If the same experiment ran more than once, declare the run that should be reported and tell the user the others exist (the selection is reviewable at verification).
Output: committed results under .research/results/ — eval_inputs/,
metrics.json and the evaluation report for an experiment, lean.json and
the build log for a proof — with their provenance manifest.
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.
- 1mo ago Changed · +3 lines fb9c6bb1c499
- 1mo ago Changed · +5 lines e65d12ada33b
- 1mo ago Changed · +6 lines b2f6062f0371
- 2mo ago First seen · 66 lines · 50 tokens per session scan A d7a6bd2d307c
run-experiments is a skill published in the GitHub repository airas-org/airas (39 stars, last pushed 21d ago), licensed MIT. It adds 50 tokens to every session and 1,052 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-04.
run-experiments compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| run-experimentsairas-org/airas | Skill | 39 | 21d ago | MIT | A | 50 | Claude Code |
| research-prooftonyblu331/research-proof | Skill | 52 | 5mo ago | MIT | A | 101 | Claude Code |
| proof-checkerwanshuiyin/Auto-claude-code-research-in-sleep | Skill | 19k | 3d ago | MIT | A | 87 | Claude Code |
| auto-paper-improvement-loopwanshuiyin/Auto-claude-code-research-in-sleep | Skill | 19k | 3d ago | MIT | A | 67 | Claude Code |
| paper-writewanshuiyin/Auto-claude-code-research-in-sleep | Skill | 19k | 3d ago | MIT | A | 50 | Claude Code |
| research-litwanshuiyin/Auto-claude-code-research-in-sleep | Skill | 19k | 3d ago | MIT | A | 48 | Claude Code |
| paper-illustrationwanshuiyin/Auto-claude-code-research-in-sleep | Skill | 19k | 3d ago | MIT | A | 67 | Claude Code |