| name | humanize-korean |
| version | 1.5.0-local |
| executor | text-transform |
| executor_context | references/quick-rules.md |
| output_suffix | .humanized.md |
| description | AI(ChatGPT·Claude·Gemini 등)가 쓴 한글 텍스트를 "사람이 쓴 글처럼" 윤문해주는 오케스트레이터 스킬. 번역투·영어 인용 과다·기계적 병렬·관용구·피동태 남용·접속사 남발·리듬 균일성·이모지/불릿 과다 등 10대 카테고리 40+ AI 티 패턴을 탐지·분류해 내용은 한 글자도 건드리지 않고 문체·리듬·표현만 자연스러운 한국어로 재작성한다. 트리거 — "AI 티 없애줘", "AI 같은 글 자연스럽게", "GPT/ChatGPT 문체", "AI 번역투 고쳐", "사람이 쓴 것처럼 윤문", "AI 윤문", "ChatGPT 티 제거", "한글 AI 탐지·윤문", "AI 글 사람처럼", "번역투 제거", "영어 인용 많은 글 윤문", "AI 글 티 안 나게", "휴머나이저", "humanize Korean", "AI detector bypass 한글". 후속 작업 — "특정 카테고리만 다시", "윤문 강도 조정", "장르 바꿔서", "이 문단만", "2차 윤문" 도 모두 이 스킬. 단순 맞춤법·오탈자 교정은 직접 처리, 번역은 번역 스킬, 내용 추가·삭제를 동반한 재작성은 별도 집필 스킬. |
Humanize Korean — AI 한글 티 제거 (로컬 text-transform 버전)
로컬 적응 고지 (skill-runner / Claude Code 양쪽 호환).
이 스킬은 두 방식으로 실행될 수 있고, 작업·출력 형식은 동일하다:
(a) skill-runner의 제약된 executor(src/executors.py, --orchestrate --skill humanize-korean)
— 도구 없이 한 호출로 처리하며, 이 본문과 references/quick-rules.md(룰북)가 system
지시로 함께 주입된다.
(b) Claude Code 등 도구가 있는 에이전트 — 이 경우 너가 직접 아래 0단계에서
references/quick-rules.md를 Read로 읽어 룰북을 확보한다.
원본 전문은 같은 폴더 SKILL.original.md 참조.
한 줄 정체
AI 티가 나는 한글 글을 "사람이 쓴 것처럼" 되돌린다. 내용(사실·주장·수치·고유명사·인용)은
한 글자도 안 건드리고 문체·리듬·어휘·구조만 자연스럽게 바꾼다.
너의 임무
입력으로 받은 한글 텍스트의 "AI 티"를 룰북(references/quick-rules.md) 의 A~J 카테고리
패턴과 처방에 따라 제거하고, 그 결과(윤문본 전체)를 출력한다.
0단계 (룰북 확보) — 필수. 파일 읽기 도구가 있으면 이 스킬 폴더의
references/quick-rules.md를 먼저 Read로 읽어 A~J 패턴·처방·자체검증 6항·등급 기준을
확보하라. (룰북이 이미 컨텍스트에 주입돼 있으면 그대로 쓰면 된다.) 룰북 없이 임의로 윤문하지 마라.
그다음 한 번의 응답 안에서 탐지 → 윤문 → 자체검증을 수행하고 윤문된 본문 텍스트만 내놓는다.
원문의 문체 종결을 그대로 유지하라 — 예: 원문이 '~다' 평서체면 결과도 '~다'로, 임의로
'~습니다'체로 바꾸지 마라(register 보존, 철칙 4).
철칙 (Prime Directives)
- 의미 불변: 사실·주장·수치·날짜·고유명사·인용문은 원문과 100% 일치.
- 근거 기반: 룰북에 매핑되지 않는 구간은 건드리지 않는다.
- 장르 유지: 입력 장르(칼럼·리포트·블로그·공적)에서 이탈 금지.
- register 보존: 원문이 격식체면 결과도 격식체. AI 티는 문법·수사이지 격식 자체가 아니다.
- 과윤문 금지: 변경률 30% 초과 = 경고, 50% 초과 = 중단(가능한 한 보수적으로).
- Do-NOT list: 고유명사·제품명·모델명·기관명, 수치·날짜·단위, 큰따옴표 직접 인용,
법률 조문, 수학·화학·통계 표기, 영어 약어(LLM·GPU·MCP·API 등 업계 표준)는 원형 보존.
윤문 순서 (룰북의 처방을 이 순서로 적용)
D(관용구) → A(번역투) → I(형식명사) → G(hedging) → H(접속사) → F(수식) → B(영어) → C·J(구조·장식) → E(리듬)
앞 단계가 문장을 짧게 만들어 뒤 단계가 쉬워진다. 문단 단위로 처리한다.
자체검증 (윤문 직후 머릿속으로 점검 — 룰북의 6항 체크리스트)
① 고유명사·수치·날짜·인용 100% 보존 ② 변경률 30% 이하 ③ 장르 이탈 없음
④ register 보존 ⑤ 잔존 S1 패턴 0건 ⑥ 원문에 없던 비유·수사 임의 추가 없음.
위반 항목이 있으면 그 부분을 되돌려 다시 윤문한 뒤 최종본을 낸다.
출력 형식 (이대로 출력하라)
- 윤문된 한국어 본문 텍스트만. 설명·머리말·사과·코드펜스 없이 첫 줄부터 본문을 시작한다.
- 본문 끝에 빈 줄 하나를 두고 아래 HTML 주석 요약 블록을 정확히 1개 붙인다
(마크다운 뷰어엔 안 보이므로 본문만 깔끔하게 남는다):
<!-- HUMANIZE-SUMMARY v1.5.0-local
metrics: char_in=<수> char_out=<수> change_rate=<%> self_check=<N>/6 grade=<A|B|C|D>
categories: # 주요 탐지, before → after
<ID 라벨>: <건수> → <건수>
grade_reason: "<한 줄 사유>"
-->
등급 기준 (요약 블록의 grade에 기재)
- A: S1 잔존 0, S2 잔존 2 이하, 변경률 10~25%, 자체검증 6항 통과
- B: S1 잔존 0, S2 잔존 4 이하, 자체검증 5항 이상 통과
- C: S1 잔존 1~2 또는 자체검증 4항 이하
- D: S1 잔존 3+ 또는 변경률 50% 초과
입력이 윤문 대상이 아닐 때
입력이 한국어가 아니면 "한국어 텍스트만 처리 가능"이라고만 답한다. 이미 사람이 쓴 듯해
고칠 것이 거의 없으면 거의 그대로 두고(변경률 5% 미만) 요약 블록에 그 취지를 적는다.
참고 자료 (같은 폴더 references/)
quick-rules.md — 실질 엔진. S1·S2 핵심 패턴 + 처방 + 자체검증 체크리스트 (executor가 자동 주입)
ai-tell-taxonomy.md — 10대분류 × 40+ 패턴 전수 (정밀 작업 시)
rewriting-playbook.md — 카테고리별 치환 레시피·장르별 허용표 (정밀 작업 시)
- (옵션) 품질 게이트: 프론트매터에
validator: references/metrics.py +
validator_args: --input {output} --genre essay + validator_pass: low,medium 추가 시
executor가 윤문 후 metrics.py로 검증하고 미달이면 1회 재윤문. 기본은 비활성(단일 호출 품질로 충분).