Install any skill in seconds. Free to start, no credit card required.
Get Started Free →AI(ChatGPT·Claude·Gemini 등)가 쓴 한국어 텍스트의 "AI 티"를 정밀하게 제거해 사람이 쓴 글처럼 윤문하는 한국어 특화 스킬입니다. 번역투(~를 통해/~에 있어서/이중 피동), 영어 인용 과다, 기계적 병렬(첫째·둘째·셋째), AI 특유 관용구(결론적으로/시사하는 바가 크다/혁신적인), 피동태 남용, 문두 접속사 남발, 형식명사 과다, 이모지·불릿·볼드 남용 등 10대 카테고리 × 40+ 패턴을 S1/S2/S3 심각도로 탐지·윤문하고, 의미는 한 글자도 건드리지 않습니다(고유명사·수치·날짜·인용 100% 보존, 변경률 30% 초과 시 경고·50% 초과 시 강제 중단). 다음과 같은 요청 시 반드시 이 스킬을 사용하세요: - "AI 티 없애줘", "GPT 문체 제거해줘", "ChatGPT 티 제거" - "사람이 쓴 것처럼 윤문해줘", "AI 같은 글 자연스럽게" - "한글 AI 윤문", "AI 글 사람처럼", "AI 글 티 안 나게" - "번역투 제거", "영어
.claude/skills/modu-ai-humanize-korean/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 179% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 205% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 59% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 187% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 160% | 0% |
이 스킬은 한국어 텍스트에서 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를 호출:
bashpython3 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는 참고용).
bashpython3 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건"을 표기합니다.
bashpython3 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 주석이라 마크다운 뷰어·웹 게시·복사 시 본문에만 노출됩니다.
markdown{윤문본 본문} <!-- 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의 설계 노트로 향후 확장을 정리했습니다.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 16,440 | 7,553 | -54% | 1 | 1 | 0% | 2,833 | 4,728 | +67% | 0 | 0 | — |
case-12 | fail→pass | 12,402 | 6,824 | -45% | 1 | 1 | 0% | 1,911 | 5,330 | +179% | 0 | 0 | — |
case-02 | fail→pass | 8,243 | 4,512 | -45% | 1 | 1 | 0% | 1,685 | 5,139 | +205% | 0 | 0 | — |
case-03 | fail→fail | 6,510 | 3,520 | -46% | 1 | 1 | 0% | 1,113 | 4,860 | +337% | 0 | 0 | — |
case-04 | fail→pass | 17,827 | 3,302 | -81% | 1 | 1 | 0% | 3,102 | 4,925 | +59% | 0 | 0 | — |
case-05 | fail→pass | 10,651 | 4,406 | -59% | 1 | 1 | 0% | 1,781 | 5,105 | +187% | 0 | 0 | — |
case-06 | pass→pass | 11,491 | 4,822 | -58% | 1 | 1 | 0% | 1,823 | 5,079 | +179% | 0 | 0 | — |
case-07 | fail→pass | 12,403 | 5,816 | -53% | 1 | 1 | 0% | 2,008 | 5,211 | +160% | 0 | 0 | — |
case-08 | fail→fail | 10,231 | 9,453 | -8% | 1 | 1 | 0% | 1,517 | 5,729 | +278% | 0 | 0 | — |
case-09 | fail→pass | 11,681 | 12,080 | +3% | 1 | 1 | 0% | 1,713 | 6,004 | +250% | 0 | 0 | — |
case-10 | fail→pass | 11,803 | 6,091 | -48% | 1 | 1 | 0% | 1,692 | 5,191 | +207% | 0 | 0 | — |
case-11 | pass→pass | 8,861 | 7,268 | -18% | 1 | 1 | 0% | 1,256 | 5,403 | +330% | 0 | 0 | — |
case-13 | fail→pass | 11,543 | 7,616 | -34% | 1 | 1 | 0% | 1,758 | 5,627 | +220% | 0 | 0 | — |
case-14 | fail→pass | 10,200 | 3,384 | -67% | 1 | 1 | 0% | 1,719 | 4,867 | +183% | 0 | 0 | — |
case-15 | fail→pass | 12,147 | 5,402 | -56% | 1 | 1 | 0% | 1,916 | 5,184 | +171% | 0 | 0 | — |
case-16 | fail→pass | 8,156 | 3,492 | -57% | 1 | 1 | 0% | 1,260 | 4,809 | +282% | 0 | 0 | — |
case-17 | fail→pass | 9,720 | 4,421 | -55% | 1 | 1 | 0% | 1,528 | 5,114 | +235% | 0 | 0 | — |
case-18 | fail→pass | 7,705 | 6,117 | -21% | 1 | 1 | 0% | 1,300 | 5,217 | +301% | 0 | 0 | — |
case-19 | fail→pass | 15,251 | 10,611 | -30% | 1 | 1 | 0% | 2,277 | 6,137 | +170% | 0 | 0 | — |
case-20 | fail→fail | 14,517 | 7,339 | -49% | 1 | 1 | 0% | 2,284 | 5,449 | +139% | 0 | 0 | — |
case-21 | pass→pass | 13,143 | 19,905 | +51% | 1 | 1 | 0% | 2,199 | 7,287 | +231% | 0 | 0 | — |
case-22 | pass→pass | 3,740 | 5,410 | +45% | 1 | 1 | 0% | 699 | 5,044 | +622% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +64 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.