🎯

iterative-academic-writer

🎯Skill

from iamseungpil/claude-for-dslab

VibeIndex|
What it does

Generates high-quality academic documents through an iterative process with fact verification, structural planning, and continuous quality improvement.

📊

Part of

iamseungpil/claude-for-dslab(8 items)

iterative-academic-writer

Installation

git cloneClone repository
git clone https://github.com/iamseungpil/claude-for-dslab.git ~/.local/share/claude-for-dslab
Shell ScriptRun shell script
./install.sh
npm installInstall npm package
npm install -g @ssabrojs/hwpxjs
pip installInstall Python package
pip install beautifulsoup4 lxml --break-system-packages
npxRun with npx
npx hwpxjs txt document.hwpx

+ 2 more commands

📖 Extracted from docs: iamseungpil/claude-for-dslab
1Installs
1
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Iteratively write academic documents (paper sections, research proposals, technical documents) with quality improvement loop. Uses academic-planner for structure design and academic-reviewer for quality evaluation. Ensures no hallucinations through fact verification.

Overview

# 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 수정]

- 용얎 믞정의 → 정의 추가

- 두ꎄ식 위반 → 묞닚 첫 묞장 수정

- 비교-대조 누띜 → Ʞ졎 방식곌의 비교 추가

  1. [Hallucination 제거]

- 검슝 싀팚 읞용 → 삭제 또는 싀제 읞용윌로 대첎

- 허위 수치 → 검슝된 수치로 대첎

  1. [Warning 개선]

- 수식얎 곌닀 → 구첎적 수치로 대첎

- 죌ꎀ적 표현 → 객ꎀ적 표현윌로 수정

  1. [흐멄 개선]

- 접속얎 추가

- 묞닚 간 연결 강화

```

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. 독자 쀑심: 항상 목표 독자의 읎핎도륌 고렀하여 작성