8000 GitHub - bahamoth/tone-fix · GitHub
[go: up one dir, main page]

Skip to content
bahamothPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

tone-fix

release license

보고서, 슬라이드, 인포그래픽 같은 한국어 문서의 AI 말투와 번역체를 교정하는 스킬.

교정 대상:

  • 어휘와 구문: "저희" 같은 1인칭, "발화했다" 같은 직역, "A 가 아니라 B 다" 같은 대조 강조, "근거가 수렴한다" 같은 의인화
  • 구조와 가독성: 본문을 줄여 옮긴 요약, 문제제기 없이 시작하는 본문, 정의 없이 쓰는 L0~L5 같은 코드, 3문장을 넘는 긴 문단
  • 문맥: 사실 뒤에 덧붙인 해석("이 전제가 설계를 결정한다"), 앞에서 한 말의 되풀이("이것이 ~ 계약이다"), 영어 숙어의 직역(source of truth → '진실 소스')

교정 방식:

  • 알려진 표현: 실제 리뷰에서 지적된 표현을 검출 규칙으로 만들어 자동으로 찾는다.
  • 규칙에 없는 표현: 문단마다 판별 질문을 던져 어색한 문장을 찾고, 그 문장은 구조부터 다시 쓴다.
  • 교정 중 놓친 표현: 교정을 마치면 작업 경위를 모르는 새 서브에이전트가 결과물만 읽고 남은 AI 말투를 찾는다.

Before / After

구분 ❌ AI 말투 ✅ 교정 규칙
본문 저희가 통제할 수 없는 일정 외부 일정 의존 §2
본문 지연될 수 있습니다 X 일정의 기준점입니다 §4
본문 우리는 5/29 까지 해결합니다 차주(5/29) 해결 예정입니다 §7
제목 데이터, 어떻게 봐야 할까 데이터 품질 점검 우선순위 §8
제목 왜 중요한가 / 이 덱의 구성 중요성 / 구성 §8
제목 결정을 바꾸는 임계치 판단 기준 §8
부제 게임에 외부 SDK를 붙이는 작업은 6 단계로 진행한다 게임에 외부 SDK를 연동하는 6단계 §8.1
리드 이 과정을 통해 전체 그림을 이해한다 (삭제) §8.1
부연 (정의 표 뒤) 5절의 레이아웃이 이 표의 단계 이름을 쓴다 (삭제) §8.2
여백 (다이어그램 빈자리) 그 외 수집 SDK 도 직접 연결 (삭제) §8.2
어휘 캠페인을 띄운다 캠페인을 노출한다 §8.3
본문 내장(embedded) 미디에이터 지원 추가 작업 진행 중 지원 개발 진행 중 §8.4
본문 강한 스키마 규약 — 기능 1건에 4곳 수정 강한 스키마 규약 탓에 기능 1건에 4곳 수정이 필요 §8.6
제목 배경 — 모델 교체마다 반복되는 재작성 배경: 모델 교체마다 반복되는 재작성 §8.6
알림 #6~8 이 6/10부터 발화했다 #6~8 이 6/10부터 트리거되었다 §8.8
결론 중요한 것은 속도가 아니라 정확도다 정확도가 우선이다 §8.9
계층 모델 종속 nudge 는 L4 어댑터 계층에만 모델 종속 조정 문구는 4단계 모델 어댑터 파일에만 §8.10
근거 증거가 실무·연구 양쪽에서 수렴한다 근거 두 가지: 실무 보고 A, 연구 B §8.11
의인화 이 문서는 고정할 부분과 갈아 끼울 부분의 경계에 답한다 대상: 고정 범위와 변경 범위의 경계 §8.11
리드 문제는 두 벤더 가이드가 정반대 조정을 요구한다는 점이다. 두 벤더 가이드는 정반대 조정을 요구한다. §8.12
리드 이 문서가 답하는 질문은 세 가지다. 소제목 "모델 교체 문제의 해법 세 가지" + 목록 §8.12
리드 워크플로우를 6단계로 나누고 모델 의존은 4단계에만 둔다. 워크플로우 6단계. ↵ 모델 의존은 4단계 어댑터에만 둔다. §8.12
리드 Codex 등가물은 codex exec다. Codex 등가물 codex exec §8.12
리드 Orca 오케스트레이션은 experimental 이고 레거시 명령은 deprecated 되어 효과가 없다. Orca 오케스트레이션은 experimental 이다. ↵ 레거시 명령은 deprecated 되어 효과가 없다. §8.12
번역투 레거시 명령이 은퇴했다 레거시 command 가 deprecated 되었다 §8.13
비교 결함을 더 잡는다 결함을 더 많이 잡는다 §8.14
나열 CLAUDE.md·AGENTS.md·skill 파일 CLAUDE.md, AGENTS.md, skill 파일 §8.15
어휘 단순 임계 알람은 소음이 된다 단순 임계 알람은 노이즈가 된다 §8.16
어휘 백데이터 원천 / LTV 지평 백데이터 출처 / LTV horizon §8.16
카드 정보가 제한적. 주요 사업 정보가 전달되지 않음. 정보가 제한적.<br>주요 사업 정보가 전달되지 않음. §9.1
스펙 θ 를 넘으면 트리거. 기본 θ 15% θ 를 넘으면 트리거, 기본 θ 15% §9.1
요약 훅 없이 본문을 압축한 282자 항목 모델이 바뀔 때 고칠 파일을 하나로 줄인다. + 뒷받침 2문장 §10.1
구조 요약 다음에 바로 '핵심 발견' 절 배경 절 신설: 현재 상태, 문제, 다루는 질문 §10.2
구조 정의 표 없이 "4단계 어댑터만 갱신" 첫 등장 앞에 단계 정의 표 §10.3
목록 도입 소음의 원천은 셋이다. + 목록 노이즈의 세 가지 원인 + 목록 §10.5
리드 Orca (onorca.dev) — Orca 는 ADE 로 … Orca 는 CLI 에이전트 25종을 격리 worktree 에서 병렬 실행한다. §11.1
문단 7문장 330자 문단 3문장 이내 문단 세 개 §11.2
배치 핵심 문장. 부연 부연 부연 핵심 문장. ↵ (빈 줄) ↵ 부연 부연 부연 §11.5
의의 꼬리 …를 미리 채워 실행한다. 이 전제가 hook/gate 설계를 결정한다. …를 미리 채워 실행한다. (꼬리 삭제) §12.1
재진술 (리드에서 계약 3요소를 말한 세 문단 뒤) 이것이 역할 사이의 계약이다. (삭제) §12.2
꼬리표 verdict 는 JSON 으로 산출한다. Codex reviewer 패턴의 권장 형태다. Codex reviewer 패턴은 verdict 를 JSON 으로 내도록 권장한다. §12.3
명사화 해결책은 단일 모델 어댑터 파일로의 격리다 모델 종속 문구를 어댑터 파일 하나로 옮기면 해결된다 §12.4
직역 숙어 유일한 진실 소스 / 1급 지원 / 유용한 스킬의 표식 최종 기준 / 기본 지원 / 유용한 스킬은 ~를 쓴다 §12.5
과장 이 gate 가 유일한 실질 안전 경계다 실제 차단은 이 gate 가 맡는다 §12.6
반복 뉘앙스 (문서 안 3회) 단서 1회, 나머지는 출처만 §12.9
구어 이들이 머릿속에 둔 배수 / 2.2%p 차이까지 따라왔다 / 편향이 보였다 이들이 기준으로 삼은 배수 / 2.2%p 차이로 근접했다 / 편향이 나타났다 §12.10
서술어 D90은 매체 B 71.8%, 매체 C 56.7%로 갈린다 / 같은 판단이 나온다 매체 B 71.8%, 매체 C 56.7%로 차이가 크다 / 같은 판단을 내리게 된다 §12.11
조어 단일 배수가 매체별 곡선 차이를 놓친다 타이틀별 배수 하나로는 매체별 곡선 차이를 반영하지 못한다 §12.12
문장 뼈대 판단 전 5주 넘게 집행되는 예산은 사실상 결과를 모르는 상태로 쓰인다. 소제목 "판단 시점: 시작 후 37일" + 판단 전까지의 예산 집행에는 정량적 근거가 없다. + 근거 문단 §12.13
정보 손실 "단순하고 오래 검증된 기준이지만, 다음 네 가지 한계가 있다." 를 콜론 목록 리드로 바꿈 원문 유지 (양보 관계와 '한계 네 가지' 명제 보존) §12.14

