Korean from AI,
short and clear.
SimpleKorean is an agent skill. It makes AI write documents and replies in simple Korean.
It splits long sentences, removes translationese, and keeps the spelling of terms the same.
It takes ideas from SimpleEnglish and ASD-STE100.
01 Before and after
See how the same draft changes
The left side is the original draft. The right side is the document with SimpleKorean. Under each changed sentence, we name the rule that changed it. The example text stays in Korean.
- em-dash 2 → 0
- Bold 2 → 0
- Middle dot 3 → 0
- Advice endings 2 → 0
- Longest sentence 12 eojeol → 11 eojeol
Draft: ## 문제 해결
Revised: ## 문제 해결
Draft: **Postgres 연결 타임아웃** —
Revised: ### Postgres 연결 타임아웃
Rule: Use a heading, not bold text and an em-dash
Draft: sqlpipe가 connection timed out 오류를 내면 대부분 방화벽·보안 그룹이 5432 포트를 막고 있는 것입니다.
Revised: sqlpipe가 connection timed out 오류를 내면 대부분 방화벽이나 보안 그룹이 5432 포트를 막습니다.
Rule: Join words with a particle, not a middle dot. Use the simple present
Draft: nc -zv <호스트> 5432로 연결되는지 확인해 보시기 바랍니다.
Revised: sqlpipe를 실행하는 호스트에서 nc -zv <호스트> 5432로 연결되는지 확인하세요.
Rule: Name the host that runs the command. Change the advice ending to the command form "-하세요"
Draft: **S3 권한 오류** —
Revised: ### S3 권한 오류
Sentence added in the revision: sqlpipe가 AccessDenied 오류를 내면 먼저 aws sts get-caller-identity로 현재 쓰는 자격 증명을 확인하세요.
Rule: Put the first step first
Draft: IAM 정책AccessDenied가 나면 ·버킷 정책에 읽기·쓰기 권한(s3:GetObject, s3:PutObject)이 있는지 확인하세요.
Revised: 그다음 IAM 정책과 버킷 정책에 읽기와 쓰기 권한(s3:GetObject, s3:PutObject)이 있는지 확인하세요.
Rule: Join words with "과" and "와" (and), not a middle dot
Sentence removed from the draft: 먼저 aws sts get-caller-identity로 지금 쓰는 자격 증명을 확인하는 것이 좋습니다.
Rule: Moved to sentence 6 on the right, without the advice ending
Source: evals/results/2026-10-21. A person matched the sentences and named the rules. For more comparisons, see the before-and-after examples.
02 Results
What changes when the skill is on
We publish the raw outputs that we measured. You can calculate the numbers below again from those outputs.
- Format defects in replies
- 162 → 0
- Defects that readers see, in 32 replies. We count em-dashes, bold text, tables, and a header or list on the first line.
- Blind judgment
- 12 of 16
- Pairs out of 16 where the judge chose the SimpleKorean reply without knowing which it was. 3 pairs were ties and 1 pair was a loss.
- Linter warnings in documents
- 0.71 → 0.17
- Linter warnings per 100 eojeol. An eojeol is a unit of Korean text between two spaces.
- Longest sentence
- 18 → 15 eojeol
- The longest sentence in 16 documents. In strict mode, it is 13 eojeol.
claude-sonnet-5-5 wrote the documents and replies. claude-opus-5-5 was the judge.
The judge is also Claude, so it can favor models of the same family.
03 Rules
Short sentences. The answer first.
The rules split long sentences, remove formatting that is not necessary, and fix translationese.
- Reply
Put the answer in the first sentence
Stops: An opening that repeats the question
- Reply
Do not use bold text or tables
Stops: Formatting around a one-line answer
- Reply
Do not use em-dashes
Stops: Thoughts that are only half joined
- Document
Write procedures in 15 eojeol or fewer, and descriptions in 20 eojeol or fewer
Stops: Long sentences that do not end
- Document
Put conditions before the command with "-면" (if)
Stops: "단, ~경우" (however, in case of ~) after the command, which the reader sees too late
- Document
Use the active voice and simple tenses
Stops: "되어지다" (double passive), "~에 의해" (by ~), "-고 있습니다" (is doing)
- Document
Do not use guessing or advice endings
Stops: "-ㄹ 수도 있습니다" (may), "-것 같습니다" (seems)
- Document
Give one word only one meaning
Stops: Switching between "확인", "검증", and "점검" (all mean "check")
The rules come from ASD-STE100, the controlled English for aircraft maintenance documents. The full rules are in SKILL.md.
04 Spelling
One term, one spelling
The skill follows the Korean loanword spelling rules and the examples of the National Institute of Korean Language. When no official spelling exists, the project chooses one.
- 디렉터리not 디렉토리
- 메시지standard form
- 애플리케이션standard form
- 릴리스standard form
- 셸standard form
- 레포지토리common form
- 바디common form
- 칼럼common form
- 리팩터링no official spelling
- 반환값written without a space
If your company uses a different spelling, change it in .simple-korean.json at the top of your repository.
05 Install
Install it for your tool
-
Claude Code
Installs the skill, three hooks, and the output style.
claude plugin marketplace add say8425/SimpleKorean claude plugin install simple-korean@simple-korean -
Codex
Installs the skill and the session-start hook.
codex plugin marketplace add say8425/SimpleKorean codex plugin add simple-korean@simple-korean -
Other agents
Installs only the skill with the skills CLI.
npx skills add say8425/SimpleKorean -
Python
Use the reply rules and the linter from Python code.
pip install "simple-korean==1.2.0"
To use it without installing, give your agent the repository URL and tell it to follow the README.