/preregister — 事前登録書生成ツール
レジストリ提出可能な事前登録書を作成します。ユーザーは実際のレジストリ(OSF / AsPredicted / AEA RCT Registry)にアップロードします。このスキルは文章と構造を作成するものであり、どこにも提出しません。
事前登録の理由
事前登録とは、データを見る前に(または観察研究では、結果を分析する前に)、仮説、デザイン、分析計画を文書化してコミットすることです。確認的テストと探索的テストを分離し、p-hacking、HARKing、フォーキングパスを防ぎます。分野によって使用するレジストリが異なります。
- 政治学、心理学、広範な社会科学 → OSF (osf.io/registries) がデフォルトです。AsPredicted (aspredicted.org) は実験向けの人気のある簡易フォームです。
- 経済学フィールド実験 → AEA RCT Registry (socialscienceregistry.org) は、2018年以降AEAジャーナル投稿時に必須です。
- 公衆衛生 / 臨床試験 → ClinicalTrials.gov または ISRCTN(このスキルの対象外 — 各試験レジストリのテンプレートを使用してください)。
使用するタイミング
- 実験(ラボ、フィールド、またはサーベイ)を開始する前。
- 特定のリサーチクエスチョンのために対象集団から観察データを収集する前。
- アクセス権はあるが、焦点となる仮説についてまだ検討していないデータを分析する前。
- R&R中に査読者が書面による事前分析計画を求めた場合。
使用すべきでないタイミング
- 実際の結果を見た後に「事後的に事前登録」しようとする場合 — それは事前登録ではありません。入力説明に結果が含まれている場合、スキルは拒否します。
- 探索的分析の場合 — 事前登録は不要ですが、透明性のあるラベル付けが必要です。
- メタ分析の場合 — このテンプレートではなく、PROSPEROを直接使用してください。
ワークフロー
フェーズ1 — 入力の読み取り
2つの入力モード:
--input <path>—/interview-meによって生成された研究仕様書(quality_reports/specs/に保存)または任意の構造化されたMarkdownファイル。仕様書を読み取り、以下を抽出:リサーチクエスチョン、仮説(方向性あり!)、データソース、デザイン、サンプル、分析アプローチ。仕様書に論文タイプが記録されている場合(/interview-meは**Paper type:**行に例:survey-experimentと記述)、それを使用してスタイル選択を調整します。--inputなし — ユーザーに研究の1〜3段落の説明を求め、その後処理を進めます。説明に方向性のある仮説がない場合は、一度だけ質問します。捏造は行いません。
拒否条件(ドラフト作成前に必ず確認):
- 説明に実際の結果が含まれている(「we found」「the estimate is」「p =」)→ 「事前登録は将来を見据えたものです。この説明には結果が含まれています。
/respond-to-refereesまたはメソッドセクションの作成を意図されましたか?」と拒否。 - 説明に検証可能な仮説がまったくない(純粋な探索的枠組み)→ フラグを立て、ユーザーにOSFテンプレートの探索的分析バージョンを希望するか質問(有用ではありますが、登録済みの確認的テストではありません)。
フェーズ2 — スタイルの選択
分野ごとのデフォルト(--style が指定されていない場合に使用):
| 分野のシグナル | デフォルトスタイル |
|---|---|
**Paper type:** survey-experiment または政治学 / 心理学の文脈 | osf |
| 経済学のフィールド実験 / 「RCT」とラベル付け / IRB承認のランダム化介入 | aea-rct |
| 9質問の簡易フォーム依頼、ラボ心理学実験、時間制約あり | aspredicted |
| その他 | osf |
ユーザーは --style osf|aspredicted|aea-rct で上書き可能。
フェーズ3 — ドキュメントの生成
templates/preregistration-template.md を読み取ります。テンプレートには3つのスタイルセクションがあります。選択したスタイルに一致するセクションのみを使用(マージしないでください — レジストリは異なります)。
全スタイルに共通して、ドキュメントには以下を含める必要があります:
- タイトルと著者。
- 日付とバージョン。
- ソース仕様書へのポインタ(
--inputが指定された場合)— トレーサビリティを確保するため。
スタイル固有のセクション:
osf— 仮説(方向性あり、番号付き)・デザイン・サンプリング計画・変数・分析計画・推論基準・データ除外・欠損データ処理・探索的分析(明確にラベル付け)・その他。aspredicted— AsPredictedフォームに従った9つの番号付きフィールド:(1) データ収集状況、(2) 仮説、(3) 主要従属変数、(4) 条件、(5) 分析、(6) 外れ値/除外、(7) サンプルサイズ + 停止ルール、(8) その他、(9) 名称(論文ではなく研究)。aea-rct— 介入・アウトカム(主要、副次)・主要仮説・サンプル(目標N、適格性、ランダム化単位、ランダム化方法)・IRB承認・試験日程・検出力計算・事前分析計画の添付・ステータス(未開始 / 進行中 / 完了)。
各セクションに次のいずれかを注釈付け:
- MUST — レジストリ必須;これなしでは提出不可。
- SHOULD — 強く推奨;査読者は期待する。
- MAY — 任意;関連する場合に含める。
templates/requirements-spec.md の MUST/SHOULD/MAY フレームワークを再利用します。入力で提供されなかった各 MUST について、内容を捏造する代わりに [CLARIFY: <具体的な質問>] と記述します。
フェーズ4 — クロスチェック(ディスク書き込み前)
以下のいずれかに失敗した場合、ドキュメントを「準備完了」とマークしません:
- 仮説の方向性。 各仮説は方向性を含む必要があります(「より高い」「増加する」「負に予測する」—「効果なし」も等価性検定の下での方向性主張として許容)。「関連する」は符号なしで拒否。
- 推定子の指定。 分析計画は特定の推定子(OLS、ロジット、fixest::feols、lme4::lmer、ATT 差分の平均など)と主要アウトカム変数を指定。「回帰」のみでは不十分。
- サンプル計画の数値。 目標N、停止ルール、または検出力計算の目標が存在。「できるだけ多く」はサンプル計画ではありません。RCTおよび前向きデザインの場合、
/power-analysisのSKILL.md(読み取り専用 — スキルはユーザー起動のみのため、ここから呼び出すことはできません)に従い、このフィールド用のMDE / 必要Nと貼り付け可能な検出力パラグラフを生成。 - 事前の除外基準。 外れ値と除外ルールがデータを見る前に述べられている(「完了時間が1分未満の観測は除外する」)。漠然とした「外れ値は対処する」は不合格。
- 内部一貫性。 デザインがランダム化されている場合、ランダム化の単位が分析の単位と一致するか、分析計画がクラスタリングに対処している。観察研究の場合、識別戦略が述べられている。
各失敗に対し、ドキュメントに [CLARIFY: …] プレースホルダーが挿入されます。ドキュメントはディスクに書き込まれますが、出力サマリーでは「INCOMPLETE — N件のMUST項目未解決」とフラグ付けされます。
フェーズ5 — 事後検証
ドキュメントが根拠セクションで先行研究を引用している場合(例:「Hainmueller et al. 2014 に基づき、我々は…を期待する」)、Agent ツールを介して /verify-claims を呼び出し、これらの引用を事実確認します。ドラフトパスと明示的な引用リストを渡します。claim-verifier エージェント(新しいコンテキスト、ドラフトを見ることはありません)は引用ごとに PASS / PARTIAL / FAIL を返します。出力サマリーにFAIL/PARTIALを表示します。
以下の場合、事後検証をスキップ:
- ドキュメントに先行研究の引用がない。
- ユーザーが
--no-verifyを渡した(/lit-reviewおよび/research-ideationの事後検証から継承されたフラグ)。
フェーズ6 — 出力
quality_reports/preregistrations/YYYY-MM-DD_<slug>.md に書き込み(gitignored — 事前登録書はタイムスタンプ付きで外部にアップロードされるべきであり、コードと一緒にコミットされるべきではありません)。
チャットに出力:
✓ 事前登録書ドラフトを保存: quality_reports/preregistrations/<file>.md
スタイル: <osf|aspredicted|aea-rct>
セクション: <count> 合計 — <complete> 完了、<clarify> 件 [CLARIFY:] プレースホルダー
引用検証: <PASS>/<PARTIAL>/<FAIL>(または「検証する引用なし」)
次のステップ: [CLARIFY:] プレースホルダーを確認し、記入後、<registry-url> にアップロード
レジストリURLを含める:OSF → osf.io/registries、AsPredicted → aspredicted.org、AEA RCT → socialscienceregistry.org。
相互参照
templates/preregistration-template.md— このスキルが使用する3つのスタイルテンプレート。templates/requirements-spec.md— ここで再利用される MUST/SHOULD/MAY 注釈言語。.claude/skills/interview-me/SKILL.md—--inputでこのスキルが消費する仕様書を生成。.claude/skills/power-analysis/SKILL.md— サンプル計画フィールド(RCT)のMDE / 必要N + 検出力パラグラフを提供するために参照(呼び出しはしない)。.claude/skills/verify-claims/SKILL.md— フェーズ5で引用事後検証のためにこれを呼び出す。.claude/references/discipline-cards.md—--style選択を駆動する分野デフォルト。.claude/rules/replication-protocol.md— 事前登録は前方コミットメント;再現プロトコルは後方契約。
例
例1 — 仕様書からの政治学サーベイ実験
ユーザーが言う: 「この研究を事前登録して」(--input quality_reports/specs/2026-04-15_priming-effects.md 付き)
アクション:
- 仕様書を読む;
**Paper type:** survey-experiment→ デフォルトスタイルosf。 - 2つの方向性仮説、MTurk N=1,200、処置ダミーを用いたOLSを抽出。
- OSFドキュメントを生成、全MUSTセクション完了、1つのMAYは空白のまま。
- 仕様書以外に先行研究引用なし — 事後検証をスキップ。
結果:
quality_reports/preregistrations/2026-04-15_priming-effects.mdに保存。ユーザーはOSFにアップロード。
例2 — 経済学フィールド実験、AEA RCT Registry
ユーザーが言う: 「現金給付パイロットのAEA RCT事前登録書を作成して」(--style aea-rct --input quality_reports/specs/2026-03-10_ct-pilot.md 付き)
アクション:
- 仕様書を読む;ランダム化単位 = 村、主要アウトカム = 消費。
- AEA RCTフィールドを生成。仕様書にIRB番号なし →
[CLARIFY: IRB承認番号]。 - クロスチェック:推定子(クラスターロバストOLS)、主要アウトカム記載、除外ルール(intent-to-treat)記載。合格。
- 先行研究引用なし — 事後検証をスキップ。 結果: ドキュメント作成。出力サマリーはAEA提出前に記入すべき1件の[CLARIFY:]アイテムをフラグ。
例3 — 自由記述説明、AsPredicted簡易フォーム
ユーザーが言う: 「次のプライミング実験をAsPredicted形式で事前登録して」(--input なし)
アクション:
- 1〜3段落の説明を求める。
- ユーザーが段落を提供;仮説に方向性がない → 一度質問:「方向性は?」
- ユーザーが明確化;9つのAsPredictedフィールドに入力。
- サンプルサイズ停止ルールが省略 →
[CLARIFY: 目標Nまたは停止ルール]。 結果: 簡易フォーム作成;1件のMUST [CLARIFY:] がフラグ;ユーザーはAsPredictedに貼り付ける前に記入するよう指示。
トラブルシューティング
「説明に結果が含まれています」 — 設計による。結果はメソッド+結果の記述に移動してください。事前登録は将来を見据えたものです。
引用事後検証がFAIL — claim-verifier が WebSearch / コーパスで引用論文を見つけられませんでした。引用は実在するが検証者が見逃した可能性あり(非常に新しい論文やペイウォール付き論文によくある — URLで明示的に引用する)か、または引用が幻覚です。アップロード前に手動で確認してください。
異なるレジストリが異なる項目を要求する — このスキルのマッピングが粗すぎる場合は、各レジストリ独自のテンプレートを使用してください。3つのスタイルで社会科学の事前登録の約90%をカバーします。エッジケース(PROSPERO、ClinicalTrials.gov、ISRCTN)は各レジストリのネイティブフォームが必要です。
出力ディレクトリが存在しない — quality_reports/preregistrations/.gitkeep が新しいフォークに存在するはずです。ない場合、スキルが書き込み前にディレクトリを作成します。