Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Alterlab Preregistration Discipline

ASecurity

Enforces pre-registration discipline with the Iron Law NO DATA ANALYSIS WITHOUT A PRE-REGISTERED ANALYSIS PLAN FIRST, a spirit-vs-letter line, an Excuse-vs-Reality rationalization table, and a Red-Flags-STOP list (HARKing, optional stopping, post-hoc covariates, outlier-dropping, test-shopping). Runs a PLAN/COLLECT/CONFIRM/EXPLORE workflow that freezes hypotheses, tests, exclusions, and stopping rules before data, then forces unplanned findings to be labeled exploratory (their p-values lose c...

158 stars
0 votes
0 copies
0 views
Added 10/6/2026
researchpythongobashapi

Works with

api

Security Analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned 10/6/2026

$npx -y skills add NVlabs/Skill2Env --skill alterlab-preregistration-discipline --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Alterlab Preregistration Discipline?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Alterlab Preregistration Discipline
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nvlabs-alterlab-preregistration-discipline/badge)](https://www.skillsdirectory.com/skills/nvlabs-alterlab-preregistration-discipline)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: alterlab-preregistration-discipline
description: "Enforces pre-registration discipline with the Iron Law NO DATA ANALYSIS WITHOUT A PRE-REGISTERED ANALYSIS PLAN FIRST, a spirit-vs-letter line, an Excuse-vs-Reality rationalization table, and a Red-Flags-STOP list (HARKing, optional stopping, post-hoc covariates, outlier-dropping, test-shopping). Runs a PLAN/COLLECT/CONFIRM/EXPLORE workflow that freezes hypotheses, tests, exclusions, and stopping rules before data, then forces unplanned findings to be labeled exploratory (their p-values lose confirmatory status, per COS confirmatory/exploratory model). Orchestrates, not replaces, alterlab-open-science (OSF/AsPredicted registration), alterlab-statistical-analysis (test selection, assumptions), and alterlab-scientific-thinking (bias grading). Use when analyzing data without a frozen plan, switching the primary outcome or adding covariates after seeing results, weighing early stopping, dropping outliers post-hoc, pre-registering a study, or rationalizing deviation. Part of the AlterLab Academic Skills suite."
license: MIT
allowed-tools: Read Write Edit Bash(python:*)
compatibility: No API key required. Judgment/discipline skill; the optional helper runs locally via `uv run python` (stdlib only). Defers all registration mechanics and statistics to the sibling skills it orchestrates.
metadata:
  skill-author: AlterLab
  version: "1.0.0"
  last_updated: "2026-06-06"
  depends_on: "alterlab-open-science, alterlab-statistical-analysis, alterlab-scientific-thinking"
---

# Pre-registration Discipline (Iron Law)

**Skill type: DISCIPLINE-ENFORCING.** This is not a how-to and not a reference. It
exists to stop one specific failure mode — exploiting researcher degrees of freedom
after seeing the data, then reporting the result as if it were planned. It governs
*when you are allowed to claim a confirmatory result*; it does not teach you how to
pick a test or fill an OSF form. Those are sibling skills (see the routing table).

```
THE IRON LAW

    NO DATA ANALYSIS WITHOUT A PRE-REGISTERED ANALYSIS PLAN FIRST.
```

The frozen hypothesis + analysis plan is the research analog of a failing test
written before the implementation: you commit to what would count as a result
*before* you can see whether you got one. Run an unplanned analysis and the rule is
absolute — **it is exploratory. Label it, timestamp it, and you cannot report its
p-value as confirmatory.** (Per the Center for Open Science confirmatory/exploratory
model: in exploratory work, p-values lose their diagnostic value and findings require
independent replication. Verified at https://www.cos.io/initiatives/prereg.)

> **Violating the letter of the pre-registration is violating the spirit of the science.**

That line pre-empts the predictable defense — *"pre-registration is bureaucratic, I'm
following the scientific spirit."* There is no spirit-following exception. Iterate
freely in the EXPLORE phase; the confirmatory claim needs the frozen plan.

## When to Use This Skill

Use it the moment a confirmatory claim is on the table without a frozen plan behind
it, or the moment the plan is being bent after data are visible:

- About to analyze a dataset and there is no written, pre-data analysis plan.
- Switching the primary outcome, adding/removing a covariate, or changing the test
  *after* seeing results or p-values.
- Peeking at accruing data and weighing whether to stop now ("it's already significant").
- Dropping outliers, transforming variables, or changing exclusions that were not
  pre-specified.
- Drafting an OSF / AsPredicted / PROSPERO pre-registration (route the *mechanics* to
  `alterlab-open-science`; this skill enforces that the plan is actually *frozen* and
  honored).
- Rationalizing a deviation from an existing registration.
- A deadline-pressure ask like *"just p-hack this borderline result into something
  publishable."* — refuse the framing; offer the PLAN/CONFIRM/EXPLORE path instead.

### Does NOT Trigger

This skill is the *gatekeeper*, not the *toolbox*. It orchestrates siblings and routes
everything mechanical away. Route adjacent requests as follows:

| The request is really about… | Route to | Not this skill because… |
|---|---|---|
| Registration mechanics: OSF Registries / AsPredicted templates / PROSPERO, DMPs, FAIR data, repository choice, registered reports | `alterlab-open-science` | That skill owns the *how to register*; this one only enforces *freeze and honor it*. |
| Which test to run, assumption checks (Shapiro/Levene), power/sample-size, APA results | `alterlab-statistical-analysis` | Test *selection and execution* is statistics, not pre-registration discipline. |
| Grading evidence quality (GRADE, RoB), spotting biases/confounders, design validity | `alterlab-scientific-thinking` | Judging an *existing* body of evidence ≠ committing to a plan before data. |
| Whether a citation exists / supports a claim | `alterlab-citation-verifier` | Citation integrity, not analysis-plan integrity. |
| Reporting completeness of an analysis already run (effect sizes, CIs, every test disclosed) | `alterlab-results-transparency` | That is the *reporting* gate downstream of CONFIRM/EXPLORE. |
| Choosing among candidate tests for a borderline distribution before any peeking | `alterlab-test-selection-guard` | Locking the test choice is its own guard; this skill assumes the test is already in the frozen plan. |
| Writing a TÜBİTAK / grant proposal's methods section | `alterlab-tubitak-proposal` / `alterlab-grant-reporting` | Proposal authoring, not pre-registration enforcement. |
| Research ethics approval / KVKK / data-management compliance | `alterlab-tr-research-ethics` / `alterlab-kvkk-dmp` | Ethics & data governance, distinct from analysis-plan freezing. |

**REQUIRED BACKGROUND** (this skill orchestrates, it does not reimplement):
`alterlab-open-science` for the registration artifact, `alterlab-statistical-analysis`
for test choice + assumptions, `alterlab-scientific-thinking` for bias framing. When a
step needs any of those, hand off — do not restate their content here.

## The Workflow: PLAN → COLLECT → CONFIRM → EXPLORE

This is the research analog of red → green → refactor. Each phase has an exit gate; you
may not enter the next phase until the current gate passes.

### 1. PLAN — freeze it before any data are visible

Write down, and lock, **all** of:

1. The hypotheses (directional where applicable).
2. The primary outcome and any secondary outcomes — ranked.
3. The exact test(s) for each hypothesis (defer the *choice* to
   `alterlab-statistical-analysis`; record the decision here).
4. Inclusion/exclusion rules and the **outlier rule**, pre-specified.
5. The stopping rule / planned sample size (so optional stopping is off the table).
6. Covariates, transformations, and how missing data are handled.

Register the artifact via `alterlab-open-science` (OSF Registries / AsPredicted /
PROSPERO). **Gate:** the plan exists, is timestamped, and nothing in it depends on
having seen the outcome data. If you cannot answer "what result would falsify this?"
you are not done planning.

### 2. COLLECT — data, untouched

Collect according to the stopping rule. **Do not peek at the outcome to decide whether
to keep going.** If an interim look is genuinely needed, it had to be a pre-specified
sequential design (record that in PLAN). **Gate:** data collection matched the frozen
rule; no outcome-dependent stopping occurred.

### 3. CONFIRM — run exactly the planned tests

Run the pre-specified tests, in the pre-specified order, on the pre-specified sample.
Assumption checks (via `alterlab-statistical-analysis`) run and are reported **before**
interpreting the result — you do not get to swap the test because an assumption failed
unless the swap was pre-specified; an unplanned swap demotes the result to EXPLORE.
**Gate:** every confirmatory number traces to a line in the frozen plan.

### 4. EXPLORE — everything else, explicitly flagged

Anything not in the frozen plan lives here: new subgroups, post-hoc covariates,
alternative tests, interesting patterns. This work is valuable — it generates the
*next* study's hypotheses — but it is reported under an **Exploratory** heading, its
p-values are descriptive not confirmatory, and it carries a "requires replication"
caveat. **Gate:** every exploratory finding is labeled as such; none is laundered into
the confirmatory narrative.

A decision flowchart and the full phase gates live in
[references/workflow_gates.md](references/workflow_gates.md).

## Excuse vs. Reality

The predictable rationalizations, and what is actually happening. (Seeded from the
documented researcher-degrees-of-freedom literature — see
[references/researcher_degrees_of_freedom.md](references/researcher_degrees_of_freedom.md).)

| Excuse | Reality |
|---|---|
| "The data suggested a better test/model." | You are fitting noise. That is HARKing — hypothesizing after results are known. Report it as exploratory. |
| "We only peeked once." | Optional stopping inflates the Type I error rate. Report the (pre-specified) sequential design, or stop peeking. |
| "Pre-registration is rigid; science is iterative." | Iterate in the EXPLORE section. The confirmatory claim still needs the frozen plan. |
| "We dropped 3 outliers to meet normality." | Outlier rules must be pre-specified, or reported as a sensitivity analysis — not a silent edit. |
| "This covariate obviously belongs in the model." | "Obvious" post-hoc = a researcher degree of freedom. Pre-specify it, or flag it as exploratory. |
| "We switched to Mann–Whitney because the t-test wasn't significant." | Choosing a test by its p-value is test-shopping. Pre-register the decision rule or label the result exploratory. |
| "The deviation follows the spirit of the registration." | Violating the letter is violating the spirit. There is no spirit exception. |
| "It's only exploratory, so registration is overkill." | Then label every finding exploratory and claim no confirmatory p-values. You don't get confirmatory credit without the plan. |

## Red Flags — STOP

If you catch yourself (or the user) thinking any of these, **STOP**:

- "Let me just try a different test and see."
- "I'll drop these outliers and rerun."
- "The effect is there if I add this one covariate."
- "We can stop collecting now — it's already significant."
- "I'll just report the analyses that worked."
- "This subgroup is fascinating (we didn't predict it, but…)."
- "Let me change the primary outcome to the one that came out."
- "Pre-registration is overkill for a study like this."

All of these mean the same thing: **you are exploiting researcher degrees of freedom.**
Either return to the frozen plan, or label the work exploratory and forfeit the
confirmatory claim. There is no third option.

## The Multiple-Comparisons Escalation Gate

A hard, countable rule (the analog of "3 failed fixes = wrong architecture"):

> Ran **3+ tests on the same hypothesis** searching for significance? STOP. This is
> multiple comparisons / test-shopping. Either correct for **all** of them (Bonferroni /
> Benjamini–Hochberg FDR — via `alterlab-statistical-analysis`) or declare the whole
> analysis exploratory. Do **not** run test #4 to find p < .05.

## Deviation Disclosure Gate

If a deviation from the frozen plan is unavoidable (a genuine error in the plan, an
impossible assumption), it is not silently absorbed. Run, in order:

1. **STATE** the original frozen specification (quote the plan).
2. **STATE** the deviation and the concrete reason it was forced.
3. **CLASSIFY** the affected result as exploratory unless the deviation provably
   cannot have been outcome-driven.
4. **DISCLOSE** the deviation in the manuscript's transparency/deviations section
   (route reporting completeness to `alterlab-results-transparency`).

You can run a quick structured self-audit of a plan-vs-actual story with the optional
helper:

```bash
uv run python skills/methodology/alterlab-preregistration-discipline/scripts/prereg_check.py \
    --plan plan.json --actual actual.json
```

It is a stdlib-only checklist scorer (no network, no third-party APIs) — it does **not**
run statistics. See its `--help`.

## Self-Check Before Claiming a Confirmatory Result

- Does a frozen, timestamped plan exist, written before the outcome data were visible?
- Does every confirmatory number trace to a line in that plan?
- Were assumption checks run and reported before interpretation?
- Is every unplanned analysis under an **Exploratory** heading with a replication caveat?
- Are all deviations disclosed, not absorbed?

Any "no" → the result is exploratory, not confirmatory. Say so plainly.

## References

- [references/workflow_gates.md](references/workflow_gates.md) — the PLAN/COLLECT/CONFIRM/EXPLORE
  phase gates and decision flowchart in full.
- [references/researcher_degrees_of_freedom.md](references/researcher_degrees_of_freedom.md) —
  the documented failure modes (HARKing, optional stopping, p-hacking, the garden of
  forking paths) this skill is built to catch, with sources.
- Center for Open Science — Preregistration. https://www.cos.io/initiatives/prereg
  (confirmatory vs. exploratory model; verified during authoring).
- Orchestrated siblings: `alterlab-open-science`, `alterlab-statistical-analysis`,
  `alterlab-scientific-thinking`.

Part of the AlterLab Academic Skills suite.

Attribution

NVlabsNVlabs
View sourceSee grades on GitHubMore from NVlabs →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Competitor Analysis

This skill provides comprehensive analysis of competitor SEO and GEO strategies, revealing what's working in your market and identifying opportunities to outperform the competition.

1823 votes

Deep Research

Universal deep research agent team. 13-agent pipeline for rigorous academic research on any topic. 8 modes: full research, quick brief, paper review, lit-review, fact-check, three-way literature scan, Socratic guided research dialogue, and systematic review with optional meta-analysis. Covers research question formulation, Socratic mentoring, methodology design, systematic literature search, source verification, cross-source synthesis, risk of bias assessment, meta-analysis, APA 7.0 report co...

502942 votes

Paperclip Distill

Use when an operation issue is a Paperclip cursor-window, distill, or backfill — `operationType: "distill"` or `"backfill"` and the body references a Paperclip source bundle for a project or root issue. Turn raw Paperclip activity into a wiki-insightful project page, decisions log, and history note. This skill exists specifically to replace the stiff, datestamp-heavy templated output that the deterministic distiller produces.

953191 votes

Academic Pipeline

Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory, coverage-bounded integrity checks, two-stage peer review, and auditable quality-assurance artifacts. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end p...

502941 votes

Literature Review

Assistance with writing literature reviews by searching for academic sources via Semantic Scholar, OpenAlex, Crossref and PubMed APIs. Use when the user needs to find papers on a topic, get details for specific DOIs, or draft sections of a literature review with proper citations.

6511 votes
View all in research →