3단계 파이프라인

단계 성격 검출 대상 도구 통과 기준
1단계 패턴 스캔 결정론적 1인칭, 가정형, 상투 제목, 수사의문문, 발화, ~가 아니라, L0~L5, 근거가 수렴, 문제는 ~는 점이다, 은퇴, 더 잡는다, ~은 셋이다, 소음, 원천, 판단이 나온다, 머릿속, —, · 등 30종 scripts/check_lexical.py hits: 0
2a단계 문장과 어휘 맥락 판단 미확정 단정, 동의어 중복, 의인화, 비전문가 어휘 규칙표 판별법 판별법 통과
2b단계 문단과 구조 맥락 판단 훅 없는 요약, 문제제기 절 누락, 정의 없는 단계, 결론이 아닌 절 첫 문장, 개수 예고 목록 도입 규칙표 판별법, scripts/check_md_layout.py 판별법 통과
2c단계 문맥 판독 맥락 판단 구어 표현, 어울리지 않는 서술어, AI 조어, 낱말만 바꾼 핵심 문장, 의의 꼬리, 지시어 재진술, 꼬리표 판정, 명사화 사슬, 직역 숙어, 과장, 일반론, 문장 간 논리, 반복 scripts/sentence_sheet.py 판독표 + 판별 질문 문단 전부 판독
3단계 가독성 결정론적 + 판단 훑어 읽기 어려운 긴 본문(900자 넘게 제목, 볼드, 표, 목록이 없음), 긴 문단, 볼드 남발, 리드 뒤 줄바꿈, 문장 경계 <br> scripts/check_md_layout.py, scripts/check_br.py violations: 0
마무리 독립 판독 맥락 판단 교정한 에이전트가 놓친 AI 말투 교정 과정을 모르는 새 서브에이전트 + references/review-prompt.md 지적마다 수용 또는 기각 사유 기록

