Imported from otzslayer/my-claude-code-settings (
skills/polish-korean/SKILL.md). Install upstream withnpx skills add otzslayer/my-claude-code-settings --skill polish-korean. Copyright stays with the author.
polish-korean
인자
- 첫 위치 인자: 파일 경로 또는 교정할 텍스트. 필수
--output <path>/-o <path>: 출력 파일 경로. 선택--verbose/-v: 고친 구간을 전부 실어 보고한다. 선택--source <path>: 참조 원문 경로. 선택. 입력이 번역문일 때 그 번역의 출처 문서를 가리킨다. 아래 "참조 원문" 절을 따른다
인자가 존재하는 파일 경로면 파일 모드, 아니면 텍스트 모드다. 인자가 비면 무엇을 교정할지 묻고 멈춘다.
파일 모드에서 --output을 생략하면 입력 파일을 제자리에서 덮어쓴다. 경고는 하지 않는다. 대신 교정을 시작하기 전에 원본 사본을 백업 디렉터리에 원래 파일명으로 남기고, 그 경로를 보고 끝에 한 줄로 알린다. 백업 디렉터리는 메인 세션이 위임 프롬프트로 지정한다. 서브에이전트가 스스로 찾지 않는다.
텍스트 모드는 사본을 남기지 않는다. --output을 주면 그 경로에 결과를 쓰고, 없으면 응답으로 돌려준다.
실행 방식
파일 모드는 서브에이전트에 위임한다. 텍스트 모드는 이 세션에서 직접 처리한다.
파일 모드를 위임하는 까닭은 비용이다. 대상 파일 원문, 참조 규칙 9,500토큰, 교정본 전문이 모두 메인 세션 컨텍스트에 쌓이면 이후 모든 턴이 그만큼을 캐시 읽기로 계속 지불한다. 서브에이전트에 넘기면 메인에는 보고만 남는다. 텍스트 모드는 입력이 이미 대화에 들어와 있어 위임해도 아낄 것이 없고 부트스트랩 비용만 더 든다.
파일 모드 위임 절차
- 인자만 파싱한다. 대상 파일을 읽지 않고
references/도 읽지 않는다. 메인 세션에 원문이 들어오면 위임할 이유가 사라진다. Agent툴로 서브에이전트 하나를 띄운다.subagent_type은polish-korean-worker로 지정한다. 툴을Read,Edit,Bash로 제한한 전용 워커라 기본 에이전트보다 부트스트랩이 가볍다. 프롬프트에 아래를 담는다.- 이 스킬 문서의 절대 경로와, 그 문서를 먼저 읽으라는 지시
- 대상 파일의 절대 경로,
--output을 받았다면 그 경로 - 백업 디렉터리의 절대 경로. 메인 세션의 scratchpad 디렉터리 아래
polish-korean-backup/으로 정하고 절대 경로를 그대로 적는다.--output을 받았으면 백업이 필요 없으므로 생략한다 - 인자가 행 범위를 지정했다면 그 범위를 그대로 옮긴다
- 아래 "절차" 이하를 그대로 따르고 결과를 파일에 직접 쓰라는 지시
--verbose를 받았는지 여부. "보고" 절의 형식을 지키고 그 보고를 최종 반환값으로 내라는 지시
- 돌려받은 보고를 사용자에게 그대로 전한다. 요약하거나 다시 쓰지 않는다. 백업 경로 한 줄도 함께 전한다.
사용자가 이 스킬을 호출한 것이 위임 요청에 해당한다. 서브에이전트를 사용자 요청 없이 띄우지 말라는 세션 규칙은 그 호출로 충족된다.
절차
텍스트 모드에서는 이 세션이, 파일 모드에서는 위임받은 서브에이전트가 아래를 따른다.
- 인자를 파싱하고 입력을 로드한다.
--source를 받았다면 그 파일도 함께 읽는다. 인자가 행 범위나 특정 구간을 지정하면offset과limit으로 그 구간만 읽는다. 지정된 구간이 파일의 일부라면 나머지는 읽지 않는다. 백업 디렉터리를 지정받았다면 원본 사본을 거기에 남긴다. 경로를 직접 탐색하지 않는다. references/의 규칙 파일 둘을 읽는다. 단 이번 세션에서 이 스킬이 그 두 파일을 이미 읽었고 그 내용이 컨텍스트에 원문 그대로 남아 있다면 다시 읽지 않고 그대로 쓴다. 컨텍스트가 압축되었거나 요약으로 대체되었다면 다시 읽는다. 하우스 스타일과 비슷한 내용이 출력 스타일 같은 다른 경로로 들어와 있어도 규칙 파일을 읽은 것으로 치지 않는다. 그 문서들은 이 스킬의 규칙 파일과 범위가 다르다.- 내용 앵커를 문장별로 잡는다. AI 티 규칙의 "내용 앵커" 절을 따른다.
- 교정한다. 관용구와 상투구를 먼저 덜어내면 문장이 짧아져 나머지가 쉬워진다. 덜어낸 자리에서 조사나 어미까지 함께 빠지지 않았는지 문장마다 확인한다. 리듬과 문장 길이는 마지막에 본다.
- 규칙에 걸려도 문맥상 바꾸면 안 되는 곳은 그대로 두고, 왜 두었는지 보고에 적는다.
- 파일 모드면 결과를
--output경로 또는 원래 경로에 쓴다. 아래 "고친 내용을 파일에 반영하는 법"을 따른다. 텍스트 모드면 응답으로 낸다. - 보고한다.
고친 내용을 파일에 반영하는 법
Edit를 문장마다 부르지 않는다. 인접한 교정은 한 번의 Edit로 묶는다. 호출마다 old_string과 new_string이 컨텍스트에 남고 그 뒤 모든 턴이 그만큼을 다시 읽으므로 호출 횟수가 곧 비용이다.
묶는 기준은 거리다. 건수도 섹션도 아니다. 손대지 않은 문장을 new_string에 옮겨 적어야 할 만큼 떨어진 교정은 따로 부른다. 출력 토큰은 캐시 읽기보다 다섯 배 비싸서 묶으려고 원문을 다시 쓰면 아낀 것을 도로 잃는다.
파일 전체를 Write로 다시 쓰지 않는다. 코드 블록과 인용 블록의 경계를 무너뜨릴 위험이 있고 문서 전문이 출력으로 나간다.
검증은 마지막에 한 번만 한다. 백업본과 diff를 돌려 의도한 구간만 바뀌었는지 확인한다. 교정 도중에 중간 점검을 넣지 않는다.
규칙
references/house-style.md: 하우스 스타일. 동작 범위, 경어와 어조, 문장 단위, 구 단위로 나뉘어 문장 완결성과 어휘 선택, 종결, 번역투, 비유 금지, 리듬의 원칙을 세운다. 사용자의 output style 사본이라 원칙만 담고 판정 절차는 두지 않는다.references/ai-tell-rules.md: AI 티 규칙과 스킬 지역 규칙. Do-NOT 목록, 내용 앵커, 과압축(P), 문장 부호(Q)가 여기 있다. 하우스 스타일이 원칙만 세운 자리의 판정 절차도 이쪽이 갖는다.
우선순위
- 하우스 스타일이 이긴다. AI 티 규칙과 부딪히면 하우스 스타일을 따른다. 비유 금지와 문장 부호 금지(
Q-1의 줄표, 붙임표, 가운뎃점)는 예외 없는 하드 룰이다. 하우스 스타일은 줄표를 "자제"라고만 하는데 이 스킬은 그것을 "지운다"로 읽는다. 완화가 아니라 구체화이므로 우선순위 1번에 걸리지 않는다. - 문장 완결성이 간결함보다 위다. 하우스 스타일의 "문장 단위"와 "구 단위"는 덜어내는 규칙에 상한을 둔다. 형식명사나 수식어를 걷어냈는데 조사나 어미가 함께 빠졌거나 명사만 남아 관계가 흐려졌다면 그 교정은 과하다. 되돌려서 조사와 어미를 붙인 형태로 다시 쓴다. 짧아진 것 자체는 성과가 아니다.
- register 보존은 하우스 스타일보다 위다. 문서의 경어 등급은 원문을 따른다. 하우스 스타일의 경어 규정은 새로 글을 쓸 때의 지시이므로 한다체로 쓴 글은 한다체로 두고 해요체로 쓴 글은 해요체로 둔다. 한 문서 안에서 등급이 섞였을 때만 우세한 쪽으로 통일한다(E-7).
- Do-NOT 목록과 내용 앵커는 모든 규칙보다 위다. 어떤 규칙을 적용하려는데 앵커가 사라질 것 같으면 그 문장을 손대지 않는다.
성분을 되살리는 범위 (교정과 창작의 경계)
"문장 완결성"을 적용할 때 이 스킬이 되살릴 수 있는 것은 문법적 표현뿐이다. 원문에 없는 정보를 채워 넣는 일은 이 스킬의 범위 밖이고 내용 앵커 규칙에도 어긋난다.
되살린다.
- 빠진 조사와 어미:
컨텍스트 압축 전 신중 반영한다→컨텍스트가 압축되기 전에 신중히 반영한다 - '의'로 눌린 관형구를 서술 구조로 폄:
작업의 상황을→작업이 진행되는 상황을 - 조사 없이 이어 붙인 명사 나열을 관형절이나 조사 결합으로 폄
- 앞뒤 문장에서 지시 대상이 하나로 확정되는 주어와 목적어
되살리지 않는다.
- 의미를 담은 성분이 아예 없고 앞뒤 문장으로도 대상이 확정되지 않는 자리.
그러면 경고가 붙습니다에서 무엇에 붙는 경고인지 문서가 말하지 않는다면 지어내지 않는다 - 원문에 없는 조건, 이유, 목적
되살리지 않기로 한 자리는 보고의 "그대로 둔 곳"에 적어 사용자가 직접 채우게 한다. 근거가 없어 지어낼 수 없기 때문이다. --source를 받았다면 그 근거가 생기므로 이 제한이 풀린다. 아래 "참조 원문" 절을 따른다.
참조 원문 (--source)
--source를 받으면 그 문서를 판정 근거로 곁에 두고 교정한다. 입력이 번역문이고 출처가 남아 있을 때만 쓰인다.
근거로 쓸 수 있는 자리는 셋이다.
- 빠진 성분 되살리기. 위 "성분을 되살리는 범위"에서 되살리지 않기로 정한 자리 중 원문이 대상을 확정해 주는 것은 되살린다.
그러면 경고가 붙습니다의 무엇에 붙는 경고인지가 원문에 있으면 그것을 쓴다. 원문에도 없으면 그대로 둔다. - 번역투 판정. 어떤 구문이 번역투인지 한국어 필자의 선택인지 갈릴 때 원문의 대응 구간을 보고 정한다.
- 내용 앵커 확인. 교정안이 앵커를 지우는지 원문과 대조해 판정한다.
하지 않는 일.
- 오역과 누락을 고치지 않는다. 원문과 어긋난 자리를 발견하면 손대지 말고 보고에 싣는다. 이 스킬은 문체 교정이고 번역 판정은 호출자의 몫이다.
- 원문의 문장 구조를 되돌리지 않는다. 원문이 한 문장인데 번역이 두 문장이라는 것은 그 자체로 결함이 아니다.
- 원문에 있으나 번역이 의도적으로 뺀 것을 되살리지 않는다. 뺀 것인지 빠뜨린 것인지 가릴 수 없으면 보고에 적는다.
우선순위는 그대로다. 원문을 참조해도 내용 앵커 규칙(우선순위 4번)이 가장 위에 있다.
하우스 스타일에서 제외하는 절
house-style.md는 사용자 output style의 사본이라 응답에만 해당하는 규칙이 섞여 있다. 문서를 고쳐 쓰는 이 스킬에는 적용하지 않는다.
- "동작 범위" 4번. 사용자 메시지의 어조를 따라가지 말라는 지시이므로 대상이 응답이다
- "경어와 어조" 절 전체. 응답과 문서의 경어 등급을 정하는 문장인데 이 스킬이 고치는 문서의 등급은 위 우선순위 3번을 따른다. 커밋 메시지 형식 규정도 이 절에 있고 입력이 커밋 메시지일 때만 본다
- "추가 사항" 절. 서브에이전트에 프롬프트를 넘기고 결과를 전할 때의 지시이지 문서를 고치는 규칙이 아니다
"동작 범위" 1번의 "외국어 문장이나 어휘를 한국어로 번역하거나 대체하라는 지시가 아니다"는 그대로 적용한다. 문서에 섞인 영어 구간을 교정한답시고 번역하는 일을 막는다.
원본 output style에는 "(필수) 간결한 응답" 절이 있으나 응답 전용이라 이 사본에서는 지웠다. output-styles/korean.md를 다시 복사해 올 때도 그 절은 함께 지운다.
적용 범위
마크다운 산문 본문만 고친다. 아래는 그대로 둔다.
- 프런트매터
- 코드 블록, 인라인 코드, 표 안의 코드
- 인용 블록(
>). 남의 글일 수 있고 AI 티 규칙의 Do-NOT도 인용 블록과 따옴표 안 직접 인용을 제외한다 - 링크 URL, 파일 경로, 명령어, 플래그, 식별자
- 헤딩. 종결 규칙의 예외다. 줄표나 가운뎃점이 들어간 명백한 문장 부호 위반만 고친다
보고
기본은 요약이고 --verbose를 받았을 때만 전문을 낸다. 파일 모드 보고는 서브에이전트의 반환값이 되어 메인 세션 컨텍스트에 그대로 쌓이므로 요청하지 않은 전문을 내지 않는다.
어느 쪽이든 아래 두 가지는 항상 낸다.
그대로 둔 곳. 규칙에는 걸리지만 판단해서 두기로 한 구간을 두어 줄로 설명한다. 이 판단이 맞았는지 사용자가 검토할 수 있어야 한다. 어긋난 판단이 반복되면 하우스 스타일을 고칠 근거가 된다. 되살리지 않기로 한 성분도 여기 적는다.
백업 경로. 파일 모드에서 --output 없이 제자리 덮어썼을 때 원본 사본의 경로를 한 줄로 알린다.
원문 대조 지적. --source를 받았을 때만 낸다. 원문과 어긋나 보이는 자리, 원문에 있는데 번역에서 사라진 것, 뺀 것인지 빠뜨린 것인지 가리지 못한 자리를 목록으로 낸다. 항목마다 원문 발췌와 번역문의 해당 구간을 짧게 붙인다. 고치지 않았다는 사실을 함께 밝힌다. 지적할 것이 없으면 없다고 한 줄로 적는다.
기본
근거 규칙별 건수만 낸다. Q-1 3, 번역투 7, 비유 2, A-15 4처럼 한 줄로 묶는다. 개별 구간과 before → after 발췌는 싣지 않는다. 끝에 --verbose로 다시 부르면 전문을 볼 수 있다고 한 줄 덧붙인다.
--verbose
고친 구간을 하나도 남기지 말고 싣는다. 표든 목록이든 그때 읽기 좋은 형식으로 고른다. 항목마다 근거 규칙을 붙이는데 ID가 있는 규칙은 ID(A-15, D-4, P-7, Q-1)로, 하우스 스타일은 규칙 이름(문장 완결성, 어휘 선택, 종결, 번역투, 비유, 리듬)으로 부른다. 이 이름들은 절 제목이 아니라 하우스 스타일이 "문장 단위"와 "구 단위"에서 규정하는 내용을 가리킨다. 규칙 이름이 없는 항목이 남아 있으면 보고가 아직 덜 된 것이다. 각 항목에 before → after 발췌를 붙이되 발췌는 짧게 자른다.
손댈 곳이 과하게 많아 문서 전체를 다시 쓰는 수준이 되면 그 사실을 알리고 /humanize-korean --strict를 권한다. 중증 AI 초안은 그쪽 파이프라인이 맡는다.