Overview
This skill surgically surgically removes traces of AI writing from Korean text. without touching a single character of the content It restores only the style, rhythm, and expressions to natural Korean. It handles Korean-native patterns where English-language humanizers (QuillBot, Hix, Undetectable AI) are weak — translationese, excessive English quotations, concluding formulas, hedging, formal nouns — through quantitative metrics and an SSOT classification system.
Four Iron Rules (immediate rollback upon violation)
- Meaning invariance — facts, claims, figures, proper nouns, and direct quotations are 100% preserved from the original
- Evidence-based — surgical edits only to detected spans. Sections without detection are left untouched
- Genre preservation — do not turn a column into literature or a report into an essay
- No over-polishing — warn if change rate exceeds 30%, forcibly stop if it exceeds 50%
Phase 0: Context check
At the start of work, output the following single line first.
humanize-korean — fast 모드 / run_id: {YYYY-MM-DD-NNN}
Determine run_id
- All paths are based on cwd.
_workspace/{YYYY-MM-DD-NNN}/with artifacts accumulated - Check existing sequences with the
Globtool로:Glob(pattern="_workspace/YYYY-MM-DD-*/01_input.txt")→ extract folder names from results and take the maximum NNN + 1- If there is no folder for the day, NNN = 001
- Directories themselves are not matched by Glob — always
01_input.txtmatch the marker file
- Inputs over 8,000 characters can be processed but may require precise verification → write one line in summary.md stating "strict mode (strict-pipeline-spec) recommended"
Options (in natural language at the end of arguments)
장르: 칼럼|리포트|블로그|공적— specify genre (if omitted, automatically inferred from the first 300 characters)강도: 보수|기본|적극— polishing strength (default: basic)최소심각도: S1|S2|S3— detection threshold (default: S2)
Phase 1: Save input
- based on cwd
_workspace/{run_id}/create directory - Save the input text as-is to **
01_input.txt** (do not alter a single character) - Automatically infer genre from the first 300 characters (user specification takes priority)
- Column: first-person opinion, commentary, concluding formulas
- Report: objective description, figures, quotations
- Blog: casual, friendly style, emojis allowed
- Official: formal style, official document style
Phase 2: Pre-measurement of metrics
Establish a quantitative baseline first. references/metrics.pycall:
python3 moai-content/skills/humanize-korean/references/metrics.py \
--input "_workspace/{run_id}/01_input.txt" \
--genre {칼럼|리포트|블로그|공적} \
--output "_workspace/{run_id}/00_metrics.json"
Artifact 00_metrics.jsonincludes the following (original metrics.py v1.6 specification):
- Number of sentences, average sentence length, standard deviation of length (E-1 uniformity signal)
- Connective ending + comma frequency (C-11 KatFish signal)
- Sino-Korean nominalization -seong/-jeok/-hwa density (F-4)
- Sentence-ending distribution (Category I)
- Sentence-initial conjunction frequency (H-1)
(Optional) post-editese analysis layer — references/metrics_v2.py: to additionally measure 14 quantitative signals of translationese (3 axes: simplification, normalisation, interference; T1–T8), call metrics_v2.py. metrics.pyis imported to return a superset of the v1.6 output (adding thev2_metrics·v2_interference_index key), so it is compatible with the existing Phase flow. This layer is for optional analysis, and the Fast pipeline's primary baseline is still metrics.py. The baseline is a placeholder (baseline_v2.json, all cells _placeholder: true — since it is before calibration, z-scores are for reference only).
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"
It uses only the standard library, so no separate dependency installation is required (Python 3.13+ recommended).
Phase 3: Inline detection, rewriting, and self-verification
Core step. In this step, the following are performed at once.
3-1. Load rulebook
Load the following two files into memory:
references/quick-rules.md— S1/S2 core patterns + 6 self-verification items (slim rulebook)references/ai-tell-taxonomy.md— 10 major categories × 40+ sub-patterns SSOT (referenced as needed)
00_metrics.json's quantitative signals are used as priorities (e.g., if stdev<8, E-1 first; if -seong/-jeok/-hwa is 12+, F-4 first).
3-2. Do-NOT list (excluded from both detection and rewriting)
- Proper nouns, product names, model names, organization names
- Numerals, dates, units
- Direct quotations inside double quotation marks
- Legal provisions, mathematical/chemical/statistical notation
- English abbreviations (industry standards such as LLM, GPU, MCP, API)
3-3. Priority order for applying category-specific prescriptions
S1 (Deterministic — remove unconditionally):
- A-1/A-2/A-3 translationese (~reul tonghae/~e daehae/~e iss-eoseo)
- A-7/A-8 have / double passive
- C-5 emoji overuse (columns/reports only)
- C-10 repetitive colon-subtitle headings
- C-11 comma after connective ending
- D-1–D-6 closing pivot · implications · essentially · hype vocabulary · anthropomorphized abstract subject · ending formula
- H-1/H-3 sentence-initial conjunctions 5+ times / meta openings 3+ times
- I-1 ~in geosida/han geosida endings
- J-2 quotation-mark emphasis 5+ times
S2 (Strong — allow 1–2 times, remove at 3+):
- A-4/A-5/A-6/A-9/A-10/A-11/A-15
- B-1/B-2 excessive English quotations
- C-7/C-8/C-9 structural patterns
- D-7 transformation formula from X to Y
- E-1 rhythm uniformity
- F-4/F-5 Sino-Korean -seong/-jeok/-hwa density
- G-1/G-2/G-3 hedging
- H-4 overuse of i.e.
- I-2/I-3/I-4 formal nouns
- J-1/J-3 heading emphasis / bullet lists
For detailed prescription recipes, see references/rewriting-playbook.md .
3-4. Execute rewriting (Edit tool)
For each detected span, use the Edit tool for surgical replacement. Never modify undetected sections.
- Formal input → formal output (register preserved)
- Plain-style input → plain-style output
- When the cumulative change exceeds 30%, record a warning message in the summary candidates; when it exceeds 50%, stop immediately and fully roll back
3-5. Six-point self-verification check (within 5 seconds immediately after polishing)
Immediately after polishing, self-check the following. If even one item is violated, roll back that edit:
- Proper nouns, numbers, dates, and quotations preserved 100% — Is there not even a single character different from the original?
- Change rate — Is it 30% or less?
- No genre deviation — Has the column not turned into an essay or literature?
- Register preserved — If the original is formal, the result is also formal
- Zero remaining S1 patterns — Are D-1~D-7, A-8, C-5, C-10, C-11, H-1, I-1, and J-2 not remaining?
- Restraint from artificial expressions — Have you not arbitrarily added metaphors, rhetoric, or literary expressions that were not in the original?
On violation: roll back edit → polish again → re-check. Self-loop maximum 1 time. If still unresolved, output the result but summary.mdindicate "N items failed self-verification" in the
Phase 4: Post-metrics + artifact creation
4-1. Post-metrics
python3 moai-content/skills/humanize-korean/references/metrics.py \
--input "_workspace/{run_id}/final.md" \
--genre {장르} \
--output "_workspace/{run_id}/06_metrics_after.json"
Calculate the improvement rate (%) by category through before/after comparison.
4-2. Create final.md
_workspace/{run_id}/final.mdwrite the polished version + HTML comment block (metrics, detection before/after, 6-point self-verification, grade, major change highlights) in. Since it is an HTML comment, it is exposed only in the body when viewed in a Markdown viewer, published on the web, or copied.
{윤문본 본문}
<!-- 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. Create summary.md
_workspace/{run_id}/summary.mdorganize the metrics table, self-verification results, grade, and highlight summary in.
Phase 5: Grade determination
| Grade | Condition |
|---|---|
| A | S1 remaining 0, S2 remaining ≤2, change rate 10-25%, self-verification 6/6 |
| B | S1 remaining 0, S2 remaining ≤4, self-verification 5/6 or higher |
| C | S1 remaining 1-2 or self-verification ≤4 — recommend detailed verification to the user |
| D | S1 remaining 3+ or change rate over 50% — recommend stopping the task |
Phase 6: Return results to the user
Deliver the following 4 items to the user:
- One-line status:
완료. 변경률 X% / 등급 Y / 자체검증 N/6 통과 - Polished text body: in Markdown block form
- summary.md key table: metrics + category detection + self-verification
- Guidance when grade is B or lower: "If more precise verification is needed,
references/strict-pipeline-spec.mdplease refer to the precision mode design notes and execute it as a separate workflow."
Partial re-run / follow-up commands
| User signal | Processing |
|---|---|
| "Only a specific category again" | Re-run Phase 3 only for that category's findings, reusing the existing run_id |
| "Only this paragraph" | Create a new run_id with only that paragraph as input |
| "Second polishing" | the existing run_id's final.mdrerun from Phase 1 with the new input |
| "Adjust polishing intensity" | 최소심각도 rerun from Phase 2 after changing the option |
| "Change the genre" | genre_hint rerun from Phase 2 after changing |
Relationship with ai-slop-reviewer
This skill is moai-core:ai-slop-reviewer의 second-pass Korean precision polishing It is designed as a step. Recommended chain:
한국어 텍스트 산출물(블로그·뉴스레터·카피 등)
↓
moai-core:ai-slop-reviewer ── 1차 일반 AI 슬롭 후처리(영어 표현 정리, 일반 패턴)
↓
moai-content:humanize-korean ── 2차 한국어 정밀 윤문(40+ 패턴 SSOT, 등급)
↓
최종 산출물
If ai-slop-reviewer alone is sufficient (text with a high proportion of English, casual blogs), humanize-korean may be omitted.
Cautions
- Meaning invariance is the highest unwritten rule — immediate rollback upon violation
- Numbers, proper nouns, and direct quotes are not subject to detection/polishing — strictly observe the Do-NOT list
- No genre deviation — a column does not shift into an essay, and an essay does not shift into literature
- Preserve register — AI-ness is a matter of grammar and rhetoric, not formality itself
- Change rate over 30% → warning, over 50% → forced stop and full rollback
- No auto-loading — do not auto-parse other files such as the project CLAUDE.md to infer options
References
- Slim rulebook (core of this skill):
references/quick-rules.md— S1/S2 core patterns + self-verification checklist - Taxonomy SSOT:
references/ai-tell-taxonomy.md— 10 major categories × 40+ patterns in full - Polishing prescriptions:
references/rewriting-playbook.md— per-category substitution recipes and per-genre allowance tables - Quantitative metrics:
references/metrics.py— Python 3.13+ standard library only, CLI invocation - Baseline:
references/baseline.json— per-category thresholds - (Optional) post-editese metrics:
references/metrics_v2.py— 14 quantitative signals of translationese (3 axes T1–T8), superset of metrics.py imports, CLI--genre essay|news|blog|qa|dialogue - (Optional) post-editese baseline:
references/baseline_v2.json— 3-axis placeholder thresholds (all cells_placeholder: true, calibration 전) - Translation studies academic SSOT:
references/scholarship.md— genealogy of 8 types in Korean translation studies + international theory (Baker·Toury·Toral) + 6 caveats, source of new patterns - Precision mode design notes (for future expansion):
references/strict-pipeline-spec.md— this skill implements only the single-call Fast mode, and the concept of multi-pass precision verification is organized in design notes for future expansion (currently unimplemented; refer to it when running as a separate workflow) - Web service expansion (optional):
references/web-service-spec.md— refer to when expanding with Next.js + Vercel
This skill operates in single-call Fast mode, completing detection, polishing, and self-verification in one call. With the taxonomy (references/ai-tell-taxonomy.md)·rulebook (quick-rules.md·rewriting-playbook.md)·quantitative metrics (metrics.py·baseline.json)·translation studies academic grounds (scholarship.md) as SSOT, multi-pass precision verification is organized for future expansion in the design notes of references/strict-pipeline-spec.md.