preregister — 사전등록 문서 생성기은(는) 무엇을 하나요?
레지스트리에 제출할 수 있는 사전등록 문서를 생성합니다. 사용자가 실제 레지스트리(OSF / AsPredicted / AEA RCT Registry)에 업로드합니다 — 이 스킬은 문장과 구조를 작성할 뿐, 어디에도 제출하지 않습니다.
사전등록을 해야 하는 이유
사전등록은 데이터를 보기 전에(또는 관찰 연구의 경우, 결과 변수를 분석하기 전에) 가설, 설계 및 분석 계획에 대한 서면 약속입니다. 이는 확인적(confirmatory) 검정을 탐색적(exploratory) 검정과 분리하고, p-해킹(p-hacking), HARKing, 분기 경로(forking-paths)로부터 여러분을 보호합니다. 분야에 따라 다른 레지스트리를 사용합니다:
- 정치학, 심리학, 광범위한 사회과학 → OSF (osf.io/registries)가 기본입니다. AsPredicted (aspredicted.org)는 실험을 위한 인기 있는 짧은 형식입니다.
- 경제학 현장 실험 → AEA RCT Registry (socialscienceregistry.org)는 2018년 이후 AEA 저널 제출 시 필수입니다.
- 공중 보건 / 임상 시험 → ClinicalTrials.gov 또는 ISRCTN (이 스킬의 대상이 아님 — 해당 시험 레지스트리의 자체 템플릿을 사용하세요).
사용 시기
- 실험(실험실, 현장 또는 설문)을 시작하기 전.
- 특정 연구 질문(RQ)에 대해 목표 모집단의 관찰 데이터를 수집하기 전.
- 접근 가능하지만 초점 가설에 대해 아직 검토하지 않은 데이터를 분석하기 전.
- 리뷰어가 서면 사전 분석 계획(preanalysis plan)을 요청했을 때 수정 및 재제출(R&R) 과정 중.
사용하지 말아야 할 경우
- 실제 결과를 확인한 후 "소급 사전등록"을 하려는 경우 — 그것은 사전등록이 아닙니다. 입력 설명에 결과가 포함된 경우 스킬이 거부합니다.
- 탐색적 분석 — 사전등록이 필요하지 않습니다. 투명한 라벨링만 필요합니다.
- 메타 분석 — 이 템플릿 대신 PROSPERO를 직접 사용하세요.
워크플로우
1단계 — 입력 읽기
두 가지 입력 모드:
--input <경로>—/interview-me가 생성한 연구 명세서(quality_reports/specs/에 저장됨) 또는 구조화된 마크다운 파일. 명세서를 읽고 추출: 연구 질문, 가설(방향성 있어야 함!), 데이터 출처, 설계, 표본, 분석 접근법. 명세서가 논문 유형을 기록한 경우(/interview-me는**Paper type:**줄에 기록, 예:survey-experiment), 이를 사용하여 스타일 선택을 편향시킵니다.--input없음 — 사용자에게 연구에 대한 1~3문단 설명을 요청한 후 진행합니다. 설명에 방향성 가설이 누락된 경우 한 번 요청합니다. 가짜로 만들지 마십시오.
거부 조건 (작성 전에 반드시 확인):
- 설명에 실제 결과가 포함된 경우("우리는 발견했다", "추정치는", "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를 읽습니다. 템플릿에는 세 가지 스타일 섹션이 있습니다. 선택한 스타일과 일치하는 섹션만 사용하십시오(병합하지 마세요 — 레지스트리가 다릅니다).
모든 스타일에 공통적으로 문서에는 다음이 포함되어야 합니다(MUST):
- 제목 및 저자.
- 날짜 및 버전.
- 소스 명세서로의 포인터(
--input이 제공된 경우) — 추적 가능성을 유지합니다.
스타일별 섹션:
osf— 가설(방향성, 번호 있음) · 설계 · 표집 계획 · 변수 · 분석 계획 · 추론 기준 · 데이터 제외 · 결측 데이터 처리 · 탐색적 분석(명확하게 표시) · 기타.aspredicted— AsPredicted 양식의 9개 번호 필드: (1) 데이터 수집 상태, (2) 가설, (3) 주요 종속 변수, (4) 조건, (5) 분석, (6) 이상치/제외, (7) 표본 크기 + 중단 규칙, (8) 기타 사항, (9) 이름(연구가 아닌 논문).aea-rct— 중재 · 결과(주요, 2차) · 주요 가설 · 표본(목표 N, 적격성, 무작위화 단위, 무작위화 방법) · IRB 승인 · 시험 날짜 · 검정력 계산 · 사전 분석 계획 첨부 · 상태(아직 진행 중 / 진행 중 / 완료됨).
각 섹션을 다음 중 하나로 주석 처리:
- MUST — 레지스트리에서 요구함; 이것 없이는 문서를 제출할 수 없음.
- SHOULD — 강력히 권장됨; 리뷰어가 기대함.
- MAY — 선택 사항; 관련이 있으면 포함.
templates/requirements-spec.md의 MUST/SHOULD/MAY 프레임워크를 재사용합니다. 입력이 제공하지 않은 각 MUST에 대해 내용을 조작하지 말고 [CLARIFY: <구체적인 질문>]을 작성합니다.
4단계 — 교차 검증 (디스크에 쓰기 전)
다음 중 하나라도 실패하면 문서를 "준비 완료"로 표시하는 것을 거부합니다:
- 가설 방향성. 각 가설은 방향을 포함해야 합니다("높은", "증가", "부정적으로 예측", "효과 없음"은 동등성 검정 하에서 방향성 주장으로 허용됨). 부호 없는 "연관됨"은 거부합니다.
- 추정량 명명. 분석 계획은 특정 추정량(OLS, logit, 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에 기록합니다(gitignore 처리됨 — 사전등록은 타임스탬프가 찍히고 외부에 업로드되도록 의도되었으며, 코드와 함께 커밋되지 않음).
채팅에 출력:
✓ 사전등록 초안 저장됨: quality_reports/preregistrations/<file>.md
스타일: <osf|aspredicted|aea-rct>
섹션: <개수> 총 — <완료> 완료, <명확화> [CLARIFY:] 플레이스홀더 있음
인용 확인됨: <PASS>/<PARTIAL>/<FAIL> (또는 "확인할 인용 없음")
다음 단계: [CLARIFY:] 플레이스홀더를 검토하고, 채운 후 <레지스트리-url>에 업로드하세요.
레지스트리 URL 포함: OSF → osf.io/registries, AsPredicted → aspredicted.org, AEA RCT → socialscienceregistry.org.
상호 참조
templates/preregistration-template.md— 이 스킬이 사용하는 세 가지 스타일 템플릿.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), 주요 결과 명시, 제외 규칙(의도-치료) 명시. 통과.
- 이전 문헌 인용 없음 — 사후 검증 건너뜀. 결과: 문서 작성됨. 출력 요약에 AEA 제출 전에 채워야 할 [CLARIFY:] 항목 1개 플래그.
예제 3 — 자유 형식 설명, AsPredicted 짧은 형식
사용자 말: "다음 점화 실험을 사전등록해 주세요, AsPredicted 스타일로" (--input 없음)
조치:
- 1~3문단 설명 요청.
- 사용자가 문단 제공; 가설에 방향성 없음 → 한 번 질문: "방향성이 어떻게 됩니까?"
- 사용자가 명확히 함; 9개 AsPredicted 필드 채움.
- 표본 크기 중단 규칙 누락 →
[CLARIFY: 목표 N 또는 중단 규칙]. 결과: 짧은 형식 작성됨; 하나의 MUST [CLARIFY:] 플래그 지정됨; 사용자에게 AsPredicted에 붙여넣기 전에 채우라고 알림.
문제 해결
"설명에 결과가 포함되어 있습니다" — 의도적입니다. 결과를 방법 및 결과 보고서로 옮기세요. 사전등록은 미래 지향적입니다.
인용 사후 검증이 FAIL 반환 — claim-verifier가 WebSearch/코퍼스에서 인용된 논문을 찾을 수 없습니다. 인용이 실제이지만 검증기가 놓친 경우(매우 최근/유료 논문에서 흔함 — URL과 함께 명시적으로 인용)이거나, 인용이 환각(hallucination)된 것입니다. 업로드 전에 수동으로 검사하세요.
다른 레지스트리가 다른 것을 요구함 — 이 스킬의 매핑이 너무 거칠다면 레지스트리 자체 템플릿을 사용하세요. 세 가지 스타일은 사회 과학 사전등록의 약 90%를 다룹니다. 경계 사례(PROSPERO, ClinicalTrials.gov, ISRCTN)는 레지스트리의 기본 양식이 필요합니다.
출력 디렉터리가 존재하지 않음 — quality_reports/preregistrations/.gitkeep는 새 포크에 존재해야 합니다. 없으면 스킬이 쓰기 전에 디렉터리를 생성합니다.