| name | omd-humanize |
| description | 제품 문서·UX 카피·랜딩 카피를 KO/EN/JA/ZH-CN/ZH-TW 각 언어의 자연스러운 문장으로 다듬되 사실·수치·명령어·링크·브랜드 voice를 보존한다. 'AI 티 없애줘', '번역투 고쳐줘', '문장이 기계적이야', '현지 사용자처럼 다듬어줘', 'humanize this copy' 요청에 사용한다. AI 작성 여부를 판정하거나 탐지 회피를 약속하지 않는다. |
omd:humanize
문장을 그럴듯하게 다시 쓰는 스킬이 아니다. 보존할 사실을 잠근 뒤, 대상 언어에서 반복되는 어색한 패턴만 국소적으로 고친다. 단어 하나를 보고 AI 문장으로 단정하지 않고, 같은 문서에서 여러 신호가 반복되거나 서로 겹칠 때만 수정 후보로 올린다.
지원 범위
- 제품 문서, 온보딩, 도움말, 버튼·오류·빈 상태, 랜딩·릴리스 노트
- 한국어
ko, 영어 en, 일본어 ja, 중국어 간체 zh-CN, 대만 번체 zh-TW
AUDIT: 문제 구간과 이유만 보고
REWRITE: 확인된 구간을 고치고 원문과 대조
LOCALE: 한국어 canonical의 뜻과 사실을 유지하며 대상 언어에서 새로 구성
맞춤법 검사, 일반 번역, 검색엔진용 대량 변형, AI 탐지기 우회는 대상이 아니다.
시작 전에 읽을 것
- 프로젝트
DESIGN.md의 content-locales stable anchor와
.omd/preferences.md. 유효한 hash-bound profile: portable-core package가
있으면 graph.content_locales가 canonical이고, package가 없거나 invalid면
standalone DESIGN.md anchor를 사용한다. exact Core anchor가 전혀 없는
문서만 legacy compatibility input으로 읽어 의미 heading Voice & Tone을
content-locales로 매핑하며 숫자 section은 새 citation에 복사하지 않는다.
- 대상 파일과 같은 제품의 이미 승인된 카피
references/locale-playbooks.md의 해당 locale 섹션만
- 출처와 차용 범위가 필요하면
references/sources.md
voice 우선순위는 사용자 지시 > 프로젝트 voice > 기존 제품 카피 > locale playbook이다.
핵심 계약
1. 보호 구간부터 잠근다
다음은 사용자가 명시적으로 허용하지 않으면 바꾸지 않는다.
- 수치, 날짜, 단위, 가격, 버전, 품질 등급
- 사람·회사·제품·기능명
- URL, 파일 경로, CLI 명령, 코드, 환경 변수, skill/agent ID
- 직접 인용, 법률·정책 문구, 측정 결과
- 버튼이 수행하는 실제 동작과 제품 주장의 범위
보호 구간이 달라지면 자연스러워졌어도 실패다.
2. 단일 표현이 아니라 군집을 본다
수정 후보는 아래 중 하나를 충족해야 한다.
- 강한 번역투·의미 중복·잘못된 locale 용어가 명확함
- 같은 문장 구조·접속어·종결·대조법이 한 화면에서 반복됨
- 추상적인 찬사가 기능·행동·근거를 대신함
- 라벨과 실제 결과가 맞지 않음
- 문장 리듬과 정보 순서가 독자의 행동을 방해함
대시, 3개짜리 목록, 수동태, 격식체처럼 문맥상 자연스러울 수 있는 특징은 단독으로 실패 처리하지 않는다.
3. 삭제보다 구체화한다
군더더기를 지운 자리에 원문에 이미 있는 기능, 행동, 조건을 앞으로 옮긴다. 원문에 없는 수치·사례·효과를 만들어 빈자리를 채우지 않는다. 근거가 없으면 더 작은 주장으로 줄인다.
4. locale은 독립 원고다
한국어 canonical의 thesis와 사실은 공유하지만 문장 순서·비유·주어·호흡까지 복제하지 않는다. zh-TW는 zh-CN을 번체자로 치환한 결과가 아니며, 일본어는 영어 문장의 조사만 바꾼 결과가 아니다.
실행 절차
- 범위 선언 — mode, target locale, 화면/문서, 독자, 보존할 동작을 한 줄로 적는다.
- 원문 스냅샷 — 보호 구간 목록과 문서의 핵심 주장 1–3개를 기록한다.
- 패턴 진단 — 구간마다
locale, clarity, rhythm, voice, action 중 해당 축과 근거를 붙인다. 모든 문장을 고치려 하지 않는다.
- 국소 수정 — 문제 구간만 고친다. 문단 전체 재작성은 정보 순서가 locale에서 어색할 때만 허용한다.
- 대조 검증 — 원문과 결과의 수치·명칭·URL·명령·인용·기능 범위를 직접 비교한다.
- 화면 검증 — UI 카피면 실제 locale route에서 줄바꿈, overflow, 버튼-결과 정합, 보조기술 label을 확인한다.
- 보고 — 무엇을 왜 고쳤는지와 일부러 남긴 표현을 짧게 남긴다.
판정 등급
- BLOCK — 보호 구간 변경, locale 혼입, 기능 의미 변경, 근거 없는 사실 추가
- WARN — 한 화면에서 반복되는 번역투·기계적 구조·추상 찬사·CTA 불일치
- FYI — 브랜드 voice 안에서 선택 가능한 호흡·어휘 차이
AI 작성 확률이나 “사람이 썼음” 점수는 만들지 않는다. 이 등급은 출처 판별이 아니라 편집 우선순위다.
출력 형식
AUDIT은 다음 형식을 쓴다.
### [WARN] KO-TRANS-02 · 수단 표현 반복
- 위치: `web/src/data/copy.ts:42`
- 현재: "레퍼런스를 통해 디자인 결정을 할 수 있습니다."
- 이유: 같은 문단에서 `~을 통해`, `~할 수 있다`가 반복되어 행동이 흐려짐
- 제안: "레퍼런스를 보고 디자인을 결정합니다."
- 보호 확인: 제품명·기능 범위·수치 변경 없음
REWRITE와 LOCALE은 수정 파일과 함께 아래를 보고한다.
- locale과 voice 기준
- BLOCK 0 여부
- 고친 지배 패턴 3개 이내
- 보호 구간 대조 결과
- 실제 route에서 확인한 항목
다른 OmD 역할과의 관계
omd:kr-writer가 한국어 초안을 만들고 이 스킬이 후편집한다.
omd:locale-adapter가 locale별 원고를 만들고 이 스킬이 각 locale의 자연스러움과 의미 보존을 검증한다.
omd:ux-writer는 섹션 전략과 대안을 제안한다. 이 스킬은 선택된 카피를 최종 문장으로 정리한다.
- UI 패턴까지 문제면
omd:slop-audit, 구현에는 omd:apply를 사용한다.
금지
- 단어 blacklist만으로 전체 문서를 다시 쓰기
- 의미 보존을 확인하지 않고 “더 자연스럽다”고 완료하기
- 영어 원고를 모든 locale의 문장 뼈대로 사용하기
zh-CN을 기계적으로 번체화해 zh-TW로 배포하기
- 원문에 없는 성과·고객·통계·기능 추가하기
- AI 탐지 우회, 인간 작성 보증, 작성자 추정 제공하기