Community연구 & 데이터 분석github.com

/preregister — 사전등록 문서 생성기

연구 명세서나 자유 형식의 연구 설명으로부터 구조화된 사전등록 문서(OSF, AsPredicted 또는 AEA RCT Registry 스타일)를 작성합니다. 마크다운 파일로 가설, 설계, 표집 계획, 분석 계획, 제외 기준, 추론 기준 등을 포함하며 MUST / SHOULD / MAY 명확성 플래그로 주석이 달립니다. 사용자가 "preregister", "draft a preregistration", "OSF preregistration", "AsPredicted", "AEA RCT registry", "PAP", "preanalysis plan"이라고 말하거나 실험/데이터 수집을 시작하기 전에 사용하세요.

preregister — 사전등록 문서 생성기란 무엇인가요?

이 스킬은 연구자가 데이터를 보기 전에 가설, 설계 및 분석 계획을 문서화하는 사전등록 문서를 생성합니다. 세 가지 주요 스타일(OSF, AsPredicted, AEA RCT Registry)을 지원하며 정치학, 심리학, 경제학 실험 등 다양한 분야에 맞춰져 있습니다. 사용자는 구조화된 연구 명세서(`--input`) 또는 자유 형식 설명을 제공할 수 있으며, 스킬은 방향성 가설, 추정량 지정, 표본 계획 수치화, 사전 제외 기준 등 핵심 품질 검사를 자동으로 수행합니다. 또한 인용된 문헌에 대한 사실 확인(Phase 5, `verify-claims` 호출)을 수행하고, 미완료된 필수 항목은 `[CLARIFY: ...]` 플레이스홀더로 표시하여 사용자가 실제 레지스트리에 업로드하기 전에 검토하고 보완할 수 있도록 합니다. 결과 파일은 `quality_reports/preregistrations/` 디렉토리에 타임스탬프와 함께 저장되어 외부에 업로드하기 전에 최종 점검할 수 있습니다.

지원 대상✓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)에 업로드합니다 — 이 스킬은 문장과 구조를 작성할 뿐, 어디에도 제출하지 않습니다.

사전등록을 해야 하는 이유

사전등록은 데이터를 보기 전에(또는 관찰 연구의 경우, 결과 변수를 분석하기 전에) 가설, 설계 및 분석 계획에 대한 서면 약속입니다. 이는 확인적(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단계 — 입력 읽기

두 가지 입력 모드:

  1. --input <경로> — /interview-me가 생성한 연구 명세서(quality_reports/specs/에 저장됨) 또는 구조화된 마크다운 파일. 명세서를 읽고 추출: 연구 질문, 가설(방향성 있어야 함!), 데이터 출처, 설계, 표본, 분석 접근법. 명세서가 논문 유형을 기록한 경우(/interview-me는 **Paper type:** 줄에 기록, 예: survey-experiment), 이를 사용하여 스타일 선택을 편향시킵니다.
  2. --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 포함) 조치:

  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), 주요 결과 명시, 제외 규칙(의도-치료) 명시. 통과.
  4. 이전 문헌 인용 없음 — 사후 검증 건너뜀. 결과: 문서 작성됨. 출력 요약에 AEA 제출 전에 채워야 할 [CLARIFY:] 항목 1개 플래그.

예제 3 — 자유 형식 설명, AsPredicted 짧은 형식

사용자 말: "다음 점화 실험을 사전등록해 주세요, AsPredicted 스타일로" (--input 없음) 조치:

  1. 1~3문단 설명 요청.
  2. 사용자가 문단 제공; 가설에 방향성 없음 → 한 번 질문: "방향성이 어떻게 됩니까?"
  3. 사용자가 명확히 함; 9개 AsPredicted 필드 채움.
  4. 표본 크기 중단 규칙 누락 → [CLARIFY: 목표 N 또는 중단 규칙]. 결과: 짧은 형식 작성됨; 하나의 MUST [CLARIFY:] 플래그 지정됨; 사용자에게 AsPredicted에 붙여넣기 전에 채우라고 알림.

문제 해결

"설명에 결과가 포함되어 있습니다" — 의도적입니다. 결과를 방법 및 결과 보고서로 옮기세요. 사전등록은 미래 지향적입니다.

인용 사후 검증이 FAIL 반환 — claim-verifier가 WebSearch/코퍼스에서 인용된 논문을 찾을 수 없습니다. 인용이 실제이지만 검증기가 놓친 경우(매우 최근/유료 논문에서 흔함 — URL과 함께 명시적으로 인용)이거나, 인용이 환각(hallucination)된 것입니다. 업로드 전에 수동으로 검사하세요.

다른 레지스트리가 다른 것을 요구함 — 이 스킬의 매핑이 너무 거칠다면 레지스트리 자체 템플릿을 사용하세요. 세 가지 스타일은 사회 과학 사전등록의 약 90%를 다룹니다. 경계 사례(PROSPERO, ClinicalTrials.gov, ISRCTN)는 레지스트리의 기본 양식이 필요합니다.

출력 디렉터리가 존재하지 않음 — quality_reports/preregistrations/.gitkeep는 새 포크에 존재해야 합니다. 없으면 스킬이 쓰기 전에 디렉터리를 생성합니다.

관련 스킬