preregister

preregister is a skill for Claude Code, Codex from whenpoem/aiscientist. It costs 62 tokens per session (866 once invoked), scanned A, original, MIT.

A preregistration tool for fixing a research claim, success threshold, test group, error rate, and random-seed budget before confirmatory results are observed. Confirmatory research tests a planned claim, while exploratory research looks for possible patterns.

In plain words
What is it for?
Use it before promoting an exploratory finding to a main publication claim or before running several related confirmatory tests.
Why use it?
It reduces the risk of changing the target after seeing the results. It can also apply Bonferroni correction, a method for controlling false positives when several related tests are run.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/whenpoem/aiscientist/preregister
Any agent
npx skills add whenpoem/aiscientist --skill preregister
Clone the repo
git clone --depth 1 https://github.com/whenpoem/aiscientist

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for preregister

README.md
[![agentmods](https://agentmods.dev/badge/skills/whenpoem/aiscientist/preregister.svg)](https://agentmods.dev/skills/whenpoem/aiscientist/preregister)
Your own site
<a href="https://agentmods.dev/skills/whenpoem/aiscientist/preregister"><img src="https://agentmods.dev/badge/skills/whenpoem/aiscientist/preregister.svg" alt="Measured on agentmods" height="20"></a>
Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 866 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.00866
Opus 5 $0.00031 $0.00433
Sonnet 5 $0.00012 $0.00173
Haiku 4.5 $0.00006 $0.00087

Measured 4d ago against content hash afb1e3b30d1d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

preregister 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 4d 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.

.claude/skills/preregister/SKILL.md · 58 lines

How it starts

The opening of the file, as written. The whole thing — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Preregister

This skill supports "decide before observing" for confirmatory claims. Exploratory runs may still use seed_perturb / pin_metric, but any number intended as a main publication claim should have a matching prereg row first.

When to invoke

  • Before a result is promoted from exploratory to a confirmatory manuscript claim.
  • Right after bt-tournament returns the top-2 hypotheses when the next run is explicitly confirmatory.
  • Whenever the user types /preregister.

Required arguments

arg meaning example
hypothesis_id id from mem_nodes (kind=hypothesis) hyp_a3f9...
metric_name exact claim text the engineer will pin later "test accuracy"
direction higher_better or lower_better higher_better
threshold number that separates met from missed 0.85
seed_count how many seeds the seed_perturb call must use 5
alpha nominal Type-I error rate 0.05
mc_correction bonferroni (default), none, or legacy alias bh bonferroni
family_id stable id shared by related confirmatory tests primary_metrics
family_size total number of tests planned in that family 4
heldout_dataset optional dataset name to be queried via query_heldout mnist-test

Workflow

  1. Call mcp__verify__list_preregistrations(hypothesis_id=...). If a row exists with status open, do not fail the session. Ask whether to reuse that lock, withdraw it outside this tool, or create a separate confirmatory prereg for a genuinely different metric.
  2. Before the first family member is resolved, define the full family. Use one family_id and the same locked family_size, alpha, and correction for all related tests. A standalone test gets an automatically generated family of 1.
  3. Call mcp__verify__preregister(...) with the exact metric text, threshold, family_id, and family_size.
  4. Surface the resulting prereg_id and family metadata before implementation.
  5. Pass prereg_id along the workflow so the confirmatory run stays linked.

Read the full file on GitHub · 58 lines

Changes

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.

  1. 4d ago First seen · 58 lines · 62 tokens per session scan A afb1e3b30d1d

Subscribe to this mod's changes

preregister is a skill published in the GitHub repository whenpoem/aiscientist (8 stars, last pushed 1mo ago), licensed MIT. It adds 62 tokens to every session and 866 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-31.

Related

Other skills, from other repositories

generate-inputs

Interactively generate all required EUREKA problem input files (INSTRUCTION.md, SUBMISSIONFORMAT.md, evaluate.py) and the launch script (run.sh) from a researcher's natural language description, then validate the evaluation pipeline.

THU-Team-Eureka/EurekAgent · 50 tokens

prepare-workspace

Validate problem setup, test the evaluation pipeline, and configure the environment before the propose-implement loop begins.

THU-Team-Eureka/EurekAgent · 25 tokens

baseline-comparison-audit

Audit whether a paper's baseline comparisons are COMPLETE, FAIR, and SIGNIFICANT: a required recent SOTA baseline is missing while 'best/SOTA' is claimed (HP-MISSING-BASELINE); a baseline is undertuned / given less compute-tuning-data, run at a mismatched config, or the equal-budget ablation-as-baseline is absent…

wanshuiyin/Anti-Autoresearch · 310 tokens

eval-design-forensics

Audit whether a paper's EVALUATION DESIGN actually measures what it claims and whether its reporting is complete — the validity layer family D (experiment-forensics) cannot reach. Three patterns: train/test leakage means the reported score may not measure generalization (HP-EVAL-LEAKAGE — adopts the Kapoor & Narayanan…

wanshuiyin/Anti-Autoresearch · 458 tokens

anti-autoresearch

End-to-end substantive-integrity forensic sweep of a research paper (especially autoresearch / AI-Scientist-style output). Orchestrates the whole pipeline: ingest (arxiv-id | pdf | dir → working dir + pdftotext for L0) → /evidence-ledger (artifact manifest + observability level L0/L1/L2 + span-anchored claims.json) →…

wanshuiyin/Anti-Autoresearch · 275 tokens

experiment-forensics

Audit experiment integrity against the evidence ledger. At L2 (repo + result files present) a fresh cross-model reviewer reads the eval code line-by-line for fake/derived ground truth, score self-normalization, phantom results (a paper number with no backing file/key), dead/uncalled metric code, verified-scope…

wanshuiyin/Anti-Autoresearch · 237 tokens