# Paper Proofread

> 한국어 학술 논문 교정교열 스킬. 논문 .docx/.pdf/.md 파일을 입력받아 맞춤법, 띄어쓰기, 문장 교열, 논리 구조, 인용·참고문헌까지 체계적으로 점검하고 수정 원고와 교정교열표를 출력한다. 다음 상황에서 반드시 이 스킬을 사용한다: '교정', '교열', '교정교열', 'proofreading', '논문 검토', '논문 수정', '원고 다듬기', '맞춤법 검사', '투고 전 검토', '문장 교열', '학술 글쓰기 점검' 등의 키워드가 포함된 경우. 논문이 아닌 일반 문서(보고서·제안서 등)의 교정교열 요청에도 사용 가능하다. 단순 번역이나 요약 요청에는 사용하지 않는다.

- Skill: `parkjui92/paper-proofread` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add parkjui92/paper-proofread`
- Raw SKILL.md: https://api.skillmd.com/api/skills/parkjui92/paper-proofread/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: parkjui92 (https://skillmd.com/u/parkjui92)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/parkjui92/paper-proofread

---


# 논문 교정교열 (Paper Proofreading & Editing)

## 핵심 메커니즘: 청크 단위 순차 점검

이 스킬의 작동 원리는 **문서를 청크로 쪼개어 한 조각씩 정밀 점검**하는 것이다. 전체 문서를 한 번에 처리하면 세밀한 오류를 놓치기 쉽고, 긴 문서는 컨텍스트 한계에 걸린다. 따라서 아래 순서를 반드시 따른다:

```
문서 읽기 → 청크 분할 → [청크 N 점검 → 수정사항 기록] × 반복 → 전체 통합 → 출력
```

---

## Phase 1: 문서 읽기 & 준비

### 1-1. 파일 읽기

입력 파일의 위치를 확인한다. 실행 환경에 따라 다르다:

- **Claude Code (로컬)**: 사용자가 지정한 파일 경로. 경로가 없으면 현재 작업 디렉터리에서 원고로 보이는 파일을 찾아 사용자에게 확인한다.
- **claude.ai (웹/Cowork)**: 업로드 디렉터리 `/mnt/user-data/uploads/`.

형식에 따라 텍스트를 추출한다. **각 형식마다 폴백 경로를 순서대로 시도**하고, 어떤 방법을 썼는지 사용자에게 알린다:

| 형식 | 1차 | 2차(폴백) | 3차(폴백) |
|------|-----|-----------|-----------|
| `.docx` | `pandoc input.docx -o output.md` | `python-docx`로 문단·표 추출 (간단 스크립트) | docx 스킬이 있는 환경이면 해당 스킬 |
| `.pdf` | pdf 스킬 (있는 환경) | `pypdf`/`pdfminer.six`로 텍스트 추출 | — |
| `.md` / `.txt` | 직접 읽기 | — | — |
| `.hwp` / `.hwpx` | kordoc MCP (`mcp__kordoc__parse_document`) — 표 보존이 가장 좋음 | `npx -y kordoc@latest` CLI | LibreOffice `soffice --convert-to docx` 후 .docx 경로 |

> ⚠️ **hwp 추출 주의**: LibreOffice 변환은 표·그림이 텍스트로 평탄화될 수 있다. 표가 많은 원고는 kordoc 경로를 우선하고, 추출본에서 표가 사라진 것으로 보이면 "원본 대조 필요"를 결과에 명시한다.

추출한 텍스트를 작업 디렉터리의 `proofread_work/original.md`에 저장한다 (claude.ai 환경에서는 `/home/claude/proofread_work/`).

### 1-2. 설정 (기본값 적용, 사용자 지정 시 반영)

| 파라미터 | 기본값 | 설명 |
|----------|--------|------|
| `chunk_size` | 2000자 | 청크 크기. 문단 경계에서 끊음 |
| `citation_style` | APA 7th | 인용 형식 |
| `strictness` | moderate | conservative / moderate / aggressive |
| `focus` | full | full / surface / sentence / reference |
| `verify_references` | off | on이면 Phase 3에서 서지 실재 검증(네트워크 필요) 수행 |

### 1-3. 레퍼런스 로드

`references/rules_ko.md`를 반드시 읽는다. 이 파일에 빈출 오류, 번역투 패턴, 학술 표현 규칙이 있다. 읽지 않고 점검을 시작하면 안 된다.

### 1-4. 구조 파악 & 청크 분할

1. 문서 전체를 훑어 **섹션 구조**(제목, 서론, 이론적 배경, 연구방법, 결과, 결론, 참고문헌 등)를 파악한다.
2. 참고문헌 섹션은 별도 분리한다 (Phase 3에서 따로 처리).
3. 본문을 약 `chunk_size` 글자 단위로 분할한다.

**분할 규칙:**
- 문단 중간에서 자르지 않는다. 가장 가까운 문단 경계(빈 줄)에서 끊는다.
- 각 청크에 섹션 이름과 청크 번호를 태깅한다.
- 표/그림 캡션은 해당 청크에 포함시킨다.

분할 결과 예시:
```
Chunk 1 [§1. 서론, 1~3문단] — 1,850자
Chunk 2 [§1. 서론, 4~6문단] — 2,100자
Chunk 3 [§2.1 이론적 배경] — 1,920자
...
Chunk N [§5. 결론] — 1,200자
REF [참고문헌] — 별도 처리
```

사용자에게 분할 결과를 간략히 보고한다:
> "총 12,400자, 7개 청크로 분할했습니다. 이제 청크별로 점검을 시작합니다."

---

## Phase 2: 청크별 순차 점검 (핵심 루프)

**각 청크마다 아래 점검을 순서대로 수행한다.** focus 파라미터에 따라 일부 단계를 생략할 수 있다.

### 루프 구조

```
FOR each chunk (1 to N):
    1. 청크 텍스트를 읽는다
    2. [표기 교정] 맞춤법, 띄어쓰기, 외래어, 문장부호, 약어
    3. [문장 교열] 주술호응, 조사, 이중피동, 번역투, 문장길이, 중복표현
    4. [논리 점검] 문단 논리, 전환 자연스러움, 용어 일관성
    5. 수정사항을 교정교열표에 누적 기록
    6. 수정 반영본을 작성
    7. 사용자에게 해당 청크 결과를 보고
    → 다음 청크로 이동
