---
name: commit-ko
version: "0.1.0"
description: >
  AI(Claude 등)가 제안한 한글 커밋 메시지의 사무적·번역투 어휘("~을 수행함", "~을 진행함",
  "~적 개선을 실시함" 등)를 실제 개발자가 쓰는 자연스러운 한국어 커밋 메시지로 다듬는 스킬.
  humanize-korean과 달리 산문 문단이 아니라 1~2줄짜리 커밋 메시지 register에 특화되어
  진단·청킹 없이 단일 콜로 즉시 처리한다.
  트리거 — "커밋 메시지 자연스럽게", "커밋 메시지 다듬어줘", "이 커밋 메시지 AI 티 나",
  "commit message 한국어로 자연스럽게", "커밋 메시지 어색해", "커밋 메시지 사람처럼".
---

# commit-ko — 커밋 메시지 자연화

한글 커밋 메시지 초안에서 AI 특유의 사무적·번역투 어휘만 걷어내고, 의미·범위·타입은 한 글자도 바꾸지 않는다.

## 입력

- 커밋 메시지 초안(subject 1줄 + 선택적 body). 여러 개면 각각 처리.
- Conventional Commits 형식(`type(scope): subject`, 예: `fix(auth): 로그인 실패 시 재시도 로직을 수행함`)이면 `type`/`scope` 접두사는 그대로 두고, 콜론 뒤 한국어 부분만 윤문 대상으로 삼는다.
- (선택) 사용자가 `git diff`나 변경 요약을 함께 주면 — 새 내용을 추가하기 위해서가 아니라, 윤문 과정에서 의미가 틀어지지 않았는지 대조 확인하는 용도로만 참고한다.

## 철칙 (humanize-korean과 동일 정신 계승)

1. **의미·범위·타입 불변** — feat/fix/docs/refactor/chore 등 커밋 타입, 스코프, 무엇을 했는지의 사실관계는 절대 바꾸지 않는다.
2. **새 내용 삽입 금지** — 원문에 없던 이유·효과·수치를 지어내지 않는다. 어휘·종결만 바꾼다.
3. **과공손·과격식 방향으로도 바꾸지 않는다** — "~함" 같은 커밋 관용 종결이 이미 자연스러우면 "~하였습니다"로 격상시키지 않는다.

## 처리 절차

1. `references/commit-lexicon.md`를 읽는다.
2. 커밋 메시지에서 사무적 동사(수행/진행/실시 등)·한자어 명사화(-성/-적/-화)·과공손 종결·장황한 명사구 패턴과, **영어 직역 구문**(by-passive "~에 의해", 이중 피동 "~되어지다", "가지고 있다"류 have 직역)을 찾는다. 단 업데이트·리팩터링·버그 등 개발 용어로 굳은 외래어는 대상이 아니다 — 어휘의 출신이 아니라 구문 구조가 문제다.
3. 찾은 패턴만 lexicon의 처방대로 치환한다. 해당 패턴이 하나도 없으면 "이미 자연스러운 커밋 메시지입니다"라고 안내하고 종료한다(억지로 손대지 않음).
4. type/scope 접두사, 이슈 번호, 파일·함수명 등 고유 토큰은 그대로 보존한다.

## 출력

- 윤문된 커밋 메시지 1개(원문과 형식을 맞춤 — subject만 있었으면 subject만).
- 애매한 경우 대안 표현을 1~2개까지 병기 가능.
- 무엇을 왜 바꿨는지 한 줄 근거(예: "'~을 수행함' → '~함' — 커밋 메시지에 불필요한 격식 동사").

## 참고

- 이 스킬의 치환표는 `.claude/skills/humanize-korean/references/ai-tell-taxonomy.md`의 A-7·A-8·A-9·A-12(번역투 구문)·F-4(한자어 명사화 -성/-적/-화) 처방을 커밋 메시지 register로 특화한 파생본이다(전체 ID 목록은 `references/commit-lexicon.md` 상단 참고). taxonomy가 갱신되면 `references/commit-lexicon.md`도 함께 점검할 것 — `python3 scripts/check_commit_lexicon_ids.py`로 헤더-본문 ID 정합과 taxonomy 실재 여부를 검사할 수 있다.
- 문단 단위 산문(리포트·칼럼·블로그 등)을 윤문할 때는 이 스킬이 아니라 `humanize-korean`을 쓴다.
