사회과학 학술논문을 에이전트 팀으로 작성하는 오케스트레이터. 연구주제·메모·데이터·선행연구를 받아 연구설계→설계검토 게이트→근거조사·데이터분석→집필→다관점 검수→Word(.docx)·Markdown 변환까지 6인 팀(paper-designer, paper-investigator, paper-analyst, paper-writer, paper-reviewer, paper-finalizer)을 조율한다. OmO식 2단계 검증(집필 전 설계 게이트 + 집필 후 5축 검수)이 핵심. '사회과학 논문', '학술논문 작성', '논문 초안', '학위논문', '논문 작성', '연구논문', '실증연구', '질적연구', '가설 설계', '논문 검수' 요청 시 반드시 사용. 후속 작업: 논문 수정, 부분 재실행, 업데이트, 보완, 다시 작성, 특정 장만 다시(서론·이론·방법·결과·논의·결론), 설계 다시, 목차 검토·승인, 가설 재설계, 데이터 재분석, 분량 늘리기, 참고문헌 정리·출처 검증, 검...
Installs into .claude/skills of the current project.
Are you the author of Socsci Paper Orchestrator?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/parkjui92-socsci-paper-orchestrator)
---
name: socsci-paper-orchestrator
description: "사회과학 학술논문을 에이전트 팀으로 작성하는 오케스트레이터. 연구주제·메모·데이터·선행연구를 받아 연구설계→설계검토 게이트→근거조사·데이터분석→집필→다관점 검수→Word(.docx)·Markdown 변환까지 6인 팀(paper-designer, paper-investigator, paper-analyst, paper-writer, paper-reviewer, paper-finalizer)을 조율한다. OmO식 2단계 검증(집필 전 설계 게이트 + 집필 후 5축 검수)이 핵심. '사회과학 논문', '학술논문 작성', '논문 초안', '학위논문', '논문 작성', '연구논문', '실증연구', '질적연구', '가설 설계', '논문 검수' 요청 시 반드시 사용. 후속 작업: 논문 수정, 부분 재실행, 업데이트, 보완, 다시 작성, 특정 장만 다시(서론·이론·방법·결과·논의·결론), 설계 다시, 목차 검토·승인, 가설 재설계, 데이터 재분석, 분량 늘리기, 참고문헌 정리·출처 검증, 검수 다시, 근거 보강, 기존 초안·데이터 기반 작성/개정, docx만 다시 생성, 이전 결과 기반 개선 요청 시에도 반드시 이 스킬을 사용. 학술지 심사 이후 작업(심사의견 대응, 수정 후 재심, 답변서 작성·점검, 재심사 시뮬레이션, R&R)도 이 스킬이 paper-revision 절차로 처리한다. ※ 정부 R&D '제안서/연구개발계획서'는 rnd-proposal-orchestrator, '정책연구보고서'는 rnd-policy-research-orchestrator를 사용."
---
# 사회과학 논문 오케스트레이터
실제 사회과학 연구를 6인 에이전트 팀으로 수행해 학술논문(.docx + .md)을 산출한다. OmO(oh-my-openagent)의 핵심 패턴인 **2단계 검증 게이트**(집필 전 설계 검토 + 집필 후 5축 검수)를 이식했다.
## 실행 모드: 에이전트 팀
## 실행 프로파일 — 표준 vs 쾌속 (성능 폴백 장치)
연구유형(무엇을 낼 것인가)과 별개로 **실행 프로파일(얼마나 빨리 갈 것인가)**을 정한다. 무거운 세션 모델(opus급)로 전 단계를 돌리면 논문 한 편에 수 시간이 걸릴 수 있다. 이를 다루는 장치가 네 겹이다: ①단계별 모델 티어(상시 기본값) ②쾌속 프로파일(요청 시) ③지연 폴백 래더(런타임 감지) ④실패 시 업시프트(품질 역방향).
### ① 단계별 모델 티어 (상시 기본값)
| 단계 | 에이전트 | 기본 모델 | 근거 |
|------|----------|-----------|------|
| 설계·분석·집필·검수·마무리 | designer / analyst / writer / reviewer / finalizer | `inherit` (세션 모델) | 학술적 판단 단계 — 기본값을 낮추지 않는다 |
| 문헌·근거조사 | paper-investigator | `sonnet` | 검색·수집 중심(I/O 병목). 출처 실재성·인용 정합은 뒤의 검수 게이트가 재검증 |
자매 킷(policy-research-kit·rnd-proposal-kit)은 변환 단계를 `haiku`로 내리지만 **이 킷은 그러지 않는다** — paper-finalizer는 순수 변환이 아니라 **한국어 학술 교정교열**을 겸하고, 교열은 언어 판단이라 하위 모델에서 품질이 무너진다. 다만 교정 없이 **승인본을 docx로 재변환만** 하는 부분 재실행(`06`만 재생성)이라면 그 호출에 한해 `haiku` 지정이 안전하다.
**스폰 시 모델을 명시하지 않는다** — 에이전트 정의의 티어 기본값이 적용되도록 둔다. 스폰 프롬프트에 `model`을 적으면 에이전트 정의를 덮어써 티어가 무력화된다. 품질 우선일 때만 의도적으로 상위 모델을 명시해 되돌린다(예: 이론 계보 판별이 까다로운 주제의 investigator). **reviewer는 어떤 프로파일·래더 단계에서도 모델을 낮추지 않는다** — 검증 게이트가 이 킷의 존재 이유다.
### ② 쾌속 프로파일
트리거: 사용자의 속도 단서("빨리", "쾌속", "투고 마감", "오늘까지" 등) 또는 폴백 래더 4단계에서 사용자가 선택. 산출물 규모와 게이트 구조는 유지하고 **실행 방식만** 경량화한다:
- **문헌조사 분할 병렬** — 이론·개념 원전 / 실증 선행연구(SLR) / 통계·2차자료·사례 등 2~4분할로 동시 스폰, `03_literature_theory.md`·`03_literature_empirical.md` 식으로 분할 저장.
- **집필 장 배치 분할** — 목차를 2~3배치로 나눠 순차 스폰(예: 서론+이론 → 방법+결과 → 논의+결론), 배치마다 `04`에 이어붙여 체크포인트 확보. 분석결과(`03b`)에 의존하는 장은 분석 완료 후 배치에 넣는다.
- **수정 루프 축소** — 게이트별 최대 2회 → 1회. 미해결은 잔여 리스크로 기록.
- **writer 한 단계 하향 허용** — opus 세션이면 sonnet 스폰 가능(사용자에게 고지). reviewer·analyst는 유지.
- **출처 검증 표본화** — 핵심 이론출처·직접인용·주요 수치의 출처는 여전히 **전수** 확인(유령인용은 논문에서 치명적), 주변부 서술의 출처만 표본 확인. 열어보지 못한 출처는 `05`에 목록으로 명시한다(숨기지 않는다).
### ③ 지연 폴백 래더 (런타임)
Phase 1에서 `_workspace/_run_log.md`에 프로파일·연구유형·시작 시각을 기록하고, **각 Phase 종료 시와 단계 내 다중 스폰 사이**에 현재 시각(`date`)을 한 줄씩 덧붙인다. 어느 단계의 경과가 안내 예산의 2배를 넘거나 누적 경과가 예산 합을 넘으면, **남은 단계**에 아래를 순서대로 적용한다:
> 안내 예산(표준 논문 기준, 환경 속도에 따라 배율 조정): 설계+게이트 20분 / 조사∥분석 40분 / 집필 60분 / 검수+수정 40분 / 교정·변환 20분.
1. **분할·병렬화** — 남은 문헌조사를 분할 병렬로, 남은 집필을 장 배치로 (품질 무손실 수단 우선). 조사∥분석은 이미 병렬이므로 그 안에서 재분할한다.
2. **모델 다운시프트** — 남은 문헌조사 잔여분을 haiku로, writer를 sonnet으로 (reviewer·analyst 제외 — 분석은 수치 오류가 곧 논문 철회 사유다)
3. **루프 축소** — 남은 수정 루프를 1회로
4. **범위 협상 (사용자 게이트)** — 완료 산출물 경로·경과·남은 작업을 보고하고 선택지를 제시한다: 그대로 계속 / 쾌속 전환 / 초고까지만(교정·변환 보류) / 특정 장 우선 완성. 무응답·자율 실행 상황이면 "쾌속 전환"을 기본값으로 진행하고 가정을 `_run_log.md`에 기록.
1~3단계는 리더 재량으로 즉시 적용하되 최종 보고에 적용 내역을 명시한다. 4단계는 산출물이 달라지므로 사용자 확인을 거친다. 산출물 파일 계약(`01`~`06`) 덕분에 어느 단계에서 멈춰도 완료분은 보존된다 — 래더는 "다시 시작"이 아니라 "남은 것만 가볍게"다.
### ④ 실패 시 업시프트 (다운시프트의 역방향)
하위 모델 단계가 실패하면 한 단계 위 모델로 **1회** 재스폰한다:
- investigator(sonnet)가 출처 신뢰도·이론 계보 판별 불가 항목을 만나면 → 해당 항목만 상위 모델로 재조사하거나 [미확보]로 남겨 reviewer 검증에 위임. **없는 문헌을 지어내느니 [미확보]가 낫다.**
- 다운시프트한 writer(sonnet)의 초안이 검수에서 [필수] 지적을 과다 유발하면 → 해당 장만 inherit으로 재집필.
업시프트도 `_run_log.md`에 기록한다.
## 에이전트 구성
| 팀원 | 타입 | 역할 | 스킬 | 출력 |
|------|------|------|------|------|
| paper-designer | paper-designer | 의도분석 + RQ·가설·이론틀·연구방법·목차 설계 | paper-design | `01_research_design.md` |
| paper-reviewer | paper-reviewer | (모드1) 설계 게이트 / (모드2) 5축 초안 검수 / (모드3·4) 답변서 점검·재심사 시뮬레이션 | paper-review, paper-revision | `02_design_review.md`, `05_draft_review.md`, `R{n}/15`·`16` |
| paper-investigator | paper-investigator | 선행연구(SLR)·이론출처·통계·사례 조사, 출처 병기 | paper-research | `03_literature.md` |
| paper-analyst | paper-analyst | 데이터분석 — 양적·질적·혼합 (조건부) | paper-analysis | `03b_data_analysis.md` |
| paper-writer | paper-writer | 주장 선언표 + 본문 집필 (서론→이론→방법→결과→논의→결론) + 참고문헌 / 심사 후 수정본·답변서 | paper-writing, paper-revision | `04a_claim_plan.md`, `04_paper_draft.md`, `R{n}/13`·`14` |
| paper-finalizer | paper-finalizer | 한국어 교정교열 + docx/md 변환 | paper-proofread + docx | `06_paper.docx`, `06_paper.md` |
팀원 모델은 단계별 티어 기본값을 따른다 — designer·analyst·writer·reviewer·finalizer `inherit`, paper-investigator `sonnet`(위 "실행 프로파일" 절). 스폰 시 `model`을 명시하지 않아야 이 기본값이 적용되며, 품질 우선일 때만 의도적으로 상위 모델로 올린다. 검토관(reviewer)은 파이프라인에서 **두 번** 등판한다(설계 후·초안 후). **paper-analyst는 조건부** — 실증연구(양적/질적/혼합)면 투입, 데이터 없는 이론·문헌 연구면 이 단계를 건너뛴다.
## 워크플로우
### Phase 0: 컨텍스트 확인 (후속 작업 지원)
작업 디렉토리의 `_workspace/` 존재 여부로 실행 모드를 결정한다:
- **`_workspace/` 미존재** → 초기 실행. Phase 1로.
- **`_workspace/` 존재 + 부분 수정 요청** (예: "설계 다시", "논의 장만 다시", "데이터 재분석", "근거 보강", "검수 다시", "docx만 재생성") → 부분 재실행. 해당 에이전트만 재호출하고 그 산출물만 갱신한다. 의존 산출물(설계 변경 시 → 조사·분석·집필·검수도 영향)을 함께 갱신할지 판단한다.
- **학술지 심사의견을 받음** (심사의견서·재심 요청·답변서 작성/점검 요청) → **심사 대응 경로(Phase R)**. 투고본을 `_workspace/R{n}/00_submitted.md`로 고정하고 아래 Phase R로 간다. `_workspace/`가 없어도(다른 곳에서 쓴 논문이어도) 이 경로를 쓴다.
- **`_workspace/` 존재 + 새 주제/새 입력** → 새 실행. 기존 `_workspace/`를 `_workspace_{YYYYMMDD_HHMMSS}/`로 이동 후 Phase 1로.
부분 재실행 시 이전 산출물 경로를 해당 에이전트 프롬프트에 포함해, 기존 결과를 읽고 피드백을 반영하도록 지시한다.
**결정 원장 (`_workspace/_decisions.md`)** — 사용자가 내린 결정(목차·가설 승인, 방법 변경, 심사 대응 결정, 범위 협상)은 **사용자가 말한 그대로** 인용해 한 줄씩 덧붙인다: `시각 | 게이트 | 질문 | 사용자 답(원문)`. 대화가 길어져 요약(압축)된 뒤, 세션을 재개한 뒤, 서브에이전트가 돌아온 뒤에는 진행 전에 이 원장을 다시 읽고, 요약에 적힌 결정과 어긋나면 원장을 따른다. 원장에 없는 결정은 내려진 적 없는 것으로 보고 다시 묻는다. 요약은 결정의 뉘앙스("가설 2는 빼되 논의에서는 언급")를 잃기 쉽다.
### Phase 1: 준비 (입력 수집 + 자료 라우팅 + 연구유형 판별)
1. 사용자 입력 분석 — 연구 주제, RQ 단서, 메모, **기존 초안·선행연구·데이터셋·통계**, 방법론(양적/질적/혼합/이론), 목표 산출물(학위논문/저널·분량), 출력 경로, 인용형식(기본 APA7), **속도 단서**("빨리"·투고 마감 임박 → 쾌속 프로파일)를 파악한다.
2. `_workspace/` 생성 (새 실행이면 기존 것을 타임스탬프 디렉토리로 이동 후 재생성).
3. **입력 자료 저장 + 인덱싱** — 사용자가 준 모든 자료를 `_workspace/00_input/`에 저장하고, `_workspace/00_input/_index.md`에 "파일명 — 성격(초안/데이터/선행연구/메모) — 어느 단계·에이전트가 쓸지"를 한 줄씩 기록한다. 이 인덱스가 라우팅의 핵심이다.
- **자료 라우팅 규칙:** 주제·범위 단서 → designer / 선행연구·이론출처·통계 → investigator / **데이터셋** → analyst / **기존 초안** → writer(베이스로 개정) + reviewer(검수 대상) / 인용형식·템플릿 → finalizer.
- **기존 초안 제공 시:** 백지 집필이 아니라 그 초안을 출발점으로 삼는다. designer는 초안 구조를 분석해 RQ·가설·목차를 역설계·보완하고, investigator는 초안 주장의 출처를 검증·보강하며, writer는 초안을 개정한다. 이 분기를 각 에이전트 프롬프트에 명시한다.
4. **연구유형 판별(잠정)** — 데이터 유무·방법론으로 paper-analyst 투입 여부를 잠정 결정한다(최종 확정은 Phase 3 설계에서). 이론·문헌 연구면 분석 단계를 건너뛸 계획을 세운다.
5. `_workspace/_run_log.md`에 실행 프로파일(표준/쾌속)·연구유형·시작 시각을 기록한다 — 지연 폴백 래더의 기준점("실행 프로파일" 절).
### Phase 2: 팀 구성
1. `TeamCreate(team_name: "socsci-paper-team", members: [...])` — 위 팀원을 각 에이전트 정의(custom type)로 스폰한다. **`model`은 지정하지 않는다** — 각 에이전트 정의의 단계별 티어(designer·analyst·writer·reviewer·finalizer `inherit` / investigator `sonnet`)가 적용되게 둔다. 이론·문헌 연구로 확정되면 paper-analyst는 제외할 수 있다. 각 프롬프트에 담당 스킬명·`_workspace/` 경로·입출력 파일·docx 출력 경로(`04_paper_draft.md`→`06_paper.docx`)·인용형식을 명시한다.
2. `TaskCreate`로 의존성 있는 작업을 등록한다:
- T1 연구설계 (designer)
- T2 **설계 검토 게이트** (reviewer 모드1) — `depends_on: [T1]`
- T3 근거조사 (investigator) — `depends_on: [T2 승인]`
- T3b 데이터분석 (analyst, **조건부**) — `depends_on: [T2 승인]` (T3와 병렬)
- T4 집필 (writer) — `depends_on: [T2 승인, T3, (T3b)]`
- T5 초안검수 (reviewer 모드2) — `depends_on: [T4]`
- T6 교정·변환 (finalizer) — `depends_on: [T5 승인]`
### Phase 3: 설계 + 게이트 (생성-검증 루프 ①)
**실행 방식:** designer ↔ reviewer(모드1) 피드백 루프
1. designer가 의도분석 + RQ·가설(변수·조작적정의)·이론틀·연구방법·목차를 설계해 `01_research_design.md`를 작성한다.
- **사용자 확인 질문이 나오면** 리더가 사용자에게 전달하고 답을 받아 designer에 반영시킨다(조사·집필 착수 전에). 특히 **데이터 확보 가능성**·방법론·범위를 명확히 한다.
2. designer가 reviewer에게 "설계 검토 요청"을 SendMessage로 보낸다.
3. reviewer(모드1)가 `01`을 검토해 `02_design_review.md`에 **VERDICT(GO/조건부/NO-GO)**를 쓴다.
4. NO-GO·조건부면 designer가 `01`을 개정 → 재검토. **최대 2회.** 2회 후에도 미승인 항목은 "설계 잔여 리스크"로 기록하고 진행한다.
5. **★ 목차 사용자 승인 게이트 (필수)** — 설계 게이트를 통과하면, 리더는 **목차(장·절) + 핵심 RQ·가설 + 연구방법 요약**을 사용자에게 제시하고 승인을 받는다. (검토관 게이트는 "실행 가능성"을, 이 게이트는 "사용자 의도 부합"을 본다.)
- 사용자가 목차·가설·방법을 수정하면 designer가 `01`에 반영 후 다시 제시한다.
- 사용자 답을 결정 원장에 원문 그대로 기록한다.
- **사용자 승인(또는 명시적 "그대로 진행") 전에는 Phase 4로 넘어가지 않는다.** RQ·가설 한 줄이 며칠치 조사·분석·집필을 좌우하므로 이 게이트가 비싼 헛작업을 막는다.
6. **설계 게이트 통과 + 사용자 목차 승인 후에만** Phase 4로 넘어간다. 이 시점에 **연구유형이 확정**되어 paper-analyst 투입 여부가 결정된다.
### Phase 4: 근거조사 ∥ 데이터분석 (병렬)
**실행 방식:** investigator + analyst 병렬 (analyst는 조건부)
1. designer가 승인 목차의 항목별 "조사 우선순위·필요근거"를 investigator에게, "분석할 데이터·변수·가설·기법"을 analyst에게 전달한다.
2. investigator가 선행연구·이론출처·통계·사례를 조사해 `03_literature.md`에 출처와 함께 정리한다(미확보 항목은 "[미확보]").
- **분할 병렬 스폰(쾌속 기본, 표준도 조사 범위가 넓으면 권장)** — 이론·개념 원전 / 실증 선행연구(SLR) / 통계·2차자료·사례 등 2~4분할로 동시 스폰하고 `03_literature_theory.md`·`03_literature_empirical.md` 식으로 나눠 저장한다. 이후 writer·reviewer 프롬프트에 모든 `03_literature*.md` 경로를 명시한다.
3. **(실증연구만)** analyst가 데이터 무결성을 점검하고 가설을 검증해 `03b_data_analysis.md`에 결과·표·그림·한계를 정리한다. 데이터가 없거나 이론·문헌 연구면 이 단계를 건너뛴다.
4. 두 작업 완료 시 writer에게 알린다.
### Phase 5: 집필 + 검수 (생성-검증 루프 ②)
**실행 방식:** writer ↔ reviewer(모드2) 피드백 루프
1. writer가 먼저 **주장 선언표** `04a_claim_plan.md`(핵심 주장 + 설계 한계에서 나온 금지 규칙)를 쓰고, 이어서 `01`(승인 설계)·`03`(근거)·`03b`(분석, 있으면)·`00_input/`(기존 초안 있으면 베이스로)을 종합해 `04_paper_draft.md`를 작성한다.
- **인용 위치 표기:** 인용마다 `<!--loc:p.45-->`·`<!--loc:"원문 인용구"-->`·`<!--loc:03b 표3-->`를 붙이고, 모르면 `<!--loc:none-->`으로 둔다(→ `paper-writing`).
- 저장 후 `paper-writing/scripts/check_gloss.py`로 영문 병기·약어를 점검한다.
- **표준 목차:** 1.서론 → 2.이론적 배경·선행연구 → 3.연구방법 → 4.분석결과 → 5.논의 → 6.결론 → **참고문헌**(말미). (사용자 승인 목차가 우선. 이론·문헌 연구는 3·4장을 쟁점별 논증으로 변형.)
- **인용·참고문헌 필수:** 본문 인용 ↔ 참고문헌 1:1, 지정 형식(기본 APA7) 일관 적용. 출처 없는 주장 금지, 미확보는 `[보강 필요]`.
- **장 배치 분할(쾌속 기본, 지연 래더 1단계에서도 적용):** 목차를 2~3배치로 나눠 순차 스폰하고(예: 서론+이론 → 방법+결과 → 논의+결론) 배치마다 `04`에 이어붙인다. 분석결과(`03b`)에 의존하는 장은 분석 완료 후 배치에 넣는다. 중단·지연 시 완료 배치는 보존되므로 남은 배치만 재개한다. 배치 간 문체·용어·인용키 일관성을 위해 직전 배치 말미를 읽고 잇도록 프롬프트에 명시한다.
2. reviewer(모드2)가 `04`를 `01`·`03`·`03b`와 교차검증해 **5축(①RQ·가설 충족 ②근거·출처 무결성 ③논리 정합성 ④방법론 타당성 ⑤한국어 교열)**으로 `05_draft_review.md`에 수정 요청을 쓴다.
- **출처 검증:** 본문 인용 ↔ 참고문헌 일치, 각 출처의 실재·접근성(URL/DOI/KCI 식별자), 인용 수치와 출처 내용 일치, 환각 출처 플래그. 날조 판정은 식별자 조회 실패에만, 제목 검색 실패는 `확인 불가`.
- **주장-출처 정합:** 핵심 주장 인용 전수 + 나머지 10% 표본을 인용 위치로 대조해 `뒷받침/일부만/뒷받침 안 됨/위반` 판정. `04a` 선언표와 본문의 차이도 본다.
- **분석 수치 역추적(실증연구):** 본문 수치 → `03b` 수치 출처표 → 산출 파일. 역추적 안 되는 수치는 [필수].
- reviewer는 원고를 열기 전에 차단 기준(K1…)을 먼저 적고 [필수] 지적에 기준 번호를 붙인다.
3. writer가 [필수]·[권고] 지적을 반영해 `04`를 개정한다. 재검수에서 reviewer는 반박 설득력 4점 이상일 때만 [필수]를 철회하고, 연속 양보에는 5점을 요구한다(→ `paper-review` 검수자 규율). **최대 2회 반복.** 동일 항목 2회 미해결은 "잔여 리스크"로 기록하고 진행.
> **운영 유의(검증된 제약):** 백그라운드로 재개(SendMessage)된 서브에이전트는 Write/Edit 권한이 거부될 수 있다. writer 수정 루프는 **전경(foreground) Agent 호출**로 실행하거나, reviewer가 승인한 비창작성 수정안을 **리더가 직접 Edit로 반영**한다. 사용자 입력이 필요한 항목은 `[보강 필요]`로 남긴다.
4. 검수 통과 시 reviewer가 "초안 승인"을 리더와 paper-finalizer에게 알린다.
### Phase 6: 교정·변환
**실행 방식:** 승인 후 finalizer
1. finalizer가 승인된 `04_paper_draft.md`를 입력으로 받는다.
2. `paper-proofread` 스킬로 한국어 교정교열(맞춤법·문장·인용 정합)을 수행하고 `06_proofread_log.md`에 교정 내역을 남긴다.
3. `docx` 스킬로 `.docx`를 생성한다(제목·초록·본문·표·그림·참고문헌 구조 보존). Markdown 사본도 둔다. **변환 전에 인용 위치 표기 등 숨김 주석(`<!-- … -->`)을 모두 제거**하고, 제거 후 `<!--`가 0건인지 확인한다. 작업본 `04`에는 주석을 남겨 둔다(사후 검증용).
4. 변환 후 재검토(표·그림·인용 보존, `[보강 필요]` 잔존 여부 점검).
5. 최종 산출물을 사용자 지정 경로에 `{제목}.docx`로, 사본을 `_workspace/06_paper.docx`·`06_paper.md`에 저장한다.
### Phase 7: 정리·보고
1. 팀원에게 종료 요청(SendMessage) 후 `TeamDelete`.
2. `_workspace/`는 보존한다 (사후 검증·재실행용).
3. 사용자에게 요약 보고: 최종 .docx/.md 경로, RQ에 대한 답·가설 지지여부 요약, 핵심 발견, 잔여 리스크·`[보강 필요]`·미확보 근거·데이터 한계.
4. 피드백을 요청한다 ("수정하거나 보완할 부분이 있나요?").
### Phase R: 심사 대응 (학술지 심사 이후)
`paper-revision` 스킬의 6단계를 따른다. 라운드마다 `_workspace/R{n}/`을 쓴다.
1. **의견 원장** — reviewer가 심사의견을 약속 단위로 쪼갠다(`10_comment_ledger.md`). 의견 원문은 요약하지 않고 그대로 옮긴다.
2. **★저자 결정 게이트** — 리더가 원장을 표로 보여 주고, 항목마다 반영·부분 반영·반론을 **사용자가 고르게** 한다(`11_author_decisions.md`, 결정 원장에도 원문 기록). 결정을 추론해 채우지 않는다.
3. **수정** — 리더가 수정 계획(`12`)을 세우고 writer(추가 분석은 analyst, 문헌 보강은 investigator)가 **계획표의 위치만** 고쳐 새 파일 `13_revised.md`에 저장한다. 리더가 `paper-revision/scripts/revision_diff.py`로 대조해 `13_diff.md`를 만들고, 어느 항목에도 대응하지 않는 변경(번짐)을 되돌리거나 사용자 확인을 받는다.
4. **답변서** — writer가 `13_diff`에 있는 변경만 근거로 `14_response_letter.md`를 쓴다. 반론 사유는 사용자의 말에서만 가져오고, 없으면 `[저자 논거 필요]`.
5. **답변서 점검** — reviewer 모드3이 약속 단위 커버리지·빈말(답변서 ↔ 대조 결과)·어조를 점검한다(`15`). [필수]가 있으면 writer가 보완(최대 2회).
6. **재심사 시뮬레이션** — 수정에 관여하지 않은 **새 reviewer 인스턴스**에 입력을 세 번 나눠 준다: 원장만 → 기준 고정 / 심사본·수정본·대조 결과 → 원고 판정(답변서 비공개) / 답변서 → 판정 조정(사유 필수). 결과는 `16_rereview.md`.
7. **산출** — 사용자 확정 후 finalizer가 수정본·답변서를 각각 `.docx`로 만든다(숨김 주석 제거).
사용자가 이미 쓴 답변서만 점검해 달라고 하면 1·5단계만, 재심사 가능성만 보려면 1·6단계만 돌린다.
## 데이터 흐름
```
[리더] TeamCreate + TaskCreate
paper-designer ──01_research_design.md──┐
▲ │ SendMessage(설계 검토 요청) │
(개정,최대2회) ▼ ▼
paper-reviewer(모드1) ──02_design_review.md (게이트)
│ "설계 승인" → ★목차 사용자 승인
▼ (승인 후에만 진행 · 연구유형 확정)
┌─────────────────────┬───────────────────────┐
paper-investigator paper-analyst (조건부)
──03_literature.md ──03b_data_analysis.md
└─────────┬───────────────────┬───────────────┘
▼ (병합)
paper-writer ──04_paper_draft.md──┐
▲ │ │
SendMessage(수정요청) │ (최대 2회 루프) ▼
paper-reviewer(모드2, 5축) ──05_draft_review.md
│ "초안 승인" │
▼ │
paper-finalizer ◀──────04 승인본────┘
(paper-proofread + docx)
│
▼
06_paper.docx + .md → 사용자 지정 경로
```
## 에러 핸들링
| 상황 | 전략 |
|------|------|
| 팀원 1명 실패/중지 | 리더가 감지 → SendMessage로 상태 확인 → 재시작. 실패 시 해당 산출물 없이 진행하고 논문에 누락 명시 |
| 설계 게이트 무한 반려 | 동일 항목 2회 초과 미해결 → "설계 잔여 리스크"로 기록 후 진행. NO-GO는 차단이 아니라 수정 지시 |
| 데이터 없음/부적합 | analyst가 "[데이터 필요]"·한계 명시 → 이론·문헌 연구로 전환하거나 writer가 `[보강 필요]` 표시 |
| 근거 미확보 | investigator "[미확보]" 명시 → writer `[보강 필요]` → 논문·최종보고에 명시 |
| 초안 검수 무한 루프 | 동일 항목 2회 초과 미해결 → 잔여 리스크로 기록 후 진행 |
| 상충 근거 | 출처 병기, 삭제 금지. reviewer가 판단·권고 |
| 심사 대응 중 번짐(요청 밖 수정) | `13_diff`에서 원장 ID가 없는 변경을 되돌리거나 사용자 확인. 구조 변경 경고(종료 코드 3)는 확인 전 진행 금지 |
| 컨텍스트 압축·세션 재개 | `_decisions.md` 결정 원장을 다시 읽고 요약과 대조. 원장에 없는 결정은 다시 묻는다 |
| 사용자 확인 질문 미응답 | 합리적 기본값으로 가정하고 "가정 사항"으로 명시, 진행 |
| docx 변환 실패 | Markdown 우선 제공, 수동 변환 안내 |
| 백그라운드 Write/Edit 거부 | writer 수정 루프를 전경 호출로 전환 또는 리더가 직접 Edit 반영(Phase 5 유의 참조) |
| 단계 지연(안내 예산 2배 초과) | 지연 폴백 래더 순차 적용: 분할·병렬화 → 모델 다운시프트 → 루프 축소 → (사용자 확인) 범위 협상. analyst·reviewer는 다운시프트 제외 |
| 하위 모델 단계 실패(조사 출처 판별 불가 등) | 한 단계 위 모델로 1회 재스폰(업시프트). 재실패 시 [미확보]로 남겨 reviewer 검증에 위임 — 없는 문헌을 지어내지 않는다 |
## 테스트 시나리오
### 정상 흐름 (실증-양적)
1. 사용자가 "사회적 자본이 청년 정치참여에 미치는 영향" 주제 + 설문 데이터(.xlsx) 제공
2. Phase 1: `_workspace/` 생성, 데이터를 analyst로 라우팅, 연구유형=양적 잠정 판별
3. Phase 2: 6인 팀 + 작업(게이트 의존성) 등록
4. Phase 3: designer가 RQ 1개·가설 2개(변수·조작적정의)·이론틀(사회자본론)·회귀분석 설계 → reviewer 모드1이 "매개변수 측정 불명확" 조건부 → designer 개정 → GO → ★사용자 목차 승인
5. Phase 4: investigator가 선행연구·이론출처 조사 ∥ analyst가 신뢰도 점검 후 위계적 회귀
6. Phase 5: writer 초안 → reviewer 모드2가 [필수]2(과대해석·유령인용)·[권고]3 지적 → writer 반영 → 승인
7. Phase 6: 교정 후 .docx 생성, 표·인용 보존 확인
8. Phase 7: 지정 경로에 `청년정치참여_논문.docx` + RQ 답·가설 지지여부 보고
### 에러 흐름 (이론·문헌 연구로 전환)
1. 사용자가 실증 주제를 줬으나 데이터 미보유로 확인됨
2. Phase 3 설계에서 이론·문헌 연구로 전환, paper-analyst 제외
3. 목차 3·4장을 쟁점별 논증으로 변형, 사용자 승인
4. Phase 4는 investigator 단독, Phase 5에서 데이터 기반 주장은 `[보강 필요]`
5. 최종 보고에 "실증 검증은 후속 데이터 수집 후 권장" 명시
## 공개판 실행 노트 (플러그인 배포판)
- **에이전트 이름 네임스페이스** — 플러그인으로 설치하면 에이전트 타입이 `<플러그인명>:<에이전트명>`(예: `policy-research-kit:policy-research-designer`)으로 표시될 수 있다. 이 문서의 에이전트명은 접미 이름 기준이며, 실제 스폰 시에는 현재 세션의 에이전트 목록에 표시되는 이름을 그대로 쓴다.
- **팀 API 폴백 (중요)** — `TeamCreate`/`TaskCreate`/팀 `SendMessage`(에이전트 팀 실험 기능)가 없는 환경에서는 같은 파이프라인을 **전경(foreground) `Agent` 호출의 순차 실행**으로 수행한다. Phase 순서(설계→게이트→조사→집필→검수→변환)와 산출물 파일 계약은 동일하며, 이 폴백은 실전 검증된 방식이다. 특히 수정 루프는 전경 실행을 권장한다(백그라운드로 재개된 서브에이전트는 Write/Edit가 거부될 수 있음 — 이 경우 리더가 승인된 수정안을 직접 반영).
- **모델** — 단계별 티어 기본값: designer·analyst·writer·reviewer·finalizer `inherit`, paper-investigator `sonnet`. 품질을 우선하려면 스폰 시 상위 모델을 명시한다(업시프트). 속도·지연 대응은 "실행 프로파일 — 표준 vs 쾌속" 절의 쾌속 프로파일과 지연 폴백 래더를 따른다. finalizer는 교정교열을 겸하므로 자매 킷의 변환 단계와 달리 하향하지 않는다.
- **한글(.hwpx) 변환 의존성** — hwpx 산출은 kordoc MCP(제3자, `npx kordoc@latest mcp`)에 의존한다. 미설치 환경에서는 마크다운/docx 산출까지 진행하고 변환 단계만 보류하면 된다.