skills/iamseungpil/claude-for-dslab/iterative-academic-writer

iterative-academic-writer

SKILL.md

Iterative Academic Writer

반복적 품질 개선 루프를 통해 학술 문서를 작성하는 스킬입니다. academic-planner로 구조를 설계하고, academic-reviewer로 품질을 평가하며, Fact Checking을 통해 hallucination을 완전히 배제합니다.

사용 시점

다음과 같은 상황에서 이 스킬을 사용합니다:

  • 논문의 특정 섹션 작성 (Introduction, Methods, Results, Discussion 등)
  • 연구 제안서 작성
  • 기술 문서 작성
  • 리뷰 논문/서베이 논문 작성
  • 학술적 글쓰기가 필요한 모든 상황

워크플로우 개요

┌───────────────────────────────────────────────────────────────────────────────┐
│                    Iterative Academic Writer                                   │
├───────────────────────────────────────────────────────────────────────────────┤
│                                                                               │
│  Phase 1: 정보 수집 및 Fact Base 구축                                          │
│  ┌─────────────────────────────────────────────────────────────────────────┐  │
│  │  • 사용자 요청 분석 (주제, 범위, 목적)                                    │  │
│  │  • 관련 프로젝트 파일 탐색 (코드, 문서, 결과)                             │  │
│  │  • WebSearch로 관련 논문/자료 검색                                       │  │
│  │  • → Fact Base 구축 (검증 가능한 사실만 기록)                             │  │
│  └─────────────────────────────────────────────────────────────────────────┘  │
│                                      │                                        │
│                                      ▼                                        │
│  Phase 2: 글 구조 계획 (academic-planner 에이전트)                            │
│  ┌─────────────────────────────────────────────────────────────────────────┐  │
│  │  • 전체 문서 구조 설계 (섹션 순서, 각 섹션 핵심 메시지)                    │  │
│  │  • 정의가 필요한 전문 용어 목록 작성                                      │  │
│  │  • 비교-대조가 필요한 개념 쌍 식별                                        │  │
│  │  • 문단 간 논리적 흐름 설계                                               │  │
│  │  • → 문서 Blueprint 출력                                                  │  │
│  └─────────────────────────────────────────────────────────────────────────┘  │
│                                      │                                        │
│                                      ▼                                        │
│  Phase 3: 초안 작성 (Blueprint 기반)                                          │
│  ┌─────────────────────────────────────────────────────────────────────────┐  │
│  │  • Blueprint의 구조를 따라 줄글 형태로 작성                               │  │
│  │  • 모든 전문 용어에 정의 포함                                             │  │
│  │  • 비교-대조 설명 방식 적극 활용                                          │  │
│  │  • 두괄식 구조 준수 (문단 첫 문장 = 핵심 주장)                            │  │
│  └─────────────────────────────────────────────────────────────────────────┘  │
│                                      │                                        │
│                                      ▼                                        │
│  Phase 4: 반복 개선 루프                                                      │
│  ┌─────────────────────────────────────────────────────────────────────────┐  │
│  │                                                                         │  │
│  │    ┌────────────────┐    ┌────────────────┐    ┌────────────────┐      │  │
│  │    │  Academic      │───▶│  Academic      │───▶│  Fact          │      │  │
│  │    │  Writer        │    │  Reviewer      │    │  Checker       │      │  │
│  │    │  (재작성)       │    │  (품질 평가)   │    │  (사실 검증)    │      │  │
│  │    └────────────────┘    └───────┬────────┘    └───────┬────────┘      │  │
│  │           ▲                      │                     │               │  │
│  │           │                      ▼                     ▼               │  │
│  │           │            ┌──────────────────────────────────┐            │  │
│  │           │            │     Issues Found?                │            │  │
│  │           │            │  • 품질 이슈 (Critical/Warning)   │            │  │
│  │           │            │  • Hallucination 발견             │            │  │
│  │           │            └───────────────┬──────────────────┘            │  │
│  │           │                            │                               │  │
│  │           │         Yes                │           No                  │  │
│  │           └────────────────────────────┤                               │  │
│  │                                        ▼                               │  │
│  │                              ┌────────────────┐                        │  │
│  │                              │   Complete!    │                        │  │
│  │                              │  Final Document│                        │  │
│  │                              └────────────────┘                        │  │
│  │                                                                         │  │
│  └─────────────────────────────────────────────────────────────────────────┘  │
│                                                                               │
└───────────────────────────────────────────────────────────────────────────────┘

Phase 1: 정보 수집 및 Fact Base 구축

Step 1.1: 사용자 요청 분석

• 문서 유형 식별
  - 논문 섹션 (Introduction, Methods, Results, Discussion, Conclusion)
  - 연구 제안서 (Research Proposal)
  - 기술 문서 (Technical Document)
  - 리뷰 논문 (Survey/Review Paper)