```

### 점검 1: 표기 교정 (校正)

기계적·규범적 오류. 주관 판단 없음.

- **맞춤법**: `references/rules_ko.md` §1.1 빈출 오류 대조
- **띄어쓰기**: `references/rules_ko.md` §1.2 의존명사·보조용언 규칙 적용
- **외래어 표기**: 국립국어원 기준
- **문장부호**: 쉼표·마침표 위치, 괄호, 가운뎃점
- **숫자·단위**: 표기 방식 통일
- **약어**: 첫 등장 시 풀어쓰기 여부 (이전 청크에서 이미 정의되었는지 추적)

### 점검 2: 문장 교열 (校閱)

문장 단위 문법, 어법, 가독성.

- **주술 호응**: 주어-서술어 불일치
- **조사 오용**: 은/는, 이/가, 을/를, 에/에서
- **이중피동**: "~되어지다" → "~되다" (🔴 error)
- **번역투**: `references/rules_ko.md` §2 패턴 대조 (🟡 suggest)
- **문장 길이**: 60자 초과 → 분리 권고 (🔵 style)
- **중복 표현**: "약 ~정도", "가장 최고" 등 (🟡 suggest)
- **수동태 연속**: 3문장 이상 피동태 연속 시 능동 전환 권고
- **접속사 과다**: "그리고", "또한" 연속 사용

### 점검 3: 논리·구조 (문단 수준)

- 문단 내 주장→근거→정리 구조
- 이전 청크와의 논리적 연결 (전환 자연스러움)
- 용어 일관성 (이전 청크에서 사용된 용어와 대조)
- 표/그림 번호 순서, 본문 참조 여부

### 청크별 보고 형식

각 청크 점검 완료 시 아래 형식으로 보고한다:

```
### 📋 Chunk 3 [§2.1 이론적 배경] 점검 완료

수정 건수: 5건 (🔴 2 / 🟡 2 / 🔵 1)

| # | 심각도 | 유형 | 원문 | 수정안 | 사유 |
|---|--------|------|------|--------|------|
| 1 | 🔴 | 맞춤법 | 데이타 | 데이터 | 외래어 표기법 |
| 2 | 🔴 | 이중피동 | 분석되어지고 | 분석되고 | 이중피동 제거 |
| 3 | 🟡 | 번역투 | ~에 있어서 | ~에서 | 불필요한 번역투 |
| 4 | 🟡 | 중복 | 약 30% 정도 | 약 30% | 중복 표현 |
| 5 | 🔵 | 문장길이 | (원문 78자) | (분리안 제시) | 가독성 |

[수정 반영본]
(해당 청크의 수정된 텍스트 전문)

