mcpbeat Sign in

Humanize Korean Skill for Claude

| 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메트릭 기반 한국어 정밀 윤문 스킬입니다.

56k tokens
context cost
the whole folder, loaded on every use
12
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
265
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/modu-ai/cowork-plugins --skill humanize-korean

The instruction itself

19 sections, as written by the author

Humanize Korean — 한국어 AI 티 제거 (Fast 모드)

개요

이 스킬은 한국어 텍스트에서 AI가 쓴 흔적을 수술적으로 제거합니다. 내용은 한 글자도 건드리지 않고 문체·리듬·표현만 자연스러운 한국어로 되돌립니다. 영어권 humanizer(QuillBot·Hix·Undetectable AI)가 약한 한국어 고유 패턴 — 번역투, 영어 인용 과다, 결말 공식, hedging, 형식명사 — 을 정량 메트릭과 SSOT 분류 체계로 처리합니다.

4대 철칙 (위반 시 즉시 롤백)

  • 의미 불변 — 사실·주장·수치·고유명사·직접 인용은 100% 원문 보존
  • 근거 기반 — 탐지된 span에만 수술적 수정. 탐지 없는 구간은 건드리지 않음
  • 장르 유지 — 칼럼을 문학으로, 리포트를 에세이로 옮기지 않음
  • 과윤문 금지 — 변경률 30% 초과 시 경고, 50% 초과 시 강제 중단

Phase 0: 컨텍스트 확인

작업 시작 시 가장 먼저 다음 한 줄을 출력합니다.

humanize-korean — fast 모드 / run_id: {YYYY-MM-DD-NNN}

run_id 결정

  • 모든 경로는 cwd 기준. _workspace/{YYYY-MM-DD-NNN}/에 산출물 누적
  • 기존 시퀀스 확인은 Glob 도구로:
  • Glob(pattern="_workspace/YYYY-MM-DD-*/01_input.txt") → 결과에서 폴더명 추출 후 NNN 최댓값 + 1
  • 당일 폴더가 없으면 NNN = 001
  • 디렉토리 자체는 Glob으로 매칭 안 됨 — 반드시 01_input.txt 표지 파일을 매칭
  • 8,000자 초과 입력은 처리는 가능하지만 정밀 검증이 필요할 수 있음 → summary.md에 "정밀 모드(strict-pipeline-spec) 권장" 한 줄 표기

옵션 (인자 끝에 자연어로)

  • 장르: 칼럼|리포트|블로그|공적 — 장르 명시(생략 시 첫 300자로 자동 추정)
  • 강도: 보수|기본|적극 — 윤문 강도(기본값: 기본)
  • 최소심각도: S1|S2|S3 — 탐지 임계값(기본값: S2)

Phase 1: 입력 저장

  • cwd 기준 _workspace/{run_id}/ 디렉토리 생성
  • 입력 텍스트를 01_input.txt에 그대로 저장 (한 글자도 변형하지 않음)
  • 첫 300자로 장르 자동 추정 (사용자 명시 시 우선)
  • 칼럼: 1인칭 의견·논평·결말 공식
  • 리포트: 객관적 서술·수치·인용
  • 블로그: 캐주얼·친근체·이모지 허용
  • 공적: 격식체·공문체

Phase 2: 사전 메트릭 측정

정량 베이스라인을 먼저 잡습니다. 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 명세):

  • 문장 수, 평균 문장 길이, 길이 표준편차(E-1 균일성 신호)
  • 연결어미+쉼표 빈도(C-11 KatFish 시그널)
  • 한자어 명사화 -성/-적/-화 밀도(F-4)
  • 종결어미 분포(I 카테고리)
  • 문두 접속사 빈도(H-1)

(옵션) 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+ 권장).

Phase 3: 인라인 탐지·윤문·자체검증

핵심 단계. 이 단계에서 다음을 한 번에 수행합니다.

3-1. 룰북 로드

다음 두 파일을 메모리로 로드:

  • 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 우선).

3-2. Do-NOT 리스트 (탐지·윤문 모두 제외)

  • 고유명사·제품명·모델명·기관명
  • 수치·날짜·단위
  • 큰따옴표 안 직접 인용
  • 법률 조문, 수학·화학·통계 표기
  • 영어 약어(LLM·GPU·MCP·API 등 업계 표준)

3-3. 카테고리별 처방 적용 우선순위

S1 (결정적 — 무조건 제거):

  • A-1/A-2/A-3 번역투(~를 통해/~에 대해/~에 있어서)
  • A-7/A-8 가지고 있다 / 이중 피동
  • C-5 이모지 남발(칼럼·리포트 한정)
  • C-10 콜론 부제 헤딩 반복
  • C-11 연결어미 뒤 쉼표
  • D-1~D-6 결산 피벗·시사하는 바·본질적으로·hype 어휘·의인화 추상 주어·결말 공식
  • H-1/H-3 문두 접속사 5+회 / 메타 진입 3+회
  • I-1 ~인 것이다/한 것이다 결말
  • J-2 따옴표 강조 5+회

S2 (강함 — 1-2회 허용, 3+ 시 제거):

  • A-4/A-5/A-6/A-9/A-10/A-11/A-15
  • B-1/B-2 영어 인용 과다
  • C-7/C-8/C-9 구조 패턴
  • D-7 변환 공식 X에서 Y로
  • E-1 리듬 균일성
  • F-4/F-5 한자어 -성/-적/-화 밀도
  • G-1/G-2/G-3 hedging
  • H-4 즉 남발
  • I-2/I-3/I-4 형식명사
  • J-1/J-3 헤딩 강조 / 불릿 리스트

자세한 처방 레시피는 references/rewriting-playbook.md 참조.

