preregistered-research
An agent skill for running an empirical study the preregistered way, with a tamper-evident record.
It teaches the method (design review before data, a frozen protocol, numbered decisions and deviations, gates, guarded expensive steps, a budget, honest reporting of null results) and ships a small command-line tool that keeps the record: scripts/ledger.mjs.
What is inside
| Path | Content |
|---|
SKILL.md | The sequence and the rules |
references/method.md | The method in full |
references/templates.md | Protocol, decision, deviation, gate review, transparency report |
references/cli.md | Every command, exit codes, file layout, status rules |
scripts/ledger.mjs | The command-line tool |
scripts/lib/ledger.mjs | The engine, identical to the one in research-ledger-mcp |
Requirements
Node.js 20 or later. No packages to install, no network access, no account.
Quick start
cd my-study
node /path/to/skill/scripts/ledger.mjs init --title "My study" --budget 40
node /path/to/skill/scripts/ledger.mjs hypothesis --statement "x raises y in the full sample" --test "OLS of y on x, clustered by unit" --rule "coefficient > 0, one-sided p < 0.05"
node /path/to/skill/scripts/ledger.mjs freeze --file protocol.md --file analysis.py
node /path/to/skill/scripts/ledger.mjs status
The record is written to .research/ in the project. Commit it with the work.
Limits
- The hash chain shows that a record was edited, deleted, reordered or cut off. It does not stop someone from rebuilding the whole ledger; keep a copy of the root and head hashes outside the project if a third party must be convinced.
- Timestamps are the local clock.
- The tool records what it is told. It does not run or watch the analysis.
Permissions
Reads the files you list (to hash them) and writes inside .research/ of the project root. Runs with node, which is why the manifest declares shell.
Licence
MIT