/hangulKorean typography and writing skill
Same screen, different Korean
One screen built without the skill, one with /hangul. Only the typesetting and the words differ. /hangul is a skill that gives coding agents 14 rules for Korean typography and 14 for Korean UI copy. It also writes reports, notices and press releases in the voice each situation calls for.
Switches every 3 seconds. Tap to stop.
반가워요, 지우님! 오늘도 스마트한 금융 생활을 시작해보세요
고객님의 총 자산
24,680,000원
지난달보다 +1,250,000원
최근 보낸 사람
- 엄마
- 민준
- 서연
- 하늘
송금이 성공적으로 완료되었습니다!
소중한 마음까지 빠르게 전달되었어요
모아 주요 지표
이미 많은 사람들이 모아와 함께하고 있어요.
320만 명+
함께하는 사용자
12조 원+
누적 송금액
4.9
앱 평점
2026년 9월 기준
송금하시겠습니까?
5만원이 즉시 이체되어집니다.
오류가 발생했습니다. 잠시 후 다시 시도해주세요.
금일 이체 한도는 500만원입니다.
반가워요, 지우님
내 총 자산
24,680,000원
지난달보다 +1,250,000원
최근 보낸 사람
- 엄마
- 민준
- 서연
- 하늘
엄마에게 5만 원을 보냈어요
방금 · 수수료 0원
모아 주요 지표
이미 많은 사람들이 모아와 함께하고 있어요.
320만 명+
함께하는 사용자
12조 원+
누적 송금액
4.9
앱 평점
2026년 9월 기준
엄마에게 5만 원을 보낼까요?
보내면 바로 엄마 계좌로 들어가요.
인터넷 연결이 끊겼어요. 연결을 확인하고 다시 보내 주세요.
오늘 보낼 수 있는 금액은 500만 원이에요.
Typography
Same words, different type
Both screens say exactly the same thing. Only the font, type sizes, letter-spacing, line height and line breaks changed.
Switches every 3 seconds. Tap to stop.
반가워요, 지우님
HG-1내 총 자산
24,680,000원
지난달보다 +1,250,000원
최근 보낸 사람
- 엄마
- 민준
- 서연
- 하늘
엄마에게 5만 원을 보냈어요
방금 · 수수료 0원
HG-6 · HG-4모아 주요 지표
이미 많은 사람들이 모아와 함께하고 있어요.
HG-7 · HG-10320만 명+
함께하는 사용자
12조 원+
누적 송금액
4.9
앱 평점
2026년 9월 기준
HG-3엄마에게 5만 원을 보낼까요?
보내면 바로 엄마 계좌로 들어가요.
인터넷 연결이 끊겼어요. 연결을 확인하고 다시 보내 주세요.
오늘 보낼 수 있는 금액은 500만 원이에요.
반가워요, 지우님
HG-1내 총 자산
24,680,000원
지난달보다 +1,250,000원
최근 보낸 사람
- 엄마
- 민준
- 서연
- 하늘
엄마에게 5만 원을 보냈어요
방금 · 수수료 0원
HG-6 · HG-4모아 주요 지표
이미 많은 사람들이 모아와 함께하고 있어요.
HG-7 · HG-10320만 명+
함께하는 사용자
12조 원+
누적 송금액
4.9
앱 평점
2026년 9월 기준
HG-3엄마에게 5만 원을 보낼까요?
보내면 바로 엄마 계좌로 들어가요.
인터넷 연결이 끊겼어요. 연결을 확인하고 다시 보내 주세요.
오늘 보낼 수 있는 금액은 500만 원이에요.
HG-1
A Korean font first
With Arial first in the stack, digits draw in Arial and Hangul in whatever the device has.
HG-7
Heading tracking
−0.064em becomes −0.02em. Of the Korean services we measured, only one tracks headings tighter than −0.03em.
HG-6 · HG-4
Body tracking and line height
Tracking −0.02em becomes 0; line height 1.25 becomes 1.5.
HG-10
Breaks between words
Breaking between syllables splits a word across two lines. /hangul moves the whole word to the next line.
HG-3
Small text
Notes go from 10px to 13px.
Writing
Same screen, different words
Both screens are typeset the same way. Only the words changed.
Switches every 3 seconds. Tap to stop.
반가워요, 지우님! 오늘도 스마트한 금융 생활을 시작해보세요
HW-12 · HW-13고객님의 총 자산
HW-824,680,000원
지난달보다 +1,250,000원
최근 보낸 사람
- 엄마
- 민준
- 서연
- 하늘
송금이 성공적으로 완료되었습니다!
소중한 마음까지 빠르게 전달되었어요
HW-8 · HW-13모아 주요 지표
이미 많은 사람들이 모아와 함께하고 있어요.
320만 명+
함께하는 사용자
12조 원+
누적 송금액
4.9
앱 평점
2026년 9월 기준
송금하시겠습니까?
HW-115만원이 즉시 이체되어집니다.
HW-2 · HW-8 · HW-11오류가 발생했습니다. 잠시 후 다시 시도해주세요.
HW-4금일 이체 한도는 500만원입니다.
HW-2 · HW-7 · HW-11반가워요, 지우님
HW-12 · HW-13내 총 자산
HW-824,680,000원
지난달보다 +1,250,000원
최근 보낸 사람
- 엄마
- 민준
- 서연
- 하늘
엄마에게 5만 원을 보냈어요
방금 · 수수료 0원
HW-8 · HW-13모아 주요 지표
이미 많은 사람들이 모아와 함께하고 있어요.
320만 명+
함께하는 사용자
12조 원+
누적 송금액
4.9
앱 평점
2026년 9월 기준
엄마에게 5만 원을 보낼까요?
HW-11보내면 바로 엄마 계좌로 들어가요.
HW-2 · HW-8 · HW-11인터넷 연결이 끊겼어요. 연결을 확인하고 다시 보내 주세요.
HW-4오늘 보낼 수 있는 금액은 500만 원이에요.
HW-2 · HW-7 · HW-11HW-8
What the user did
Not “The transfer was successfully completed!” but “You sent ₩50,000 to Mom” (엄마에게 5만 원을 보냈어요).
HW-12 · HW-13
No hype, no exclamation marks
Say what the user gets instead of warning them they’ll miss out.
HW-5
Buttons say what happens
Not 확인 · 취소 (OK · Cancel) but 보내기 · 닫기 (Send · Close).
HW-4
What happened, what to do
Not “An error occurred” but why the connection dropped and what to try.
HW-2 · HW-7
Spacing and plain words
500만원 becomes 500만 원; 금일 (this day) becomes 오늘 (today).
HW-11
One speech level
A screen that mixes 합쇼체 and 해요체 settles on 해요체.
The 28 rules in /hangul
The typography rules come from W3C specs, the public KRDS, SEED and TDS docs, and measurements of 67 Korean services; the writing rules from Korean orthography and 국립국어원, the public KRDS, Apps in Toss and SEED docs, and Korean studies. When your DESIGN.md sets a type value or a voice, that wins.
Typography
- HG-1A Korean font first in the stack
- HG-2Declare the language: <html lang="ko">
- HG-3Body text at 16px, nothing below 11px
- HG-4Body line height 1.5
- HG-5Headings and UI at 1.3–1.45
- HG-6Letter-spacing 0 on Hangul body text
- HG-7Heading tracking no tighter than −0.03em
- HG-8No break-all on Korean text
- HG-9overflow-wrap: anywhere for long URLs and IDs
- HG-10keep-all decided per component
- HG-11No italics on Hangul
- HG-12Only the weights the font ships
- HG-13Numbers as 1,000원, one style per screen
- HG-14Truncate with CSS, never inside an ellipsis
Writing
- HW-1Spelling: 돼요, 됐어요, 할게요, 며칠
- HW-2Spacing: 할 수 있어요, 할 때, 준비 중이에요
- HW-3Punctuation: 2026. 10. 24., 10:20, no period on buttons
- HW-4Errors say what happened and what to do now
- HW-5Buttons say what happens: 송금하기, 닫기
- HW-6One message per sentence
- HW-7Plain words: 오늘, not 금일
- HW-8What the user did, not the data state
- HW-9Say what’s possible when the content is the same
- HW-10Honor people, never things: 커피가 나왔어요
- HW-11One speech level per screen, as the brand sets it
- HW-12No pressure, no guilt
- HW-13Exclamation marks rarely, none in errors
- HW-14Alt text without 이미지 or 사진
Install it, then ask as usual
npx oh-my-design-cli@latestTo install only the hangul skill:npx skills add kwakseongjae/oh-my-design --skill hangul
Say things like “the Korean line breaks look off”, “fix the Korean error messages” or “build a Korean landing page.” On new screens it applies the rules; on existing code it audits and lists what to change in a table, and asks before it rewrites copy someone already wrote.
The moa screens on this page are examples made to show the rules.