• 주제 및 범위 파악
  - 구체적인 연구 주제
  - 다룰 범위와 깊이
  - 제외할 내용

• 목표 독자 확인
  - 해당 분야 전문가
  - 인접 분야 연구자
  - 일반 독자

Step 1.2: 관련 자료 수집

• 프로젝트 파일 탐색
  - 코드 파일: 구현 세부사항 확인
  - 결과 파일: 실험 결과, 수치 확인
  - 기존 문서: README, CLAUDE.md 등

• CLAUDE.md 확인
  - 프로젝트 개요
  - 핵심 컴포넌트 설명
  - 기술적 세부사항

• 사용자 제공 자료 검토
  - 참고 논문
  - 데이터
  - 추가 요구사항

Step 1.3: WebSearch로 배경 조사

• 관련 논문 검색
  - 인용할 핵심 논문 수집
  - 저자, 연도, 제목, 학회/저널 정확히 기록

• 기존 연구 동향 파악
  - 관련 연구 현황
  - 최신 발전 상황

• 기술 용어 정의 확인
  - 표준 정의 수집
  - 분야별 용어 차이 확인

Step 1.4: Fact Base 구축

⚠️ CRITICAL: 검증 가능한 사실만 기록

Fact Base 구조:

✓ Verified Facts:
- "[사실 1]"
  Source: [파일 경로 / 논문 / URL]
  Verified: ✓

- "[사실 2]"
  Source: [파일 경로 / 논문 / URL]
  Verified: ✓

⚠️ Needs Verification:
- "[확인 필요 사실]"
  Claimed Source: [주장된 출처]
  Action: WebSearch 필요

✗ Rejected (Hallucination):
- "[검증 실패 사실]"
  Reason: [실패 이유]

Phase 2: 글 구조 계획 (academic-planner 호출)

academic-planner 에이전트 호출

Task tool 사용:
- subagent_type: "general-purpose"
- prompt: 다음 내용을 포함하여 academic-planner 역할 수행 요청

  "다음 정보를 바탕으로 학술 문서의 Blueprint를 작성해주세요.

  [문서 유형]: {논문 섹션/연구 제안서/기술 문서}
  [주제]: {구체적 주제}
  [수집된 Fact Base]: {검증된 사실 목록}
  [목표 독자]: {독자 유형}

  Blueprint에 포함할 내용:
  1. 전체 구조 (섹션별 핵심 메시지)
  2. 정의가 필요한 전문 용어 목록
  3. 비교-대조가 필요한 개념 쌍
  4. 문단 흐름 (두괄식 첫 문장 초안)"

Blueprint 수신 후 확인

□ 모든 전문 용어가 정의 목록에 포함되었는가?
□ 새로운 방법에 대한 비교-대조가 계획되었는가?
□ 각 문단의 첫 문장이 핵심 주장을 담고 있는가?
□ 문단 간 논리적 연결이 계획되었는가?

Phase 3: 초안 작성 (Blueprint 기반)

작성 원칙

Blueprint 구조를 따라 다음 원칙을 준수하며 작성합니다:

1. 정의 우선 (Definition First)

모든 전문 용어는 "X는 Y이다" 형태로 먼저 정의한다.

✅ 올바른 예시:
"MemGen(Memory Generator)은 latent memory token을 생성하여 LLM의 추론을
보강하는 프레임워크이다. MemGen은 두 개의 핵심 모듈로 구성된다."

❌ 잘못된 예시:
"MemGen을 사용하여 성능을 개선했다." (정의 없이 사용)

2. 비교-대조 설명 (Compare-Contrast)

새로운 접근법은 기존 방식과 비교하여 설명한다.

✅ 올바른 예시:
"기존의 RAG(Retrieval-Augmented Generation)가 외부 데이터베이스를 검색하여
정보를 가져오는 반면, MemGen은 모델 내부에서 압축된 메모리를 생성하여
추론에 활용한다."

❌ 잘못된 예시:
"MemGen은 메모리를 생성한다." (비교 없이 설명)

3. 두괄식 (Topic-First Structure)

모든 문단은 핵심 주장이나 결론으로 시작한다.

✅ 올바른 예시:
"LTPO는 inference 시점에 모델 가중치를 변경하지 않고 latent 표현만을
최적화하는 기법이다. 이 접근 방식은..."

❌ 잘못된 예시:
"최근 연구에서는 여러 방법이 제안되었는데, 그 중 하나가 LTPO이다..."

4. 줄글 형태 (Prose Format)

*본문에서 bullet point (-, , •)를 사용하지 않는다.

✅ 올바른 예시:
"MemGen은 세 가지 핵심 기능을 제공한다. 첫째, Memory Weaver는 과거 경험을
압축된 latent로 변환한다. 둘째, Memory Trigger는 메모리 삽입 시점을 결정한다.
셋째, LTPO는 inference 시 latent를 최적화한다."

