Community研究&データ分析github.com

MarcoGarcian/preregister — 事前登録書生成ツール

研究仕様書や自由記述の研究説明から、OSF、AsPredicted、またはAEA RCT Registry形式の構造化された事前登録書(Markdownファイル)を作成します。仮説、デザイン、サンプリング計画、分析計画、除外基準、推論基準をMUST/SHOULD/MAYの明確性フラグ付きで出力します。

preregister — 事前登録書生成ツール とは?

このスキルは、研究者がデータ収集前に事前登録書を作成するためのツールです。政治学、心理学ではOSF、実験経済学ではAEA RCT Registry、簡易登録にはAsPredictedの3形式に対応し、ユーザーが「preregister」「draft a preregistration」などと発言した際に起動します。入力は構造化されたMarkdown仕様書または自由記述の研究説明で、スキルはそこから仮説、デザイン、サンプル計画、分析計画などを抽出・整形し、各セクションにMUST(必須)、SHOULD(推奨)、MAY(任意)の注釈を付与します。必須情報が不足している場合は[CLARIFY:]プレースホルダーを挿入し、出力前に方向性のある仮説、推定子の指定、サンプルサイズの数値、除外基準の事前規定、内部一貫性(無作為化単位と分析単位の一致など)のクロスチェックを実行します。さらに、引用文献の事実確認(/verify-claims)をオプションで実行し、最終的にタイムスタンプ付きMarkdownファイルを出力します。Claude Code(Anthropic)、および類似のAIエージェント環境で動作し、研究の透明性と再現性を向上させます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/MarcoGarcian/claude-code-my-workflow/tree/HEAD/.claude/skills/preregister

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

/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つの入力モード:

  1. --input <path> — /interview-me によって生成された研究仕様書(quality_reports/specs/ に保存)または任意の構造化されたMarkdownファイル。仕様書を読み取り、以下を抽出:リサーチクエスチョン、仮説(方向性あり!)、データソース、デザイン、サンプル、分析アプローチ。仕様書に論文タイプが記録されている場合(/interview-me は **Paper type:** 行に例:survey-experiment と記述)、それを使用してスタイル選択を調整します。
  2. --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 付き) アクション:

  1. 仕様書を読む;**Paper type:** survey-experiment → デフォルトスタイル osf。
  2. 2つの方向性仮説、MTurk N=1,200、処置ダミーを用いたOLSを抽出。
  3. OSFドキュメントを生成、全MUSTセクション完了、1つのMAYは空白のまま。
  4. 仕様書以外に先行研究引用なし — 事後検証をスキップ。 結果: 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 付き) アクション:

  1. 仕様書を読む;ランダム化単位 = 村、主要アウトカム = 消費。
  2. AEA RCTフィールドを生成。仕様書にIRB番号なし → [CLARIFY: IRB承認番号]。
  3. クロスチェック:推定子(クラスターロバストOLS)、主要アウトカム記載、除外ルール(intent-to-treat)記載。合格。
  4. 先行研究引用なし — 事後検証をスキップ。 結果: ドキュメント作成。出力サマリーはAEA提出前に記入すべき1件の[CLARIFY:]アイテムをフラグ。

例3 — 自由記述説明、AsPredicted簡易フォーム

ユーザーが言う: 「次のプライミング実験をAsPredicted形式で事前登録して」(--input なし) アクション:

  1. 1〜3段落の説明を求める。
  2. ユーザーが段落を提供;仮説に方向性がない → 一度質問:「方向性は?」
  3. ユーザーが明確化;9つのAsPredictedフィールドに入力。
  4. サンプルサイズ停止ルールが省略 → [CLARIFY: 目標Nまたは停止ルール]。 結果: 簡易フォーム作成;1件のMUST [CLARIFY:] がフラグ;ユーザーはAsPredictedに貼り付ける前に記入するよう指示。

トラブルシューティング

「説明に結果が含まれています」 — 設計による。結果はメソッド+結果の記述に移動してください。事前登録は将来を見据えたものです。

引用事後検証がFAIL — claim-verifier が WebSearch / コーパスで引用論文を見つけられませんでした。引用は実在するが検証者が見逃した可能性あり(非常に新しい論文やペイウォール付き論文によくある — URLで明示的に引用する)か、または引用が幻覚です。アップロード前に手動で確認してください。

異なるレジストリが異なる項目を要求する — このスキルのマッピングが粗すぎる場合は、各レジストリ独自のテンプレートを使用してください。3つのスタイルで社会科学の事前登録の約90%をカバーします。エッジケース(PROSPERO、ClinicalTrials.gov、ISRCTN)は各レジストリのネイティブフォームが必要です。

出力ディレクトリが存在しない — quality_reports/preregistrations/.gitkeep が新しいフォークに存在するはずです。ない場合、スキルが書き込み前にディレクトリを作成します。

関連スキル