moai-domain-humanize
**moai-domain-humanize** is a post-editing tool that removes artificial language patterns from AI-generated text across Korean, English, Japanese, and Chinese while preserving factual accuracy and authorial intent. Use it to refine machine-generated content into natural-sounding prose, with built-in safeguards that warn when more than 30% of text changes and stop at 50% to prevent over-editing.
git clone --depth 1 https://github.com/modu-ai/moai-adk /tmp/moai-domain-humanize && cp -r /tmp/moai-domain-humanize/.claude/skills/moai-domain-humanize ~/.claude/skills/moai-domain-humanizeSKILL.md
# moai-domain-humanize Post-editing specialist that removes "AI tells" from generated text and rewrites it to read as human-authored, while preserving meaning. This is the **editing** counterpart to text generation: it does not write new content, it refines how existing content is said. Covers Korean, English, Japanese, and Chinese. --- ## Quick Reference ### Operating Principles (4) 1. **Meaning preservation is the top rule.** Facts, numbers, statistics, named entities, quotations, citations, and the author's stance/certainty stay intact. Any meaning drift forces a rollback. 2. **Evidence-based edits only.** Every change must trace to a detected tell on a specific span. Stylistic "improvements" unconnected to a catalogued tell are themselves an over-editing signal and are forbidden. 3. **Genre and register preservation.** Humanize *within* the source register — academic stays academic, casual stays casual. Never push formal text into slang or vice versa. 4. **Over-editing prevention.** Flag at >30% change (WARN), halt at >50% change (forced stop / human review). Above 50% you are regenerating, not humanizing. ### Mode Selection - **Fast mode** (default, up to ~5,000 chars): a single pass — detect, rewrite, self-verify against the meaning-preservation checklist. - **Strict mode** (long or high-stakes text, or when requested): separate stages — detect → surgical rewrite → content-fidelity audit (facts/figures/stance unchanged) → naturalness review. Re-run a second pass when the result lands at Grade C. ### Output Contract Return two things: 1. **The humanized text.** 2. **A short change report**: categories hit (with counts), the final quality grade (A/B/C/D), and the percent changed (character-level edit distance ÷ source length). When a guardrail fires, state it explicitly (WARN at >30%, HALT at >50%). --- ## Common Severity Model (shared by all 4 languages) Each tell carries one severity tier. Detectors gate by occurrence count and overlap, because a single tell rarely proves AI authorship — confidence comes from clustering. | Tier | Name | Rule | |------|------|------| | **S1** | Decisive | A single occurrence strongly confirms AI authorship → remove on first occurrence. | | **S2** | Strong | Acceptable at 1–2 instances → remove at 3 or more. | | **S3** | Weak | Problematic only when overlapping other tells → downgrade-only contributor. | ## Common Quality Grades (shared by all 4 languages) Graded **after** the rewrite, on the residual S1/S2 counts plus improvement % (= proportion of detected tells removed without introducing new ones). | Grade | Criteria | Action | |-------|----------|--------| | **A** | 0 residual S1, ≤2 residual S2, ≥70% improvement | Pass — reads as human-authored | | **B** | 0 residual S1, ≤4 residual S2, ≥50% improvement | Pass — minor polish remains | | **C** | 1–2 residual S1, OR <50% improvement, OR over-edit WARN (>30%) | Trigger a second pass | | **D** | ≥3 residual S1, OR over-edit HALT (>50%), OR meaning drift detected | Request human review; do not auto-ship | Hard rule: any residual S1 caps the grade at C; any meaning-distortion flag forces D. S3 tells affect the grade only when ≥3 of them overlap and reinforce an S1/S2 finding. ### Over-Editing Guardrails (shared) Change rate = character-level edit distance ÷ source length; target band ~5–30%. - **>30% changed → WARN.** Surface a caution and cap at Grade C until each edit is justified by a detected tell. Note: padding-removal legitimately shrinks text, so a length drop alone is not a violation — flag when meaning-bearing spans are altered. - **>50% changed → HALT.** Stop and require human confirmation; revert to the last safe state. ### Meaning-Preservation Checklist (shared, all must hold) 1. Anchor facts first — fix the claims, numbers, names, dates, and certainty level before editing. 2. Edit at sentence/phrase level, not whole-document regeneration. 3. Add no new facts — never invent specifics to replace vagueness; simplify instead, or flag for the author. 4. Drop no load-bearing facts — removing an inflated wrapper must keep the substantive claim inside. 5. Preserve genuine certainty/hedging and technical terminology verbatim. 6. Final diff check — compare facts, tone, certainty, and examples against the original; revert any edit that drifts. --- ## Language Routing Each target language has its own tell catalogue (categories, before/after examples in the target language, per-category severity). Load the module that matches the text being edited: | Language | Module | Source basis | |----------|--------|--------------| | Korean (한국어) | `modules/korean.md` | Faithful port of the im-not-ai (Humanize KR) taxonomy (10 categories A–J, 100+ subcategories) | | English | `modules/english.md` | Web-researched catalogue (10 categories EN-A … EN-J) | | Japanese (日本語) | `modules/japanese.md` | Web-researched catalogue (9 categories JA-01 … JA-09) | | Chinese (中文) | `modules/chinese.md` | Web-researched catalogue (11 categories CN-A … CN-K) | The Korean module is a faithful port of the open-source im-not-ai taxonomy; the English, Japanese, and Chinese modules are independently web-researched catalogues modeled on the same architecture. The common severity model and quality grades above apply uniformly to every module — the modules add only the language-specific tell categories, severities, and example rewrites. For mixed-language text, detect the dominant language and route to its module; apply each module independently to its spans when the text is genuinely multilingual. --- ## Implementation Guide ### Workflow (per text) 1. **Identify language and mode.** Pick the module by dominant language; pick Fast vs Strict by length / stakes. 2. **Anchor facts.** Record the numbers, names, dates, quotations, and stance that must not change (meaning-preservation checklist item 1). 3. **Detect tells.** Scan against the module's catalogue. Record each hit with its category ID, span, and s
Claude Code upstream change tracker -> moai-adk update plan + docs sync workflow (dev-only). Tracks new CC release notes, classifies changes by impact tier, cross-references official docs, generates update plan at .moai/research/ or .moai/specs/, and synchronizes docs-site 4-locale + README. NOT distributed to user projects.
GitHub Workflow - Manage issues and review PRs with Agent Teams (dev-only). NOT distributed to user projects.
MoAI-ADK production release via Enhanced GitHub Flow (CLAUDE.local.md §18). Creates release/vX.Y.Z branch, version bump, CHANGELOG (bilingual), PR to main, merge commit (NOT squash), then scripts/release.sh for tag + GoReleaser. Hotfix support via --hotfix flag. All git operations delegated to manager-git. Quality failures escalate to expert-debug. NOT distributed to user projects (dev-only).
Run the 7-phase /moai brain ideation workflow to convert ideas into validated proposals
Identify and safely remove dead code with test verification
Scan codebase and generate architecture documentation in codemaps/
Analyze test coverage, identify gaps, and generate missing tests
Hybrid design workflow — Claude Design import (path A) or code-based brand design (path B)