/audit — 논문 일관성 감사 스킬
목적
모든 논문 장을 스캔하여 내부 데이터 일관성 문제(모순된 숫자, 일관되지 않은 용어, 끊긴 상호참조, 산술 오류)를 찾습니다. 제출 전 품질 검사입니다.
트리거 단어
이 스킬은 다음 단어에 활성화됩니다: audit, consistency check, check numbers, /audit.
워크플로우
-
chapters/디렉토리의 모든 장 파일을 Glob으로 스캔합니다. 각 파일을 읽어 정량적 주장, 용어, 상호참조를 추출합니다. -
다음 범주를 확인합니다:
A. 수치 일관성
- 여러 장에서 인용된 동일 통계(예: 정확도, 표본 크기, p-값)는 동일한 값을 가져야 합니다.
- 분포의 백분율은 반올림을 위해 +/-1% 허용 오차 내에서 100%가 되어야 합니다.
- 개수(예: "42개 모델")는 장 간에 일치해야 합니다.
B. 용어 일관성
- 동일한 개념은 전체에서 동일한 용어를 사용해야 합니다. 동의어가 일관성 없이 사용된 경우(예: 동일 개념에 대해 "유사-이해"와 "거짓 이해") 플래그를 표시합니다.
- 약어는 각 장에서 처음 사용될 때 정의되어야 합니다.
C. 상호참조 유효성
- 다른 섹션에 대한 참조(예: "섹션 3.2에서 논의된 바와 같이")는 존재하는 섹션을 가리켜야 합니다.
- 표와 그림에 대한 참조는 실제 표/그림 번호와 일치해야 합니다.
- 전방 참조("6장에서 보여주겠지만...")는 충족되어야 합니다.
D. 인용 일관성
python3 scripts/audit-citations.py --base-dir . --style $(grep -oP '(?<=Citation style: )\S+' CLAUDE.md) --json명령어를 실행하고 JSON 출력을 파싱합니다. 이 스크립트는 네 가지 계층을 구현합니다:- 계층 0 —
literature/reading_notes/*_NOTES.md의 소스 라인 린트.**Source**:라인이 없거나 형식이 잘못된 경우 플래그를 표시합니다. 심각도는medium(notes-source-missing) 또는medium(notes-source-malformed)입니다. - 계층 1 — 페어링. 모든 본문 내 인용은
**Source**:항목과 일치해야 하며, 모든 Source는 최소 한 번 인용되어야 합니다. 세 가지 모드:- 저자-연도 (Harvard, APA, Chicago Author-Date, GB/T 7714-2015):
(성, 연도)로 페어링. 가상 및 미사용은 심각도high. - 저자-페이지 (MLA):
성만으로 페어링. - 숫자형 (IEEE, Vancouver): 개수 균형 + 정수 간격 감지로 페어링.
- 저자-연도 (Harvard, APA, Chicago Author-Date, GB/T 7714-2015):
- 계층 2 — 모든 본문 인용에 걸친 스타일 모드 감지. 원고가 혼용될 때(예:
(Smith 2024)와(Smith, 2024)혼합) 이상치를 플래그합니다. 심각도medium. - 계층 3 —
CLAUDE.md에 선언된Citation style:에 대한 스타일별 형식 검증. 잘못된 쉼표, et al. 임계값 위반, 잘못된 다중 저자 연결자를 플래그합니다. 심각도low.
스크립트의 종료 코드는
0(문제 없음),1(모든 계층에서 문제 있음), 또는2(잘못된 인수)입니다. 스크립트의 문제를 아래Issues테이블에 새 행으로 추가합니다. 심각도 어휘는 직접 매핑됩니다(critical | high | medium | low | info).JSON 스키마 및 지원되는 스타일 레지스트리는
docs/superpowers/specs/2026-04-27-c-rest-citation-design.md를 참조하세요. -
감사 보고서를 출력합니다(아래 형식 사용).
출력 형식
## 감사 보고서 -- {YYYY-MM-DD}
### 요약
- **Critical**: {N}개 문제 (모순된 데이터)
- **High**: {N}개 문제 (끊긴 참조, 누락된 정의)
- **Medium**: {N}개 문제 (용어 불일치, 경미한 산술 오류)
### 문제 목록
| # | 심각도 | 범주 | 위치 | 문제 | 현재 값 | 예상 값 |
|---|--------|------|------|------|---------|---------|
| 1 | Critical | 수치 | Ch3 s3.2, Ch5 s5.4 | PUR 값 차이 | 22.5% (Ch3) vs 23.1% (Ch5) | 일관되어야 함 |
| 2 | High | 상호참조 | Ch4 s4.1 | "섹션 3.7" 참조 | 섹션 3.7 | 섹션이 존재하지 않음 |
### 권장 사항
{심각도별로 그룹화, 각 문제 해결 방법에 대한 간략한 설명.}
심각도 수준
- Critical: 동일한 정량적 주장이 장마다 다른 값을 가짐. 논문 신뢰도를 직접적으로 훼손합니다.
- High: 끊긴 상호참조, 첫 사용 시 정의되지 않은 약어, 누락된 표/그림 번호.
- Medium: 사실적 오류를 유발하지 않는 일관되지 않은 용어, 허용 오차 내의 경미한 반올림 불일치.
제약 사항
- 절대 자동 수정하지 않음. 모든 문제를 사용자가 검토하고 결정할 수 있도록 나열합니다. 사용자는 선택적으로 수정할 수 있습니다.
- 출력에 이모지 사용 금지.
- 모든 인스턴스를 보고합니다. 첫 번째 발생뿐만 아니라 통계가 4개 장에 2개의 다른 값으로 나타나면 4개 위치를 모두 나열합니다.
- 위치를 구체적으로 명시합니다. 장 번호, 섹션 번호, 주변 컨텍스트를 제공하여 사용자가 문제를 빠르게 찾을 수 있도록 합니다.
- 스타일 문제는 플래그하지 않습니다. 이 스킬은 데이터 일관성을 확인하며, 글의 질을 확인하지 않습니다.