$npx -y skills add kwakseongjae/oh-my-design --skill omd-humanize제품 문서·UX 카피·랜딩 카피를 KO/EN/JA/ZH-CN/ZH-TW 각 언어의 자연스러운 문장으로 다듬되 사실·수치·명령어·링크·브랜드 voice를 보존한다. 'AI 티 없애줘', '번역투 고쳐줘', '문장이 기계적이야', '현지 사용자처럼 다듬어줘', 'humanize this copy' 요청에 사용한다. AI 작성 여부를 판정하거나 탐지 회피를 약속하지 않는다.
| 1 | <!-- omd:installed-skill — managed by `omd install-skills`. Do not edit; rerun the command to refresh. --> |
| 2 | |
| 3 | |
| 4 | # omd:humanize |
| 5 | |
| 6 | 문장을 그럴듯하게 다시 쓰는 스킬이 아니다. **보존할 사실을 잠근 뒤, 대상 언어에서 반복되는 어색한 패턴만 국소적으로 고친다.** 단어 하나를 보고 AI 문장으로 단정하지 않고, 같은 문서에서 여러 신호가 반복되거나 서로 겹칠 때만 수정 후보로 올린다. |
| 7 | |
| 8 | ## 지원 범위 |
| 9 | |
| 10 | - 제품 문서, 온보딩, 도움말, 버튼·오류·빈 상태, 랜딩·릴리스 노트 |
| 11 | - 한국어 `ko`, 영어 `en`, 일본어 `ja`, 중국어 간체 `zh-CN`, 대만 번체 `zh-TW` |
| 12 | - `AUDIT`: 문제 구간과 이유만 보고 |
| 13 | - `REWRITE`: 확인된 구간을 고치고 원문과 대조 |
| 14 | - `LOCALE`: 한국어 canonical의 뜻과 사실을 유지하며 대상 언어에서 새로 구성 |
| 15 | |
| 16 | 맞춤법 검사, 일반 번역, 검색엔진용 대량 변형, AI 탐지기 우회는 대상이 아니다. |
| 17 | |
| 18 | ## 시작 전에 읽을 것 |
| 19 | |
| 20 | 1. 프로젝트 `DESIGN.md` §10 voice와 `.omd/preferences.md` |
| 21 | 2. 대상 파일과 같은 제품의 이미 승인된 카피 |
| 22 | 3. [`references/locale-playbooks.md`](./references/locale-playbooks.md)의 **해당 locale 섹션만** |
| 23 | 4. 출처와 차용 범위가 필요하면 [`references/sources.md`](./references/sources.md) |
| 24 | |
| 25 | voice 우선순위는 `사용자 지시 > 프로젝트 voice > 기존 제품 카피 > locale playbook`이다. |
| 26 | |
| 27 | ## 핵심 계약 |
| 28 | |
| 29 | ### 1. 보호 구간부터 잠근다 |
| 30 | |
| 31 | 다음은 사용자가 명시적으로 허용하지 않으면 바꾸지 않는다. |
| 32 | |
| 33 | - 수치, 날짜, 단위, 가격, 버전, 품질 등급 |
| 34 | - 사람·회사·제품·기능명 |
| 35 | - URL, 파일 경로, CLI 명령, 코드, 환경 변수, skill/agent ID |
| 36 | - 직접 인용, 법률·정책 문구, 측정 결과 |
| 37 | - 버튼이 수행하는 실제 동작과 제품 주장의 범위 |
| 38 | |
| 39 | 보호 구간이 달라지면 자연스러워졌어도 실패다. |
| 40 | |
| 41 | ### 2. 단일 표현이 아니라 군집을 본다 |
| 42 | |
| 43 | 수정 후보는 아래 중 하나를 충족해야 한다. |
| 44 | |
| 45 | - 강한 번역투·의미 중복·잘못된 locale 용어가 명확함 |
| 46 | - 같은 문장 구조·접속어·종결·대조법이 한 화면에서 반복됨 |
| 47 | - 추상적인 찬사가 기능·행동·근거를 대신함 |
| 48 | - 라벨과 실제 결과가 맞지 않음 |
| 49 | - 문장 리듬과 정보 순서가 독자의 행동을 방해함 |
| 50 | |
| 51 | 대시, 3개짜리 목록, 수동태, 격식체처럼 문맥상 자연스러울 수 있는 특징은 단독으로 실패 처리하지 않는다. |
| 52 | |
| 53 | ### 3. 삭제보다 구체화한다 |
| 54 | |
| 55 | 군더더기를 지운 자리에 원문에 이미 있는 기능, 행동, 조건을 앞으로 옮긴다. 원문에 없는 수치·사례·효과를 만들어 빈자리를 채우지 않는다. 근거가 없으면 더 작은 주장으로 줄인다. |
| 56 | |
| 57 | ### 4. locale은 독립 원고다 |
| 58 | |
| 59 | 한국어 canonical의 thesis와 사실은 공유하지만 문장 순서·비유·주어·호흡까지 복제하지 않는다. `zh-TW`는 `zh-CN`을 번체자로 치환한 결과가 아니며, 일본어는 영어 문장의 조사만 바꾼 결과가 아니다. |
| 60 | |
| 61 | ## 실행 절차 |
| 62 | |
| 63 | 1. **범위 선언** — mode, target locale, 화면/문서, 독자, 보존할 동작을 한 줄로 적는다. |
| 64 | 2. **원문 스냅샷** — 보호 구간 목록과 문서의 핵심 주장 1–3개를 기록한다. |
| 65 | 3. **패턴 진단** — 구간마다 `locale`, `clarity`, `rhythm`, `voice`, `action` 중 해당 축과 근거를 붙인다. 모든 문장을 고치려 하지 않는다. |
| 66 | 4. **국소 수정** — 문제 구간만 고친다. 문단 전체 재작성은 정보 순서가 locale에서 어색할 때만 허용한다. |
| 67 | 5. **대조 검증** — 원문과 결과의 수치·명칭·URL·명령·인용·기능 범위를 직접 비교한다. |
| 68 | 6. **화면 검증** — UI 카피면 실제 locale route에서 줄바꿈, overflow, 버튼-결과 정합, 보조기술 label을 확인한다. |
| 69 | 7. **보고** — 무엇을 왜 고쳤는지와 일부러 남긴 표현을 짧게 남긴다. |
| 70 | |
| 71 | ## 판정 등급 |
| 72 | |
| 73 | - **BLOCK** — 보호 구간 변경, locale 혼입, 기능 의미 변경, 근거 없는 사실 추가 |
| 74 | - **WARN** — 한 화면에서 반복되는 번역투·기계적 구조·추상 찬사·CTA 불일치 |
| 75 | - **FYI** — 브랜드 voice 안에서 선택 가능한 호흡·어휘 차이 |
| 76 | |
| 77 | AI 작성 확률이나 “사람이 썼음” 점수는 만들지 않는다. 이 등급은 출처 판별이 아니라 편집 우선순위다. |
| 78 | |
| 79 | ## 출력 형식 |
| 80 | |
| 81 | `AUDIT`은 다음 형식을 쓴다. |
| 82 | |
| 83 | ```markdown |
| 84 | ### [WARN] KO-TRANS-02 · 수단 표현 반복 |
| 85 | - 위치: `web/src/data/copy.ts:42` |
| 86 | - 현재: "레퍼런스를 통해 디자인 결정을 할 수 있습니다." |
| 87 | - 이유: 같은 문단에서 `~을 통해`, `~할 수 있다`가 반복되어 행동이 흐려짐 |
| 88 | - 제안: "레퍼런스를 보고 디자인을 결정합니다." |
| 89 | - 보호 확인: 제품명·기능 범위·수치 변경 없음 |
| 90 | ``` |
| 91 | |
| 92 | `REWRITE`와 `LOCALE`은 수정 파일과 함께 아래를 보고한다. |
| 93 | |
| 94 | - locale과 voice 기준 |
| 95 | - BLOCK 0 여부 |
| 96 | - 고친 지배 패턴 3개 이내 |
| 97 | - 보호 구간 대조 결과 |
| 98 | - 실제 route에서 확인한 항목 |
| 99 | |
| 100 | ## 다른 OmD 역할과의 관계 |
| 101 | |
| 102 | - `omd:kr-writer`가 한국어 초안을 만들고 이 스킬이 후편집한다. |
| 103 | - `omd:locale-adapter`가 locale별 원고를 만들고 이 스킬이 각 locale의 자연스러움과 의미 보존을 검증한다. |
| 104 | - `omd:ux-writer`는 섹션 전략과 대안을 제안한다. 이 스킬은 선택된 카피를 최종 문장으로 정리한다. |
| 105 | - UI 패턴까지 문제면 `omd:slop-audit`, 구현에는 `omd:apply`를 사용한다. |
| 106 | |
| 107 | ## 금지 |
| 108 | |
| 109 | - 단어 blacklist만으로 전체 문서를 다시 쓰기 |
| 110 | - 의미 보존을 확인하지 않고 “더 자연스럽다”고 완료하기 |
| 111 | - 영어 원고를 모든 locale의 문장 뼈대로 사용하기 |
| 112 | - `zh-CN`을 기계적으로 번체화해 `zh-TW`로 배포하기 |
| 113 | - 원문에 없는 성과·고객·통계·기능 추가하기 |
| 114 | - AI 탐지 우회, 인간 작성 보증, 작성자 추정 제공하기 |