→ 다음 청크로 진행합니다.
```

### 청크 간 추적 정보

청크를 넘어가면서 아래 정보를 누적·추적한다. 이를 통해 문서 전체의 일관성을 확보한다.

- **약어 정의 목록**: 어떤 약어가 몇 번째 청크에서 정의되었는지
- **용어 사용 목록**: 핵심 용어의 표기 방식 (띄어쓰기, 한자 병기 여부 등)
- **표/그림 번호 카운터**: 현재까지 등장한 번호
- **인용 목록**: 본문에서 등장한 (저자, 연도) 쌍 수집 → Phase 3에서 참고문헌과 대조
- **보조용언 표기 방식**: 첫 등장 시 확인한 방식(붙여쓰기/띄어쓰기)으로 이후 통일

---

## Phase 3: 참고문헌 점검

본문 청크 점검이 모두 끝난 후, 참고문헌 섹션을 별도로 점검한다.

### 점검 항목

- **본문↔참고문헌 대조**: Phase 2에서 수집한 인용 목록과 참고문헌 목록을 대조
  - 본문에만 있고 목록에 없는 문헌 → 🔴 error
  - 목록에만 있고 본문에 없는 문헌 → 🟡 suggest (삭제 또는 본문 추가 권고)
- **서지정보 완결성**: 저자명, 연도, 제목, 학술지명, 권(호), 페이지, DOI/URL
- **인용 형식 일관성**: citation_style에 따른 형식 검증
- **정렬 순서**: 가나다순 → 알파벳순 (또는 학회 규정)
- **연도 일치**: 본문 (홍길동, 2023) ↔ 목록의 연도

### 서지 실재 검증 (선택 — `verify_references: on`)

웹 접근이 가능한 환경(WebFetch/WebSearch 사용 가능)에서만 수행하는 확장 점검이다. **AI가 관여한 원고에서 가장 위험한 오류는 그럴듯하게 지어낸 문헌(환각 출처)**이므로, 투고 전 원고에는 이 단계를 권장한다.

- **DOI 실존**: `https://doi.org/<DOI>`로 접근해 리다이렉트/메타데이터가 실제 논문과 일치하는지 확인
- **URL 실존**: 참고문헌의 URL을 fetch하여 404·내용 불일치 확인
- **식별자 형식**: DOI(`10.XXXX/...`), arXiv(`YYMM.NNNNN`) 형식 검사
- **제목·저자 대조**: 조회된 메타데이터와 목록의 서지정보 비교 (연도·권호 오기 탐지)
- 확인 불가(페이월, 오프라인 문헌)는 "미확인"으로 구분하고 오류로 단정하지 않는다
- 실존하지 않는 것으로 보이는 문헌 → 🔴 error + "환각 출처 의심" 플래그

> 개인정보 유의: 이 단계에서 외부로 전송되는 것은 서지정보(제목·저자·DOI)뿐이다. 원고 본문은 외부로 보내지 않는다.

---

## Phase 4: 통합 & 출력

### 출력 1: 교정교열표 (전체 통합)

각 청크별 수정사항을 하나의 표로 통합한다.

```
| # | 위치 | 심각도 | 유형 | 원문 | 수정안 | 사유 |
|---|------|--------|------|------|--------|------|
```

- 위치 칼럼에 섹션명과 청크 번호를 기재하여 원문 대조가 가능하게 한다.
- 건수가 20건 이상이면 마크다운 파일(.md)로 출력한다.

### 출력 2: 수정 원고

모든 청크의 수정 반영본을 순서대로 합쳐 전체 수정 원고를 만든다.

- 기본: 마크다운(.md)으로 출력
- 사용자 요청 시: docx 스킬(또는 pandoc)을 사용하여 .docx로 생성 (트랙체인지 또는 코멘트 적용)

### 출력 3: 요약 리포트

```
## 교정교열 요약

- 문서: (파일명), 총 N자, M개 청크
- 총 수정 건수: N건 (🔴 n건 / 🟡 n건 / 🔵 n건)
- 주요 패턴: (반복적으로 나타난 오류 유형 상위 2~3개, 빈도 포함)
- 용어 일관성: (불일치가 발견된 용어 목록)
- 인용 점검: 본문 인용 n건 중 불일치 n건 (서지 실재 검증 수행 시: 실존 확인 n건 / 미확인 n건 / 환각 의심 n건)
- 전체 평가: (논문의 전반적 완성도에 대한 한 줄 코멘트)
- 권고 사항: (구조적 개선이 필요한 경우 제안)
```

---

## 심각도 분류

| 심각도 | 의미 | 예시 |
|--------|------|------|
| 🔴 error | 반드시 수정. 규범 위반, 사실 오류, 인용 불일치 | 맞춤법, 이중피동, 없는 문헌 인용 |
| 🟡 suggest | 수정 권고. 가독성·명확성 저하 | 번역투, 중복 표현, 긴 문장 |
| 🔵 style | 선택적. 스타일 선호 차이 | 접속사 변경, 어순 조정 |

strictness별 출력 범위:
- **conservative**: 🔴만 보고
- **moderate**: 🔴 + 🟡
- **aggressive**: 🔴 + 🟡 + 🔵 모두

---

## 중요 원칙

1. **원저자 의도 존중**: 학술적 내용·주장 자체를 변경하지 않는다. 표현과 형식만 다듬는다.
2. **근거 명시**: 모든 수정에 구체적 사유를 기재한다. "어색함" 대신 규칙을 인용한다.
3. **과잉 수정 금지**: 맞는 표기가 여러 개인 경우, 논문 내에서 통일되어 있으면 수정하지 않는다.
4. **청크 간 일관성**: 앞 청크에서 확인한 표기 방식·용어를 뒤 청크에도 동일하게 적용한다.
5. **진행 상황 공유**: 각 청크 완료 시 사용자에게 보고하여 중간에 피드백을 받을 수 있게 한다.
6. **원고 보호**: 원고 본문을 외부 서비스로 전송하지 않는다. 네트워크를 쓰는 것은 (사용자가 켠 경우의) 서지 실재 검증뿐이며, 그때도 서지정보만 조회한다.

---

## 레퍼런스

한국어 교정 규칙의 상세 목록은 `references/rules_ko.md`를 참조한다. Phase 2 시작 전에 반드시 읽는다.

변경 이력은 `CHANGELOG.md` 참조.

