Help us improve
Share bugs, ideas, or general feedback.
From humanize-korean
Rewrites AI-generated Korean text (ChatGPT, Claude, Gemini) to sound human-written. Detects 40+ AI-typical patterns across 10 categories (translationese, passive overuse, uniform rhythm, excessive emoji/bullets) and rewrites style only, preserving content.
npx claudepluginhub epoko77-ai/im-not-ai --plugin humanize-koreanHow this skill is triggered — by the user, by Claude, or both
Slash command
/humanize-korean:humanize-koreanThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **v1.5 변경 고지 (2026-04-26) — v1.1 베이스라인 + Monolith Fast Path**
Polishes AI-generated Korean text to sound natural and human. Runs a multi-phase rewriting pipeline (Fast mode by default, strict 5-person pipeline with --strict). Outputs change rate, grade, category-level detection counts, and highlights.
Detects AI-generated patterns in Korean text from LLMs like ChatGPT/Claude/Gemini and rewrites to natural human style. Analyzes 40 linguistic markers (comma overuse, spacing rigidity, POS diversity) with S1-S3 severity based on KatFishNet research (94.88% AUC).
Removes AI writing patterns from prose to make text sound natural and human-written. Detects filler phrases, formulaic structures, and other LLM tells in English and Chinese.
Share bugs, ideas, or general feedback.
v1.5 변경 고지 (2026-04-26) — v1.1 베이스라인 + Monolith Fast Path v1.2(voice profile)·v1.3(candidate pool)·v1.4(역할별 모델 분산)는 모두 핫패스 비용을 잡지 못해 5,000자 입력에 25분이 걸렸습니다. v1.5는 v1.1 단순 구조로 롤백한 뒤 단일 호출 monolith 에이전트만 추가한 설계입니다.
- Fast 모드(디폴트) —
humanize-monolith에이전트가 한 콜에서 탐지·윤문·자체검증 일괄 처리. 도구 호출 45회. 5,000자 이하 wall-clock 23분 목표.- Strict 모드(
--strict) — v1.1 5인 파이프라인 그대로(detector·rewriter·auditor·reviewer + taxonomist 분류 자산 유지). 정밀 검증·장문(8,000자+) 처리·etc.- 삭제됨: voice profile·candidate pool·promotion-checklist·sample-collection·권한 위계 §1~§6.
- 유지됨: 분류 체계 본진(C-9·C-10·D-7·H-3·I-3·I-4 등 v1.2~v1.3.1 신규 패턴)·rewriting-playbook·5인 에이전트 정의(strict 모드 백본).
작업 시작 시 가장 먼저 다음 한 줄을 사용자에게 출력한다.
humanize-korean v1.5 — {fast|strict} 모드 / run_id: {YYYY-MM-DD-NNN}
--strict·"정밀 모드"·"5인 파이프라인" 명시 → strict_workspace/{YYYY-MM-DD-NNN}/에 만든다.Glob 도구로 표지 파일을 매칭해 간접 조회.
올바른 사용법: Glob(pattern="_workspace/YYYY-MM-DD-*/01_input.txt") → 결과에서 폴더명 추출 후 NNN 최댓값 + 1.
주의: Glob은 디렉토리 자체는 매칭하지 못한다. 반드시 그 안의 표지 파일(01_input.txt)을 매칭할 것.
Bash ls는 OS·셸 환경에 따라 경로 해석이 달라지므로 사용 금지._workspace/{run_id}/ 생성01_input.txt에 저장humanize-monolith 에이전트를 Agent 도구로 1회 호출.
입력:
input_path: <abs path>/_workspace/{run_id}/01_input.txt
quick_rules_path: ${CLAUDE_SKILL_DIR}/references/quick-rules.md
genre_hint: 칼럼 | 리포트 | 블로그 | 공적 | null
출력 (에이전트가 직접 작성):
_workspace/{run_id}/final.md — 윤문본_workspace/{run_id}/summary.md — 메트릭·자체검증·하이라이트monolith는 단일 호출 안에서 다음을 모두 수행 (자세히는 에이전트 정의 참조):
사용자에게 다음 4개를 반환:
완료. 변경률 X% / 등급 Y / 자체검증 N/6 통과--strict로 5인 파이프라인" 안내디폴트 wall-clock 목표: 5,000자 이하 23분, 8,000자 57분.
--strict 또는 자동 승급)v1.1 5인 파이프라인 그대로. 검증 분리·재윤문 루프가 의미 있을 때만 사용.
ai-tell-detector 호출 → 02_detection.json
korean-style-rewriter 호출 → 03_rewrite.md + 03_rewrite_diff.json
TeamCreate로 humanize-review-team 구성:
content-fidelity-auditor → 04_fidelity_audit.json (의미 동등성)naturalness-reviewer → 05_naturalness_review.json (잔존·과윤문)TeamDelete 후 종합 판정 매트릭스에 따라 분기:
| fidelity | naturalness | 종합 | 후속 |
|---|---|---|---|
| full_pass | accept / accept_with_note | 최종 승인 | Phase D |
| full_pass | rewrite_round_2 | 2차 윤문 | Phase B 재호출 (target finding) |
| full_pass | rollback_and_rewrite | 롤백 후 재윤문 | 윤문가에 edit 롤백 지시 |
| conditional_pass | - | 롤백된 edit만 재시도 | Phase B 재호출 |
| fail | - | 전면 재작업 | Phase B 전면 재호출 |
2차/3차 윤문 진입 시 03_rewrite_v2.md·v3.md로 버전 분리. **최대 3회 후 미해결이면 hold_and_report**로 사람 개입.
final.md에 최종 윤문본 복사summary.md 생성 (fast 모드와 동일 포맷)| 사용자 신호 | 처리 |
|---|---|
| "특정 카테고리만 다시" | strict 모드로 자동 전환, 해당 카테고리 finding만 Phase B 재실행 |
| "이 문단만" | strict 모드, 해당 문단만 입력으로 새 run_id 생성 |
"2차 윤문"·"/humanize-redo" | 기존 run_id의 final.md를 새 입력으로 strict Phase B 재실행 |
| "윤문 강도 조정" | strict 모드, min_severity 옵션 변경 후 Phase A부터 재실행 |
| "장르 바꿔서" | genre_hint 변경 후 Phase A부터 재실행 |
장르: 칼럼|리포트|블로그|공적 — 장르 명시 (생략 시 자동 추정)강도: 보수|기본|적극 — 윤문 강도 (기본값: 기본)최소심각도: S1|S2|S3 — 탐지 임계값 (기본값: S2)--strict — 5인 파이프라인 강제 사용01_input.txt
↓ [humanize-monolith — 단일 호출]
├ 메모리: quick-rules 로드 → 탐지 → 윤문 → 자체검증
└→ final.md + summary.md
01_input.txt
↓ [ai-tell-detector]
02_detection.json
↓ [korean-style-rewriter]
03_rewrite.md + 03_rewrite_diff.json
↓ [병렬 팀]
├→ [content-fidelity-auditor] → 04_fidelity_audit.json
└→ [naturalness-reviewer] → 05_naturalness_review.json
↓ [오케스트레이터 종합]
├→ (재작업) Phase B로 복귀 (최대 3회)
└→ (승인) final.md + summary.md
모델: 모두 model: opus 통일 (v1.1 베이스라인). 모델 다운그레이드는 v1.4에서 시도했으나 도구 호출 chain이 진짜 병목이라 효과 미미했음.
에이전트 정의 위치: 저장소 루트 agents/에 12종 정의(플러그인 컨벤션). Claude Code 탐색 경로:
humanize-korean 플러그인이 agents/를 번들로 제공(전역).install.sh가 agents/*.md를 ~/.claude/agents/에 심링크(전역).필요 에이전트 6종:
humanize-monolith (v1.5 신규, fast 전용)ai-tell-detector · korean-style-rewriter · content-fidelity-auditor · naturalness-reviewer (strict 5인 중 4명)korean-ai-tell-taxonomist (분류 체계 유지·확장 — 본 스킬 실행 중에는 호출 안 됨, 별도 명령으로만 트리거)--strict 또는 8,000자+ 입력--strict로 강제 검증 가능references/quick-rules.md — S1·S2 핵심 패턴 + 자체검증 체크리스트references/ai-tell-taxonomy.md — 10대분류 × 40+ 패턴 전수references/rewriting-playbook.md — 카테고리별 치환 레시피·장르별 허용 표references/web-service-spec.md — 웹 확장 시 로드