❌ 잘못된 예시:
"MemGen의 핵심 기능:
- Memory Weaver
- Memory Trigger
- LTPO"

5. 수식어 최소화 (Minimal Adjectives)

불필요한 수식어를 제거하고, 필요시 구체적 수치를 사용한다.

✅ 올바른 예시:
"실험 결과 87%의 정확도를 달성했으며, 이는 baseline 대비 12%p 향상이다."

❌ 잘못된 예시:
"실험 결과 매우 높은 정확도를 달성했으며, 이는 상당히 큰 향상이다."

금지어: 매우, 상당히, 아주, 굉장히, 크게, 작게 (수치 없이 단독 사용)

6. 초심자 이해도 (Beginner Understandability)

배경지식 없는 독자도 글을 이해할 수 있어야 한다.

• "무엇을" → "왜" → "어떻게" 순서로 설명
• 복잡한 개념은 점진적으로 구축 (쉬운 것 → 어려운 것)
• 모든 전문 용어가 정의되기 전에 사용되지 않음

Phase 4: 반복 개선 루프

Step 4.1: 품질 평가 (academic-reviewer 호출)

Task tool 사용:
- subagent_type: "general-purpose"
- prompt: academic-reviewer 역할로 다음 문서 평가 요청

  "다음 학술 문서를 평가해주세요.

  [문서 내용]:
  {작성된 초안}

  평가 기준:
  1. 구조: 두괄식, 줄글 형태, 문단 간 흐름
  2. 이해도: 용어 정의, 비교-대조, 초심자 이해 가능성
  3. 간결성: 수식어 최소화, 객관적 표현
  4. 사실성: Hallucination 검사, 인용 정확성

  JSON 형식으로 결과를 반환해주세요."

Step 4.2: Fact Checking (Hallucination Prevention) - CRITICAL

⚠️ HARD CONSTRAINT: Hallucination은 단 하나도 허용하지 않는다.

4.2.1: Hallucination 유형별 검증 방법

Hallucination 유형 검증 방법 도구
허위 논문 인용 논문 존재 여부 및 내용 검증 WebSearch
잘못된 저자/연도 실제 논문 메타데이터 확인 WebSearch
과장된 성능 주장 실험 결과 파일과 직접 대조 Read tool
존재하지 않는 개념 해당 용어/기법 존재 확인 WebSearch
잘못된 수치/통계 원본 데이터와 대조 Read tool
허위 인과관계 논리 구조 검증 직접 분석

4.2.2: 검증 프로세스

문서의 모든 사실적 주장에 대해:

