Skip to content
Back to skills

Yd Writer Kr

ASecurity

doksam 스타일 한국어 글쓰기·교정 — 의미가 전달되는 논리적 단문, 번역투·군더더기 제거, 주장마다 근거. 이슈·MR/PR 본문, 문서(docs·README·wiki), 공지(디스코드·메일), 보고서·칼럼·기획서를 한국어로 쓰거나 고칠 때 사용한다. "글 다듬어", "읽기 쉽게", "번역투 빼고", "논리적으로", "유시민처럼" 같은 요청이나, 규칙을 말하지 않아도 사람이 읽을 한국어 산문을 쓸 때 적용한다. 채팅 대화체(MZ체)에는 문장 원칙만 쓰고 종결 규칙은 쓰지 않는다.

  • 12 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 4, 2026
developmentpythonbashexpressgitapi

Works with

  • api

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add LeeYudok/doksam-skills --skill yd-writer-kr --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Yd Writer Kr?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Yd Writer Kr
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/leeyudok-yd-writer-kr/badge)](https://www.skillsdirectory.com/skills/leeyudok-yd-writer-kr)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: yd-writer-kr
description: doksam 스타일 한국어 글쓰기·교정 — 의미가 전달되는 논리적 단문, 번역투·군더더기 제거, 주장마다 근거. 이슈·MR/PR 본문, 문서(docs·README·wiki), 공지(디스코드·메일), 보고서·칼럼·기획서를 한국어로 쓰거나 고칠 때 사용한다. "글 다듬어", "읽기 쉽게", "번역투 빼고", "논리적으로", "유시민처럼" 같은 요청이나, 규칙을 말하지 않아도 사람이 읽을 한국어 산문을 쓸 때 적용한다. 채팅 대화체(MZ체)에는 문장 원칙만 쓰고 종결 규칙은 쓰지 않는다.
---

# yd-writer-kr — 의미가 전달되는 한국어

기준은 길이가 아니라 **의미 전달**이다(『유시민의 글쓰기 특강』).
짧게 자르는 것이 목표가 아니다. 읽는 사람이 무엇을 알고 무엇을 할지 분명해야 한다.

## 0. 어디에 쓰나 — 문체 두 갈래

| 대상 | 문체 | 이 스킬 적용 범위 |
|---|---|---|
| 이슈·MR 본문, 커밋 본문, docs·wiki, 보고서 | 표준 문어체(~한다/~이다) | 전부 |
| README·사용 안내·공지처럼 사용자에게 말하는 글 | ~합니다 체도 쓸 수 있다 | 전부 (~함·~임 종결 금지는 같다) |
| 채팅 응답(사용자와의 대화) | MZ체(~요, ~함, ㅇㅇ, ㅇㅋ) | 원칙 1·3·5만. 종결 규칙(~함 금지)은 적용하지 않는다 |
| 코드·명령어·식별자·표 안의 값·인용문·고유명사 | 원문 그대로 | 건드리지 않는다 |

한 문서 안에서는 문체를 섞지 않는다. 기존 문서를 고칠 때는 그 문서의 문체를 따른다. 새 README 는 저장소의 다른 README 문체를 따른다.

채팅에서 산출물로, 산출물에서 채팅으로 넘어갈 때 문체가 따라오지 않게 한다.
긴 세션에서 이슈 본문을 쓴 직후 채팅까지 격식체가 되는 것이 가장 흔한 실수다.

## 원칙 1. 먼저 독자와 요점을 정한다

- 쓰기 전에 두 가지를 한 문장씩 정한다. 독자가 알아야 할 것, 독자가 해야 할 것.
- 그 한두 가지가 첫 단락에 드러나게 쓴다. 결론을 뒤에 숨기지 않는다.
- 상태 질문의 답은 yes/no 와 짧은 근거로 시작한다.

## 원칙 2. 단문 — 한 문장에 생각 하나

- 한 문장에는 생각 하나만 담는다. 40자 안팎을 눈금으로 삼되, 의미를 자르면서까지 맞추지 않는다.
- 주어와 서술어는 한 번만 쓰고 서로 호응하게 한다.
- 접속사로 길게 잇지 않는다. 마침표를 찍고 새로 시작한다.

## 원칙 3. 필요 없는 것은 뺀다

- 독자에게 필요 없는 배경, 괄호 부연, 내부 사정은 뺀다. 필요한 근거는 남긴다.
- 독자별로 다르다. 이슈·MR 에서는 이슈 번호·파일 경로·커밋이 근거다. 사람에게 보내는 공지에서는 내부 사정이다.
- 없어도 뜻이 통하는 낱말은 지운다. 부사·형용사는 꼭 필요할 때만 쓴다.
- 금지 표현은 `references/banned-expressions.md` 와 대조한다(번역투·일본어투·이중 피동·중복 수식).

## 원칙 4. 주장에는 근거

- 취향과 주장을 구별한다. 취향은 쓰지 않는다.
- 근거는 사실(수치·날짜·로그·쿼리 결과)이나 논리만 인정한다. 근거 없는 주장은 지운다.
- 수치·날짜·라벨은 정확히 쓴다. 어림값을 쓸 때는 "약"을 붙이고 출처를 남긴다. placeholder 는 금지다.
- 확인하지 못한 것은 확인하지 못했다고 쓴다.

## 원칙 5. 구체적으로, 말하듯이

- 추상어 대신 구체어를 쓴다. 날짜, 경로, 명령, 해야 할 행동.
- 소리 내어 읽어 막히면 고친다. 한자어보다 우리말을 먼저 고른다.
- 영어 IT 용어는 첫 등장 때 한글 풀이를 붙인다. 예: sweep(일괄 점검), throttle(호출 속도 제한). server·API·CI·MR·merge 같은 친숙어와 코드 식별자는 그대로 둔다.

## doksam 표기 규칙

- 시각: `YYYY-MM-DD HH:MM:SS.mmm`(KST). ISO 8601 의 `T`·`+09:00` 은 쓰지 않는다. 날짜만이면 `YYYY-MM-DD`.
- 이모지를 아이콘이나 장식으로 쓰지 않는다.
- 코드·명령·경로·식별자는 백틱으로 감싼다. 시크릿 값은 어떤 글에도 쓰지 않는다.
- 숫자는 천 단위 쉼표를 찍는다(610,110건). 비율은 분자·분모를 같이 쓴다(7/30, 23%).

## 글 종류별 형식

### 이슈 (GitLab·GitHub)

```
## 배경        — 무엇이 문제인지, 근거(수치·로그·재현)
## 할 일       — 범위와 방법. 하지 않는 것도 적는다
## 판정        — 누가, 무엇을 보고 닫는가
```

### MR·PR 본문

```
## 변경        — 파일·동작 단위로 무엇이 바뀌었나
## 영향        — 파급된 사용처, 수용한 트레이드오프, 배포 필요 여부
Closes #N
```

### 공지(디스코드·메일)

- 첫 줄에 독자가 할 일이나 알아야 할 결론을 쓴다.
- 이슈 번호·구현 세부 같은 내부 사정은 뺀다. 날짜·장소·링크처럼 행동에 필요한 것은 남긴다.

### 보고서·칼럼·기획서

- 서론: 주장 한 문장, 근거 개요 한 문장.
- 본론: 근거 하나에 단락 하나. 단락의 첫 문장이 핵심이다.
- 결론: 주장을 다시 말한다. 새 내용은 넣지 않는다.
- 분량 지정이 없으면 800자 안팎. 소제목은 사용자가 원하는 대로 바꿀 수 있다.

### README·사용 안내

- 첫 화면에서 세 가지가 보여야 한다. 무엇인지 한 문장, 설치 명령, 가장 흔한 사용 예.
- 목록은 독자가 고르는 기준으로 묶는다. 표의 설명 칸은 "언제 쓰나" 한 줄로 맞춘다.
- 수치(개수·버전·테스트 건수)에는 측정한 날짜를 붙인다. 날짜 없는 수치는 언제 낡았는지 알 수 없다.
- 홍보 문장을 쓰지 않는다. 무엇을 하는지만 쓴다.

### 커밋 메시지

- 제목 형식은 저장소 규칙을 따른다(doksam 은 `yd-git-ship`).
- 본문은 **왜** 바꿨는지 쓴다. 무엇을 바꿨는지는 diff 가 말한다.
- 되돌릴 때 알아야 할 것(함께 바뀐 곳, 일부러 남긴 것)을 적는다.

### 코드 주석

- 코드가 말하지 못하는 것만 쓴다. 이유, 버린 대안, 실측으로 확인한 함정과 그 날짜.
- "무엇을 하는지" 를 되풀이하는 주석은 쓰지 않는다.
- 언어는 그 파일의 기존 주석을 따른다.

### 회의록

```
## 결정        — 정한 것 한 줄씩. 누가 정했는지
## 할 일       — 담당 · 기한 · 완료 기준 표
## 논의        — 결정에 이른 근거만 짧게. 발언 순서대로 받아 적지 않는다
## 미결        — 다음에 정할 것과 그때 필요한 자료
```

## 작업 순서

### 새로 쓸 때

1. 독자, 독자가 알 것, 독자가 할 것을 정한다. 불분명하면 묻는다.
2. 근거를 모은다. 수치·날짜는 실제 출처(DB·로그·이슈)에서 확인한다.
3. 글 종류별 형식으로 초안을 쓴다.
4. 검사기를 돌리고 오류를 고친다. 그다음 점검표로 검수한다.

### 고칠 때

1. 검사기로 기계 위반부터 찾는다.
2. 길거나 번역투가 많은 글은 Upstage 1차 교정을 돌린다(아래).
3. 문장마다 점검표를 적용한다. 뜻과 사실관계는 바꾸지 않는다.
4. 고친 글 전체를 낸다. 요청하면 원문과 나란히 보여준다.

## 검사 도구

### 검사기 — `scripts/check_writing.py`

```bash
python3 <스킬경로>/scripts/check_writing.py 글.md          # 문어체 산출물
python3 <스킬경로>/scripts/check_writing.py --chat 답장.txt # 채팅: 명사형 종결은 보지 않는다
```

- 오류: 금지 표현, 문어체의 ~함·~됨·~있음 종결, ISO 8601 시각, 이모지. 하나라도 있으면 exit 1 이다.
- 경고: 60자를 넘는 문장. 의미를 자르면서까지 맞추지 않는다. `--strict` 면 오류로 센다.
- 코드 블록·인라인 코드·표·인용·URL 은 보지 않는다. 한 줄만 면제하려면 `writer:allow` 를 적는다.
- 금지 표현은 `references/banned-expressions.md` 의 `검사` 열을 읽는다. 목록을 늘릴 때는 그 표만 고친다.
- 검사기는 근거 유무와 독자에게 필요한 내용인지는 판단하지 못한다. 그건 점검표로 본다.

### Upstage 1차 교정 — `scripts/upstage_proofread.py`

한국어 교정은 Upstage Solar(`solar-pro4`)가 빠르고 정확하다. 2026-10-04 실측에서 금지 표현 8건을 1.5초 만에 0건으로 줄였다.

```bash
python3 <스킬경로>/scripts/upstage_proofread.py 글.md -o 고친글.md
```

- 금지 표현 목록을 프롬프트에 넣어 고치고, 검사기에 오류가 남으면 그 목록을 붙여 한 번 더 고친다.
- 결과는 **교정 후보**다. 원문과 비교해 뜻·수치·이름이 바뀌지 않았는지 확인한 뒤에 쓴다. 바뀐 곳은 원문으로 되돌린다.
- 본문이 외부 API 로 나간다. 고객 데이터·비공개 문서는 보내지 않는다. 시크릿처럼 보이는 문자열이 있으면 스크립트가 멈춘다.
- 키는 환경변수 `UPSTAGE_API_KEY`, 없으면 `~/workspace/.env.toml` 에서 읽는다. 키가 없으면 이 단계를 건너뛰고 직접 고친다.

## 검수 점검표

- [ ] 첫 단락에 독자가 알 것·할 것이 드러난다.
- [ ] 한 문장에 생각이 하나다. 주어·서술어가 호응한다.
- [ ] 문어체 산출물에 ~함·~임·~됨 종결이 없다(채팅은 예외).
- [ ] 이중 피동, 번역투, 일본어투, 중복 수식이 없다.
- [ ] 근거 없는 주장, 주제와 무관한 문장, 독자에게 필요 없는 배경이 없다.
- [ ] 수치·날짜·시각 표기가 정확하고 규칙을 따른다.
- [ ] 영어 IT 용어 첫 등장에 한글 풀이가 있다.
- [ ] 이모지 아이콘이 없다. 시크릿 값이 없다.
- [ ] 소리 내어 읽어도 막히지 않는다.

## 예시

나쁜 이슈 문장:

> 백필 작업에 있어서 대상 추출 쿼리가 매우 오래 걸리는 현상이 발생되어지고 있는 것으로 보여짐.

고친 문장:

> 백필 대상 추출 쿼리가 1시간 넘게 끝나지 않는다. `biz_info` 61만 건을 랜덤 조회하기 때문이다.

나쁜 공지 문장:

> #418 이슈 관련하여 run_chunks.sh 래퍼를 통해 2026년 폐업자에 대한 백필을 진행하고 있는 중입니다.

고친 문장:

> 2026년 폐업 사업자의 상호명을 채우고 있습니다. 하루 약 4,000건씩, 100일 정도 걸립니다.

나쁜 채팅(격식체가 샌 경우):

> 머지가 완료되었습니다. 배포 파이프라인이 성공적으로 종료되었습니다.

고친 채팅:

> 머지 완료 ㅇㅇ 배포도 통과했어요.

## 예외

- 사용자가 다른 문체를 지시하면 그 지시를 따른다.
- 인용문, 고유명사, 코드, 명령어, 표 안의 값은 고치지 않는다.

Files in this skill

  • SKILL.md10.7 KB
  • agents/antigravity.md2.8 KB
  • agents/claude.md2.2 KB
  • agents/codex.toml2.2 KB
  • agents/openai.yaml700 B
  • references/banned-expressions.md4.9 KB
  • scripts/check_writing.py7.4 KB
  • scripts/upstage_proofread.py7.1 KB
  • tests/claims.json2.8 KB
  • tests/test_check_writing.py7.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.