modu-ai/humanize-korean
| AI(ChatGPT·Claude·Gemini 등)가 쓴 한국어 텍스트의 "AI 티"를 정밀하게 제거해 사람이 쓴 글처럼 윤문하는 한국어 특화 스킬입니다. 번역투(~를 통해/~에 있어서/이중 피동), 영어 인용 과다, 기계적 병렬(첫째·둘째·셋째), AI 특유 관용구(결론적으로/시사하는 바가 크다/혁신적인), 피동태 남용, 문두 접속사 남발, 형식명사 과다, 이모지·불릿·볼드 남용 등 10대 카테고리 × 40+ 패턴을 S1/S2/S3 심각도로 탐지·윤문하고, 의미는 한 글자도 건드리지 않습니다(고유명사·수치·날짜·인용 100% 보존, 변경률 30% 초과 시 경고·50% 초과 시 강제 중단). 적용 대상 — 모든 한국어 텍스트 산출물(블로그·뉴스레터·카피·사업계획서·제안서·보고서·이메일·랜딩 카피·칼럼·리포트). ai-slop-reviewer가 1차 일반 후처리를 마친 뒤 2차 한국어 정밀 윤문으로 호출하는 것을 권장합니다. 적용 제외 — 단순 맞춤법·오탈자 교정(직접 처리), 번역(번역 스킬), 내용 추가·삭제 동반 재작성(별도 집필 스킬), 코드·JSON·CSV·차트·표. 한국 번역학계 8유형 번역투 계보를 통합한 10대 카테고리 분류 + 신규 패턴 A-16/A-18/A-19/E-7 + post-editese 14메트릭 기반 한국어 정밀 윤문 스킬입니다.
npx skills add https://github.com/modu-ai/cowork-plugins --skill humanize-korean
이 스킬은 한국어 텍스트에서 AI가 쓴 흔적을 수술적으로 제거합니다. 내용은 한 글자도 건드리지 않고 문체·리듬·표현만 자연스러운 한국어로 되돌립니다. 영어권 humanizer(QuillBot·Hix·Undetectable AI)가 약한 한국어 고유 패턴 — 번역투, 영어 인용 과다, 결말 공식, hedging, 형식명사 — 을 정량 메트릭과 SSOT 분류 체계로 처리합니다.
작업 시작 시 가장 먼저 다음 한 줄을 출력합니다.
humanize-korean — fast 모드 / run_id: {YYYY-MM-DD-NNN}
_workspace/{YYYY-MM-DD-NNN}/에 산출물 누적Glob 도구로:Glob(pattern="_workspace/YYYY-MM-DD-*/01_input.txt") → 결과에서 폴더명 추출 후 NNN 최댓값 + 101_input.txt 표지 파일을 매칭장르: 칼럼|리포트|블로그|공적 — 장르 명시(생략 시 첫 300자로 자동 추정)강도: 보수|기본|적극 — 윤문 강도(기본값: 기본)최소심각도: S1|S2|S3 — 탐지 임계값(기본값: S2)_workspace/{run_id}/ 디렉토리 생성01_input.txt에 그대로 저장 (한 글자도 변형하지 않음)정량 베이스라인을 먼저 잡습니다. references/metrics.py를 호출:
python3 moai-content/skills/humanize-korean/references/metrics.py \
--input "_workspace/{run_id}/01_input.txt" \
--genre {칼럼|리포트|블로그|공적} \
--output "_workspace/{run_id}/00_metrics.json"
산출물 00_metrics.json에는 다음이 포함됩니다(원본 metrics.py v1.6 명세):
(옵션) post-editese 분석 레이어 — references/metrics_v2.py: 번역투 14개 정량 신호(simplification·normalisation·interference 3축, T1~T8)를 추가로 측정하려면 metrics_v2.py를 호출합니다. metrics.py를 import해 v1.6 출력의 상위집합을 반환하므로(v2_metrics·v2_interference_index 키 추가) 기존 Phase 흐름과 호환됩니다. 이 레이어는 선택적 분석용으로, Fast 파이프라인의 1차 baseline은 여전히 metrics.py입니다. baseline은 placeholder(baseline_v2.json, 모든 셀 _placeholder: true — calibration 전이므로 z-score는 참고용).
python3 moai-content/skills/humanize-korean/references/metrics_v2.py \
--input "_workspace/{run_id}/01_input.txt" \
--genre {essay|news|blog|qa|dialogue} \
--output "_workspace/{run_id}/00_metrics_v2.json"
표준 라이브러리만 사용하므로 별도 의존 설치는 없습니다(Python 3.13+ 권장).
핵심 단계. 이 단계에서 다음을 한 번에 수행합니다.
다음 두 파일을 메모리로 로드:
references/quick-rules.md — S1·S2 핵심 패턴 + 자체검증 6항(슬림 룰북)references/ai-tell-taxonomy.md — 10대 카테고리 × 40+ 서브 패턴 SSOT(필요 시 참조)00_metrics.json의 정량 신호를 우선순위로 활용합니다(예: stdev<8이면 E-1 우선, -성/-적/-화 12+이면 F-4 우선).
S1 (결정적 — 무조건 제거):
S2 (강함 — 1-2회 허용, 3+ 시 제거):
자세한 처방 레시피는 references/rewriting-playbook.md 참조.
탐지된 span별로 Edit 도구로 수술적 치환. 탐지되지 않은 구간은 절대 수정하지 않습니다.
윤문 직후 다음을 자가 점검합니다. 한 항목이라도 위반이면 해당 edit 롤백:
위반 시: edit 롤백 → 다시 윤문 → 재점검. 자체 루프 최대 1회. 여전히 미해결이면 결과를 출력하되 summary.md에 "자가검증 미통과 항목 N건"을 표기합니다.
python3 moai-content/skills/humanize-korean/references/metrics.py \
--input "_workspace/{run_id}/final.md" \
--genre {장르} \
--output "_workspace/{run_id}/06_metrics_after.json"
before/after 비교로 카테고리별 개선율(%)을 계산합니다.
_workspace/{run_id}/final.md에 윤문본 + HTML 주석 블록(메트릭·탐지 before/after·자체검증 6항·등급·주요 변경 하이라이트)을 작성합니다. HTML 주석이라 마크다운 뷰어·웹 게시·복사 시 본문에만 노출됩니다.
{윤문본 본문}
<!-- HUMANIZE-SUMMARY
모드: fast / run_id: {run_id}
변경률: X%
등급: A|B|C|D
자체검증: N/6 통과
카테고리 탐지 (before → after):
A 번역투: 12 → 1
D AI 관용구: 5 → 0
...
-->
_workspace/{run_id}/summary.md에 메트릭 표·자체검증 결과·등급·하이라이트 요약을 정리합니다.
| 등급 | 조건 |
|---|---|
| A | S1 잔존 0, S2 잔존 ≤2, 변경률 10-25%, 자체검증 6/6 |
| B | S1 잔존 0, S2 잔존 ≤4, 자체검증 5/6 이상 |
| C | S1 잔존 1-2 또는 자체검증 ≤4 — 사용자에게 정밀 검증 권고 |
| D | S1 잔존 3+ 또는 변경률 50% 초과 — 작업 중단 권고 |
다음 4개를 사용자에게 전달:
완료. 변경률 X% / 등급 Y / 자체검증 N/6 통과references/strict-pipeline-spec.md의 정밀 모드 설계 노트를 참조해 별도 워크플로로 실행하시기 바랍니다."| 사용자 신호 | 처리 |
|---|---|
| "특정 카테고리만 다시" | 해당 카테고리 finding만 Phase 3 재실행, 기존 run_id 재사용 |
| "이 문단만" | 해당 문단만 입력으로 새 run_id 생성 |
| "2차 윤문" | 기존 run_id의 final.md를 새 입력으로 Phase 1부터 재실행 |
| "윤문 강도 조정" | 최소심각도 옵션 변경 후 Phase 2부터 재실행 |
| "장르 바꿔서" | genre_hint 변경 후 Phase 2부터 재실행 |
이 스킬은 moai-core:ai-slop-reviewer의 2차 한국어 정밀 윤문 단계로 설계되었습니다. 권장 체인:
한국어 텍스트 산출물(블로그·뉴스레터·카피 등)
↓
moai-core:ai-slop-reviewer ── 1차 일반 AI 슬롭 후처리(영어 표현 정리, 일반 패턴)
↓
moai-content:humanize-korean ── 2차 한국어 정밀 윤문(40+ 패턴 SSOT, 등급)
↓
최종 산출물
ai-slop-reviewer만으로 충분한 경우(영어 비중 높은 텍스트, 캐주얼 블로그)는 humanize-korean을 생략해도 됩니다.
references/quick-rules.md — S1·S2 핵심 패턴 + 자체검증 체크리스트references/ai-tell-taxonomy.md — 10대분류 × 40+ 패턴 전수references/rewriting-playbook.md — 카테고리별 치환 레시피·장르별 허용 표references/metrics.py — Python 3.13+ 표준 라이브러리만, CLI 호출references/baseline.json — 카테고리별 임계값references/metrics_v2.py — 번역투 14개 정량 신호(3축 T1~T8), metrics.py import 상위집합, CLI --genre essay|news|blog|qa|dialoguereferences/baseline_v2.json — 3축 placeholder 임계값(모든 셀 _placeholder: true, calibration 전)references/scholarship.md — 한국 번역학계 8유형 계보 + 국제 이론(Baker·Toury·Toral) + caveat 6건, 신규 패턴 출처references/strict-pipeline-spec.md — 이 스킬은 단일 콜 Fast 모드만 구현하며, 다중 패스 정밀 검증 개념은 향후 확장용 설계 노트로 정리(현재 미구현, 별도 워크플로로 실행 시 참조)references/web-service-spec.md — Next.js + Vercel 확장 시 참조이 스킬은 한 콜에서 탐지·윤문·자체검증을 끝내는 단일 콜 Fast 모드로 동작합니다. 분류 체계(references/ai-tell-taxonomy.md)·룰북(quick-rules.md·rewriting-playbook.md)·정량 메트릭(metrics.py·baseline.json)·번역학 학술 근거(scholarship.md)를 SSOT로 두고, 다중 패스 정밀 검증은 references/strict-pipeline-spec.md의 설계 노트로 향후 확장을 정리했습니다.
Take modu-ai/humanize-korean from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.