3-4. 윤문 실행 (Edit 도구)

탐지된 span별로 Edit 도구로 수술적 치환. 탐지되지 않은 구간은 절대 수정하지 않습니다.

  • 격식체 입력 → 격식체 출력 (register 보존)
  • 평어체 입력 → 평어체 출력
  • 변경 누적분이 30% 초과 시 경고 메시지를 summary 후보에 기록, 50% 초과 시 즉시 중단·전체 롤백

3-5. 자체검증 6항 점검 (윤문 직후 5초 내)

윤문 직후 다음을 자가 점검합니다. 한 항목이라도 위반이면 해당 edit 롤백:

  • 고유명사·수치·날짜·인용 100% 보존 — 원문 대비 한 글자도 다르지 않은가
  • 변경률 — 30% 이하인가
  • 장르 이탈 없음 — 칼럼이 에세이·문학으로 변하지 않았는가
  • register 보존 — 원문 격식체면 결과도 격식체
  • 잔존 S1 패턴 0건 — D-1~D-7, A-8, C-5, C-10, C-11, H-1, I-1, J-2가 남아있지 않은가
  • 인공 표현 자제 — 원문에 없던 비유·수사·문학적 표현을 임의 추가하지 않았는가

위반 시: edit 롤백 → 다시 윤문 → 재점검. 자체 루프 최대 1회. 여전히 미해결이면 결과를 출력하되 summary.md에 "자가검증 미통과 항목 N건"을 표기합니다.

Phase 4: 사후 메트릭 + 산출물 작성

4-1. 사후 메트릭

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 비교로 카테고리별 개선율(%)을 계산합니다.

4-2. final.md 작성

_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
  ...
-->

4-3. summary.md 작성

_workspace/{run_id}/summary.md에 메트릭 표·자체검증 결과·등급·하이라이트 요약을 정리합니다.

Phase 5: 등급 판정

| 등급 | 조건 |

|---|---|

| 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% 초과 — 작업 중단 권고 |

Phase 6: 사용자에게 결과 반환

다음 4개를 사용자에게 전달:

  • 한 줄 상태: 완료. 변경률 X% / 등급 Y / 자체검증 N/6 통과
  • 윤문본 본문: 마크다운 블록 형태로
  • summary.md 핵심 표: 메트릭 + 카테고리 탐지 + 자체검증
  • 등급 B 이하 시 안내: "더 정밀한 검증이 필요하면 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부터 재실행 |

ai-slop-reviewer와의 관계

이 스킬은 moai-core:ai-slop-reviewer2차 한국어 정밀 윤문 단계로 설계되었습니다. 권장 체인:

한국어 텍스트 산출물(블로그·뉴스레터·카피 등)
  ↓
moai-core:ai-slop-reviewer  ── 1차 일반 AI 슬롭 후처리(영어 표현 정리, 일반 패턴)
  ↓
moai-content:humanize-korean ── 2차 한국어 정밀 윤문(40+ 패턴 SSOT, 등급)
  ↓
최종 산출물

ai-slop-reviewer만으로 충분한 경우(영어 비중 높은 텍스트, 캐주얼 블로그)는 humanize-korean을 생략해도 됩니다.

주의 사항

  • 의미 불변이 최상위 불문율 — 위반 즉시 롤백
  • 수치·고유명사·직접 인용은 탐지·윤문 대상 아님 — Do-NOT 리스트 엄수
  • 장르 이탈 금지 — 칼럼이 에세이로, 에세이가 문학으로 옮겨가지 않음
  • register 보존 — AI 티는 문법·수사이지 격식 자체가 아님
  • 변경률 30% 초과 → 경고, 50% 초과 → 강제 중단·전체 롤백
  • 자동 로드 금지 — 프로젝트 CLAUDE.md 등 다른 파일을 자동 파싱해 옵션 추론하지 않음

참고 자료

  • 슬림 룰북(이 스킬 핵심): references/quick-rules.md — S1·S2 핵심 패턴 + 자체검증 체크리스트
  • 분류 체계 SSOT: references/ai-tell-taxonomy.md — 10대분류 × 40+ 패턴 전수
  • 윤문 처방: references/rewriting-playbook.md — 카테고리별 치환 레시피·장르별 허용 표
  • 정량 메트릭: references/metrics.py — Python 3.13+ 표준 라이브러리만, CLI 호출
  • 베이스라인: references/baseline.json — 카테고리별 임계값
  • (옵션) post-editese 메트릭: references/metrics_v2.py — 번역투 14개 정량 신호(3축 T1~T8), metrics.py import 상위집합, CLI --genre essay|news|blog|qa|dialogue
  • (옵션) post-editese 베이스라인: references/baseline_v2.json — 3축 placeholder 임계값(모든 셀 _placeholder: true, calibration 전)
  • 번역학 학술 SSOT: 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의 설계 노트로 향후 확장을 정리했습니다.

Other skills for the same job

different authors, same section of the catalogue
XLSX
by anthropics
vendor ×15

Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas

5k tokens scripts
XLSX
by w95
×7

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.

3k tokens
Raffle Winner Picker
by frostant
×5

Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.

949 tokens
Fda Database
by christophacham
×4

Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.

32k tokens scripts
Matlab
by christophacham
×4

MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.

25k tokens
Umap Learn
by ComeOnOliver
×4

UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.

14k tokens
D3 Viz
by chrisvoncsefalvay
×3

Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires fine-grained control over visual elements, transitions, or interactions. Use this for bespoke visualisations beyond standard charting libraries, whether in React, Vue, Svelte, vanilla JavaScript, or any other environment.

20k tokens
Alphafold Database
by christophacham
×3

Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.

7k tokens

How to use it

Copy the folder

Take modu-ai/humanize-korean from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.