preregister — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited preregister (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Source. This skill is adapted from pedrohcgs/claude-code-my-workflow. The three-registry structure (OSF / AsPredicted / AEA RCT), the MUST / SHOULD / MAY clarity-flag taxonomy, and the retrospective-preregistration refusal gate are Pedro H.C. Sant'Anna's; this fork tunes the experiment templates for quantitative-marketing designs (online vignettes, MTurk / Prolific, conjoint, lab eye-tracking, livestreaming field tests).Produce a registry-ready preregistration document. The user uploads the result to a real registry (OSF / AsPredicted / AEA RCT Registry) — this skill writes the prose and structure, it does not submit anywhere.
Preregistration is a written commitment to your hypotheses, design, and analysis plan before you see the data (or, for observational analyses, before you analyse the realised focal outcome). It separates confirmatory tests from exploratory tests and protects against p-hacking, HARKing, and forking paths. Marketing's top journals (MKSCI, JMR, JCR, MS) increasingly expect preregistration for experimental work; AEA-style field experiments require it.
Marketing fits each registry roughly as follows:
Clinical trials (ClinicalTrials.gov, ISRCTN) and meta-analyses (PROSPERO) are out of scope — use those registries' own templates.
Two input modes:
/evaluate-idea-marketing, a Notion export, or a section pulled from a project planning doc). Read the spec and extract: research question, hypotheses (must be directional), data source, design, sample, primary analysis. If the spec lists paper_type: survey-experiment / field-experiment / conjoint / eye-tracking / observational, use that to bias the style choice.Refusal conditions (checked before any drafting):
/draft for a methods or results section?"Default style table (used when --style is not given):
| Signal in spec / description | Default style |
|---|---|
| Online vignette / MTurk / Prolific / quick lab experiment, 1-3 DVs | aspredicted |
| Conjoint, eye-tracking, multi-DV survey experiment, complex sampling | osf |
| Field experiment / RCT (livestream pilot, retailer pilot, app A/B) | aea-rct |
| Observational confirmatory study | osf (preanalysis plan variant) |
| Anything else / ambiguous | aspredicted |
Override with --style aspredicted|osf|aea-rct.
Produce the document in the chosen style. Do not merge style sections — the three registries differ in what they require.
Common to all styles, the document MUST include:
v0.1 for draft, v1.0 when uploaded).--input was given) so traceability survives.Style-specific sections:
Annotate each section with one of:
For each MUST that the input did not supply, write [CLARIFY: <specific question>] rather than fabricating content.
Refuse to mark the document "ready" if any of these fails:
lm() / lme4::lmer() / fixest::feols() / brms::brm() in R, or statsmodels.OLS / linearmodels.PanelOLS / pymer4 / pymc in Python — plus the primary outcome variable. "Regression" alone is insufficient. Stata is not supported by this skill — analyses are expected to run in R or Python.For each failure, the document gets a [CLARIFY: ...] placeholder; the document is written to disk but flagged in the output summary as "INCOMPLETE — N MUST items unresolved".
If the document cites prior literature in the rationale section, invoke a citation check via Task (a forked claim-verifier agent that never sees the draft). Pass the draft path and a list of explicit citations. The verifier returns PASS / PARTIAL / FAIL per citation. Surface any FAIL / PARTIAL in the output summary.
Skip post-flight if:
--no-verify.Write to <project>/preregistration_<study-slug>_<YYYYMMDD>.<ext>:
.tex (papers and PAPs live in LaTeX under <OVERLEAF_ROOT>/<PROJECT_SUBDIR>/). Use a minimal preamble compatible with an existing .tex workflow (article class, natbib, \Cref cross-references, \emph over \textit).--format md for OSF web-form pasting.Print to chat:
Preregistration draft saved: <project>/preregistration_<study-slug>_<YYYYMMDD>.tex
Style: <aspredicted|osf|aea-rct>
Target journal: <MKSCI|JMR|JCR|MS|...>
Sections: <count> total — <complete> complete, <clarify> with [CLARIFY:] placeholders
Citations verified: <PASS>/<PARTIAL>/<FAIL> (or "no citations to verify")
Next: review the [CLARIFY:] placeholders, fill in, then upload to <registry-url>Registry URLs:
aspredicted.orgosf.io/registriessocialscienceregistry.orgUser says: "preregister a vignette study testing whether attribute X increases booking intent" (no --input) Actions:
aspredicted (short online experiment).lm(booking_intent ~ attribute_x * gender + age + ...). Stopping rule: N = 800 on Prolific, recruit until quota.Result: Saved to <project>/preregistration_attribute-x-vignette_<YYYYMMDD>.tex. The user pastes into AsPredicted.
User says: "preregister my panel analysis before I see the sales data" (with --input ideas/panel-spec.md) Actions:
osf.fixest::feols() with author and genre-week FEs, clustered SEs at author.[CLARIFY: minimum within-author observations] placeholder.Result: Saved to <project>/preregistration_panel-analysis_<YYYYMMDD>.tex. The user reviews the one [CLARIFY:] and uploads to OSF.
User says: "draft an AEA RCT preregistration for the field pilot" (with --style aea-rct --input ideas/field-pilot.md) Actions:
[CLARIFY: IRB approval number].Result: Document written. Output summary flags 1 [CLARIFY:] item to fill before AEA submission.
/draft for methods / results writing.<project>/ if missing; if the project root is not yet under the Overleaf root, fall back to ~/.claude/cache/preregistrations/.pwr::pwr.t.test() itself (use /draft plus an R chunk, or a separate Bash call to Rscript).mcp__notion__notion-create-pages separately after the document is written./evaluate-idea-marketing — upstream; produces the spec this skill often consumes via --input./review-pap — downstream; runs a 6-agent adversarial review of the resulting PAP before upload./draft — for the methods section that mirrors the preregistration once data come in./cite — to add cited works to Zotero / .bib before / after this skill runs.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.