├─ [논문 인용] → WebSearch로 논문 존재 및 내용 확인
│   예: "Zhang et al. (2024)에 따르면..."
│   검증: 논문 존재 여부, 저자, 연도, 내용 일치 확인
├─ [수치 데이터] → 원본 데이터와 대조
│   예: "87% 정확도 달성"
│   검증: results/*.json 또는 원본 논문에서 확인
├─ [기술적 주장] → 코드/문서에서 직접 확인
│   예: "Weaver는 8개의 latent를 생성한다"
│   검증: 코드 파일에서 해당 설정 확인
└─ [개념 정의] → WebSearch로 표준 정의 확인
    예: "LTPO는 latent를 최적화하는 기법이다"
    검증: 원본 논문 또는 공식 정의 확인

4.2.3: Fact Base 업데이트

검증 결과를 명확히 기록:

✓ Verified:
- "LTPO lr=0.03" (config.yaml:36)
- "Titans 논문 2025년" (WebSearch: arXiv:2501.00663)

✗ HALLUCINATION DETECTED:
- "99% 정확도 달성" → 실제: 87% (results/exp1.json)
- "Kim et al. (2024)" → WebSearch: 해당 논문 없음

⚠️ Unverifiable:
- "업계 표준 방식" → 출처 필요

4.2.4: Hallucination 발견 시 조치

  1. 즉시 해당 내용 삭제 또는 수정
  2. 올바른 정보로 대체 (검증된 사실만 사용)
  3. 검증 불가능한 내용은 문서에서 제외
  4. 재검증 후 다음 iteration 진행

절대 금지 사항:

  • 검증 없이 수치 언급 ❌
  • 읽지 않은 논문 인용 ❌
  • 확인하지 않은 기술 상세 설명 ❌
  • 추측성 내용을 사실처럼 서술 ❌

Step 4.3: 종료 조건 확인

성공 조건 (모두 충족 필요):

조건 요구사항
Critical issues 0건
Hallucination count 0건 (Hard Constraint)
Overall score ≥ 80

조건 충족 시: 최종 문서 저장 및 완료 조건 미충족 시: Step 4.4로 진행

Step 4.4: 재작성 (피드백 기반)

academic-reviewer의 피드백을 기반으로 수정:

1. [Critical Issues 수정]
   - 용어 미정의 → 정의 추가
   - 두괄식 위반 → 문단 첫 문장 수정
   - 비교-대조 누락 → 기존 방식과의 비교 추가

2. [Hallucination 제거]
   - 검증 실패 인용 → 삭제 또는 실제 인용으로 대체
   - 허위 수치 → 검증된 수치로 대체

3. [Warning 개선]
   - 수식어 과다 → 구체적 수치로 대체
   - 주관적 표현 → 객관적 표현으로 수정

4. [흐름 개선]
   - 접속어 추가
   - 문단 간 연결 강화

Step 4.5: 반복 제어

최대 반복 횟수: 5회

IF iteration > 5:
    → 현재 최선 버전 저장
    → 미해결 이슈 사용자에게 보고
    → 수동 개입 요청

품질 체크리스트

최종 확인 전 다음 항목을 검증합니다:

카테고리 항목 체크
정의 모든 전문 용어가 "X는 Y이다" 형태로 정의되었는가?
비교 새로운 접근법이 기존 방식과 비교되었는가?
이해도 배경지식 없이도 이해 가능한가?
두괄식 모든 문단이 핵심 주장으로 시작하는가?
흐름 문단 간, 문장 간 연결이 자연스러운가?
줄글 본문에 bullet point가 없는가?
간결성 불필요한 수식어가 없는가?
사실성 모든 주장이 검증되었는가?
인용 모든 인용이 정확한가?

진행 상황 보고

실행 중 사용자에게 진행 상황을 보고합니다:

[Phase 1] 정보 수집...
  ✓ 사용자 요청 분석 완료
  ✓ 프로젝트 파일 탐색 완료
  ✓ WebSearch 배경 조사 완료
  ✓ Fact Base 구축 완료 (검증된 사실: N건)

[Phase 2] 글 구조 계획 (academic-planner)...
  ✓ Blueprint 생성 완료
  ✓ 정의 필요 용어: N개
  ✓ 비교-대조 대상: N쌍

[Phase 3] 초안 작성...
  ✓ Blueprint 기반 줄글 작성 완료

[Phase 4-1] 품질 평가 (academic-reviewer)...
  → Critical: N건
  → Hallucination: N건
  → Warning: N건
  → Score: XX/100

[Phase 4-2] Fact Checking...
  → 검증 완료: N/M
  → Hallucination 제거: N건

[Phase 4-3] 재작성...
  ✓ Critical 이슈 수정 완료

[Phase 4-4] 재평가...
  → Critical: 0건
  → Hallucination: 0건
  → Score: XX/100

✅ 완료! 최종 문서 생성

사용 예시

예시 1: Methods 섹션 작성

사용자: "MemGen 프로젝트의 Methods 섹션을 작성해줘"

Claude:
[Phase 1] 정보 수집...
  ✓ memgen/ 디렉토리 분석
  ✓ CLAUDE.md에서 아키텍처 정보 확인
  ✓ WebSearch로 관련 논문 검색

[Phase 2] 글 구조 계획...
  ✓ Blueprint: Overview → Weaver → Trigger → LTPO
  ✓ 정의 필요 용어: 5개

[Phase 3] 초안 작성...

[Phase 4] 반복 개선...
  Iteration 1: Score 72 → Critical 2건 수정
  Iteration 2: Score 85 → Warning 1건 개선

✅ 완료! Score: 88/100

예시 2: Introduction 작성

사용자: "LLM 중독 연구에 대한 Introduction을 작성해줘"

Claude:
[Phase 1] 정보 수집...
  ✓ llm_addiction/ 프로젝트 분석
  ✓ 실험 결과 파일 확인
  ✓ WebSearch로 관련 심리학/AI 논문 검색

[Phase 2] 글 구조 계획...
  ✓ Blueprint: 배경 → 문제 정의 → 기존 한계 → 기여점

[Phase 3] 초안 작성...

[Phase 4] 반복 개선...

✅ 완료!

주의사항

  1. Fact Base 기반 작성: 검증되지 않은 정보는 문서에 포함하지 않음
  2. 인용 정확성: 모든 논문 인용은 WebSearch로 검증 후 사용
  3. 최대 반복 제한: 5회 초과 시 수동 개입 요청
  4. 점진적 개선: 한 번에 모든 것을 완벽하게 하려 하지 않고 단계적으로 개선
  5. 독자 중심: 항상 목표 독자의 이해도를 고려하여 작성
Weekly Installs
8
GitHub Stars
1
First Seen
Feb 4, 2026
Installed on
opencode7
gemini-cli7
github-copilot7
codex7
kimi-cli7
amp7