2a~3단계에서 고치거나 독립 판독 지적을 반영한 문장에 새 위반이 생길 수 있어, 마지막에 1단계와 3단계 스크립트를 다시 실행한다.

How It Checks

  • check_lexical.py: 어휘 패턴 30종을 정규식으로 검출한다. --honorific 옵션을 지정하면 존대 문서에 남은 평어체 어미도 검출한다.
  • check_md_layout.py: MD 문서에서 다음 위반을 검출한다. X는 Y다 형태의 리드는 advisories: 로 따로 센다.
    • 볼드 리드의 틀 문구(문제는 ~는 점이다 등), 연결 어미로 두 절을 이은 리드, 리드와 같은 줄에 붙은 부연
    • 형식에 맞지 않는 요약 항목, 문제제기 절 누락, 정의 없는 단계, 목록 앞 개수 예고 문장
    • 훑어 읽기 어려운 긴 본문(900자 넘게 제목, 볼드, 표, 목록, 코드 블록이 없음), 긴 문단, 볼드 남발
  • check_br.py: HTML 의 <p>, <dd>, <li>, <small> 본문과 innerHTML 로 주입하는 인라인 <script> 문자열에서 문장 경계 <br> 누락을 검출한다.
  • sentence_sheet.py: 문서를 문단(P)과 문장(S)으로 나누고 번호를 붙인 판독표를 만든다. 위반은 판정하지 않고, 읽으면서 세기 어려운 항목만 센다.
    • 본문에서 3회 이상 반복된 낱말(제목, 볼드 리드, 표의 낱말 제외)
    • 같은 절의 앞선 리드나 문단 첫 문장과 내용어가 절반 이상 겹치는 문장
    • '명사 + 다' 나 형용사로 끝나는 문장이 4개 이상 이어진 구간
  • 독립 판독: 새 서브에이전트에게 결과물과 references/review-prompt.md 만 주고, 판별 질문 여섯 개(삭제, 문어, 어울림, 역번역, 재진술, 근거)를 던지며 읽게 한다. 서브에이전트는 지적마다 문장 ID, 원문 인용, 판별 근거, 교정안, 확신도를 적는다. 교정한 에이전트는 지적마다 수용할지 정하고, 기각한 지적은 사유를 보고에 남긴다.

Usage

문서, 슬라이드, 인포그래픽, 보고서를 쓰거나 마무리할 때 자동으로 활성화된다. 다음 요청으로도 트리거된다.

"이 문서 AI 말투 좀 고쳐줘"
"제목을 명사구로 바꿔줘"
"번역체 제거해줘"
"이 보고서 가독성 개선해줘"

스크립트 수동 실행(python3 표준 라이브러리만 사용):

python3 scripts/check_lexical.py report.md
python3 scripts/check_md_layout.py report.md
python3 scripts/check_br.py deck.html
python3 scripts/sentence_sheet.py report.md   # 판독표, 판정 없음

Installation

Claude Code 플러그인

claude plugin marketplace add bahamoth/claude-marketplace
claude plugin install tone-fix@cc-marketplace

다른 에이전트 (Agent Skill)

에이전트의 스킬 디렉터리에 클론한다. 경로는 도구마다 다르며, Codex CLI 는 ~/.agents/skills/(개인) 또는 .agents/skills/(프로젝트)를 쓴다.

git clone https://github.com/bahamoth/tone-fix ~/.agents/skills/tone-fix

Out of Scope

  • 사실과 명제는 바꾸지 않는다. 다만 소스에 없는 세부 내용(방식, 시점, 동작)을 덧붙인 곳은 지운다.
  • 맞춤법과 띄어쓰기 전반은 교정하지 않는다.
  • 업계 표준 계층 용어(OSI L7, 알림 등급 L1/L2)는 교정하지 않는다.
  • 통계와 수학에서 쓰는 '수렴' 은 의인화로 보지 않는다.
  • 영어 인용문 안의 retired, kill 같은 원어 표현은 그대로 둔다.
  • 현장에서 한자어로 부르는 용어(임계, 기준선, 지출, 노출)는 외래어로 바꾸지 않는다.

Rules

규칙은 실제 리뷰 지적을 모아 만들었다. 독립 판독에서 찾은 표현이 여러 문서에서 되풀이되면 스크립트 검출 규칙에 추가한다. 규칙표에 인용한 지적의 예:

  • "발화라는 단어 금지. 전형적인 AI 표현."
  • "사람은 근거를 수렴한다고 표현하지 않는다."
  • "XX 가 답하는 질문은 XX 가지다 → 사람은 이런 표현을 안 써."
  • "소음이라는 직역보다는 노이즈가 자연스럽다."

파일 구성:

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0