Oct 17, 2026

Rewrite AI-Sounding Korean Into Natural Korean

im-not-ai (Humanize KR) is a 6k-star skill that fixes AI-written Korean — style, rhythm, and phrasing only, with every fact left verbatim.

#tutorial#ai-agents#productivity

LLMs write Korean that reads like translated English, and native speakers spot it instantly. im-not-ai — the repo is also called Humanize KR, at 6k stars and version 2.3.2 — rewrites that text into natural Korean without changing a single fact: style, rhythm, and phrasing only.

Why This Skill Matters

Prompting an agent to "write naturally in Korean" does not stick, because the tells are structural. The README names the problem translationese: English syntax wearing Korean morphology — double passives, ~를 통해 for every English "through/via", compulsive third-person pronouns Korean normally drops, mechanical first/second/third scaffolding, and a closing paragraph that always "carries significant implications." The project catalogued these as 10 categories × 85 sub-patterns, each with a severity (S1 decisive / S2 strong / S3 weak) and a prescription, grounded in Korean translation-studies literature. The categories run from A (Translationese) and D (AI stock phrases) to H (connective spam) and J (visual decoration).

Installation

In Claude Code, use the plugin marketplace (no clone):

/plugin marketplace add epoko77-ai/im-not-ai
/plugin install humanize-korean@im-not-ai

GitHub Copilot CLI has the same two-step shape:

copilot plugin marketplace add epoko77-ai/im-not-ai
copilot plugin install humanize-korean@im-not-ai

For Claude Code and Codex CLI there is also a clone-plus-script route:

git clone https://github.com/epoko77-ai/im-not-ai.git
cd im-not-ai && ./install.sh

Note the runtime differences the README states: Copilot and Codex run the single-call path only, while the multi-call diagnose/finalize paths are Claude Code-specific. The Gemini CLI extension is a separate distribution with its own embedded 47-pattern rulebook, so it does not use the full taxonomy or the deterministic gates.

Real Workflow: De-Translate a Localized Blog Post

You localized your product blog into Korean, and the output reads like it came through English first. In Claude Code, invoke the skill on the draft — a plain-language request works, or the /humanize-korean command:

이 글의 AI 티를 없애 줘. 사실과 수치는 그대로 둬.

The rewrite example pairs from the README show what changes — and what does not:

AI-writtenRewritten
"AI 기술을 통해 효율을 높일 수 있다""AI로 효율을 높일 수 있다"
"이에 있어서 중요한 점은""여기서 중요한 건"
"결론적으로, 이는 시사하는 바가 크다"(deleted)

Four hard rules govern the edit: meaning is immutable (facts, claims, numbers, proper nouns, and direct quotes survive verbatim); only detected spans are touched; the genre is preserved (a column does not become an essay); and a deterministic gate warns above a 30% change rate and hard-stops above 50%. Numbers, units, dates, quoted speech, statutory text, and academic terms of art are explicitly out of scope.

The routing is where the "the text decides the cost" architecture pays off. A deterministic pre-scoring shim grades the input and emits a route_hint: light inputs exit after one conservative call, ordinary drafts take the two-call standard path (diagnose, then targeted rewrite), and dense output over 15,000 characters — or work needing an audit trail — gets the heavy route with a finalizer. The README measured the difference: a 10,000-character piece run as 7 chunked calls cost 610K tokens; the same piece in a single call cost 134K at equal quality.

Tips

  • Save the taxonomy deep-dive for later: the working artifact is docs/en/quick-rules.en.md, the rulebook a single-call implementation loads as its system prompt. The English taxonomy snapshot and the corpus study (what was confirmed and what was rejected) live alongside it in docs/en/.
  • Ask for the audit trail on high-stakes text — the heavy route finalizes against the source.
  • If your text is already well-written, the light route exits early with "this is already fine" — that is the design working, not a missed edit.
  • Found a tell the tool misses? The README asks for two or more real examples in an issue, where a taxonomist agent reviews them for promotion into the rulebook.

When Not to Use This

This is a Korean-specific tool — English text needs an English solution. And the README is explicit about what it is not: "a Korean writing-quality tool, not an 'AI detector bypass'" — it removes syntactic residue, and it will not launder a text's provenance. If the facts themselves need changing, that is editing, not humanizing, and out of scope by design.


See the leaderboard for more skills.