Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/ckorhonen/claude-skillsnpx agentmods add skills/ckorhonen/claude-skills/autoresearchWrote 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/ckorhonen/claude-skills/autoresearch)<a href="https://agentmods.dev/skills/ckorhonen/claude-skills/autoresearch"><img src="https://agentmods.dev/badge/skills/ckorhonen/claude-skills/autoresearch/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/ckorhonen/claude-skills/autoresearch"><img src="https://agentmods.dev/badge/skills/ckorhonen/claude-skills/autoresearch.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.00060 | $0.04140 |
| Opus 5 | $0.00030 | $0.02070 |
| Sonnet 5 | $0.00012 | $0.00828 |
| Haiku 4.5 | $0.00006 | $0.00414 |
Grade A, and why
autoresearch 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 12d 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 — 449 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Autoresearch
Autonomous optimization is only useful when it behaves like disciplined research, not benchmark gambling.
This skill runs a strict experiment loop:
- clarify the target before changing code
- write down hypotheses before testing them
- measure with repeated trials, not one-off wins
- record every experiment, including failures
- generate local reports and graphs that are not checked in
Core Principles
- No silent scope inference
If the request is vague, stop and ask a short up-front Q&A before starting. Do not silently invent the target workload, correctness bar, or tradeoffs.
- One experiment = one hypothesis
State the proposed change and why it should help before making it. Avoid bundles of unrelated tweaks.
- All experiments are logged
Every experiment must be enumerated in a machine-readable ledger, including discarded ideas, crashes, and failed checks.
- Repeated measures beat noisy anecdotes
Do not keep a change because of one fast run. Use warmups, repeated measurements, and an explicit decision rule.
- Artifacts stay local
Reports, CSVs, JSONL ledgers, and graphs belong in a local .autoresearch/ directory and should not be committed.
Available scripts
scripts/init_experiment.py— initialize.autoresearch/session.json, ensure.autoresearch/stays untracked, and scaffoldautoresearch.mdwhen needed.scripts/run_experiment.py— run warmups and measured trials, parseMETRIClines, run optional checks, and emit a JSON experiment record.scripts/log_experiment.py— append an experiment to.autoresearch/results.jsonl, decidekeepvsdiscard, and refresh CSV and HTML artifacts.scripts/render_report.py— regenerate.autoresearch/results.csvand.autoresearch/report.htmlfrom the JSONL ledger.
All scripts are non-interactive, expose --help, emit structured JSON on stdout, and keep diagnostics on stderr.
Default workflow
- Initialize the session after the up-front Q&A:
What ships with it
5 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.
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.
- 12d ago First seen · 449 lines · 60 tokens per session scan A 396ffd5ae34a
autoresearch is a skill published in the GitHub repository ckorhonen/claude-skills (14 stars, last pushed 2mo ago), licensed MIT. It adds 60 tokens to every session and 4,140 once invoked, about $0.0003 per session on Opus 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-08-30.
Other skills, from other repositories
data-building-ledger
A lookup service for South Korean building-register and permit data from the Ministry of Land's BuildingHUB. It can show a property's use, structure, size, approval date, parking, seismic information, public-price history, age, demolition, and permits.
legal-mfds-safety
A safety-information lookup tool for medicines and foods using official data from South Korea’s Ministry of Food and Drug Safety (MFDS). It checks medicine information, health-food ingredients, recalls, sales suspensions, and failed inspections.
iso-24495-3
Sector-specific Plain Language standard for science and technical writing (ISO 24495-3:2026). Applied during software documentation, architecture specs, and technical analysis.
smt-solving-with-z3-cvc5
Use when a query needs direct SMT solving, an unsat core needs debugging, or another tool reports a solver timeout or unknown. Not for deciding what to prove: use proof-driven.
writing-rocq-proofs
Use when a proof needs Rocq (formerly Coq), including legacy Coq codebase maintenance and migration through the Coq to Rocq rename. Not for Lean 4: use writing-lean-proofs.
r-btw-cli
Use the btw CLI to access R documentation, manage R package development, query CRAN, inspect the R environment, and discover or fetch skills from the command line. Use when you need to: (1) read R help pages or vignettes, (2) run R CMD check, tests, or devtools::document(), (3) search CRAN for packages, (4) check…