Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions demo-pricing/public/.well-known/styleseed/context-catalog.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"schemaVersion": 4,
"engineVersion": "4.1.0",
"engineRevision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"engineRevision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"distributions": {
"core": {
"revision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"revision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"files": [
{
"path": "LICENSE",
Expand Down Expand Up @@ -368,8 +368,8 @@
},
{
"path": "engine/UX-WRITING.md",
"sha256": "8762afc773f31bfef606e2ddf7dcf5c68a648cfb087822f80b54bddfd063090c",
"bytes": 9830
"sha256": "430954276b5f1515e742b22df6dc91daacb095753a0da6904e91f47f4b409b98",
"bytes": 12263
},
{
"path": "engine/VERSION",
Expand Down Expand Up @@ -1032,8 +1032,8 @@
},
{
"path": "UX-WRITING.md",
"sha256": "8762afc773f31bfef606e2ddf7dcf5c68a648cfb087822f80b54bddfd063090c",
"bytes": 9830
"sha256": "430954276b5f1515e742b22df6dc91daacb095753a0da6904e91f47f4b409b98",
"bytes": 12263
},
{
"path": "VERSION",
Expand Down
2 changes: 1 addition & 1 deletion demo-pricing/public/.well-known/styleseed/registry.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
},
"context": {
"engineVersion": "4.1.0",
"engineRevision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"engineRevision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"resolverSkill": "https://raw.githubusercontent.com/bitjaru/styleseed/main/engine/.claude/skills/ss-resolve/SKILL.md",
"catalogUrl": "https://styleseed-demo.vercel.app/.well-known/styleseed/context-catalog.json",
"grammarIds": [
Expand Down
37 changes: 37 additions & 0 deletions demo-pricing/public/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5659,6 +5659,38 @@ above; for Korean UI, run them as the checklist:

---

## §W9 — Korean mixed-script examples

Use these when Hangul, Latin product or plan names, numerals, money, percentages, and units share
one UI string. They apply to product UI, pricing, status, and CTA copy where the user needs to scan
the value quickly. Counterexample: legal, billing, medical, or government copy may need the official
term, full product name, or policy wording even when a shorter UI phrase would scan better.

**Hangul + Latin product name**
- **Do:** `Pro 플랜으로 업그레이드하기`
- **Don't:** `프로 요금제 업그레이드 신청 제출`
- **Why:** Keep the actual product or plan name if the user saw it that way elsewhere; translate the
surrounding action into natural Korean and make the CTA name the outcome. Toss's public writing
guide favors active, product-native 해요체 copy and action-specific buttons; that is useful evidence,
not a universal demand to copy Toss wording.

**Money or percentage + tabular numerals**
- **Do:** `이번 달 12,400원 절약했어요` / `전월보다 8% 낮아요`
- **Don't:** `이번 달에 절약한 금액은 십이만사천원입니다` / `전월 대비 8 퍼센트만큼 감소`
- **Why:** Arabic numerals make changing values easier to compare and should render with tabular
numerals in UI. In Korean, currency symbols and common unit signs can sit tight with Arabic
numerals in compact UI (`12,400원`, `8%`), while the sentence explains the meaning in plain Korean.

**Number + unit in CTA or status**
- **Do:** `3분 안에 끝내기` / `남은 공간 2GB`
- **Don't:** `삼 분 이내 절차 진행` / `잔여 저장 공간: 2 기가바이트`
- **Why:** Put the decision-making number where scanning starts, keep the unit users expect in the
product context, and avoid nominalized admin language. Use Korean units when they are the user's
mental model (`3분`); keep established technical units in Latin when that is how the product,
OS, or device labels them (`2GB`).

---

## Sources

**General UX writing:** Nielsen Norman Group (error messages, empty states, microcopy) ·
Expand All @@ -5670,3 +5702,8 @@ Material Design & Apple HIG (writing) · Mailchimp Content Style Guide · Shopif
[Toss Tech — "토스 피플 #2: UX 라이팅의 새로운 기준"](https://toss.tech/article/toss-people-2) ·
[Toss Feed — UX Writing 인터뷰](https://toss.im/tossfeed/article/uxwriter-interview) (잡초 뽑기, TDS 버튼 규칙).
StyleSeed restates Toss's published *principles*, not its proprietary copy.

**§W9 mixed Korean UI strings:** [Toss App-in-Toss UX Writing](https://developers-apps-in-toss.toss.im/design/ux-writing.html)
(해요체, active phrasing, positive/plain wording, and exceptions) ·
[국립국어원 온라인가나다 — 한글맞춤법 제43항 질문](https://www.korean.go.kr/front/onlineQna/onlineQnaView.do?mn_id=27&pageIndex=1&qna_seq=326727)
(unit nouns may attach to Arabic numerals under Hangul orthography rule 43).
2 changes: 1 addition & 1 deletion demo-pricing/public/version.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"publicInstall": "npx skills add bitjaru/styleseed",
"codexPackageStatus": "repository development Codex package",
"version": "4.1.0",
"revision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"revision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"revisionFiles": 80,
"skillsRevision": "sha256:4eab915c29fa928487d3f93bfcf7802fb887ab9f68202139cde7444db72578a1",
"skillsRevisionFiles": 51,
Expand Down
12 changes: 6 additions & 6 deletions engine/.claude/skills/ss-resolve/references/catalog.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"schemaVersion": 4,
"engineVersion": "4.1.0",
"engineRevision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"engineRevision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"distributions": {
"core": {
"revision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"revision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"files": [
{
"path": "LICENSE",
Expand Down Expand Up @@ -368,8 +368,8 @@
},
{
"path": "engine/UX-WRITING.md",
"sha256": "8762afc773f31bfef606e2ddf7dcf5c68a648cfb087822f80b54bddfd063090c",
"bytes": 9830
"sha256": "430954276b5f1515e742b22df6dc91daacb095753a0da6904e91f47f4b409b98",
"bytes": 12263
},
{
"path": "engine/VERSION",
Expand Down Expand Up @@ -1032,8 +1032,8 @@
},
{
"path": "UX-WRITING.md",
"sha256": "8762afc773f31bfef606e2ddf7dcf5c68a648cfb087822f80b54bddfd063090c",
"bytes": 9830
"sha256": "430954276b5f1515e742b22df6dc91daacb095753a0da6904e91f47f4b409b98",
"bytes": 12263
},
{
"path": "VERSION",
Expand Down
37 changes: 37 additions & 0 deletions engine/UX-WRITING.md
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,38 @@ above; for Korean UI, run them as the checklist:

---

## §W9 — Korean mixed-script examples

Use these when Hangul, Latin product or plan names, numerals, money, percentages, and units share
one UI string. They apply to product UI, pricing, status, and CTA copy where the user needs to scan
the value quickly. Counterexample: legal, billing, medical, or government copy may need the official
term, full product name, or policy wording even when a shorter UI phrase would scan better.

**Hangul + Latin product name**
- **Do:** `Pro 플랜으로 업그레이드하기`
- **Don't:** `프로 요금제 업그레이드 신청 제출`
- **Why:** Keep the actual product or plan name if the user saw it that way elsewhere; translate the
surrounding action into natural Korean and make the CTA name the outcome. Toss's public writing
guide favors active, product-native 해요체 copy and action-specific buttons; that is useful evidence,
not a universal demand to copy Toss wording.

**Money or percentage + tabular numerals**
- **Do:** `이번 달 12,400원 절약했어요` / `전월보다 8% 낮아요`
- **Don't:** `이번 달에 절약한 금액은 십이만사천원입니다` / `전월 대비 8 퍼센트만큼 감소`
- **Why:** Arabic numerals make changing values easier to compare and should render with tabular
numerals in UI. In Korean, currency symbols and common unit signs can sit tight with Arabic
numerals in compact UI (`12,400원`, `8%`), while the sentence explains the meaning in plain Korean.

**Number + unit in CTA or status**
- **Do:** `3분 안에 끝내기` / `남은 공간 2GB`
- **Don't:** `삼 분 이내 절차 진행` / `잔여 저장 공간: 2 기가바이트`
- **Why:** Put the decision-making number where scanning starts, keep the unit users expect in the
product context, and avoid nominalized admin language. Use Korean units when they are the user's
mental model (`3분`); keep established technical units in Latin when that is how the product,
OS, or device labels them (`2GB`).

---

## Sources

**General UX writing:** Nielsen Norman Group (error messages, empty states, microcopy) ·
Expand All @@ -186,3 +218,8 @@ Material Design & Apple HIG (writing) · Mailchimp Content Style Guide · Shopif
[Toss Tech — "토스 피플 #2: UX 라이팅의 새로운 기준"](https://toss.tech/article/toss-people-2) ·
[Toss Feed — UX Writing 인터뷰](https://toss.im/tossfeed/article/uxwriter-interview) (잡초 뽑기, TDS 버튼 규칙).
StyleSeed restates Toss's published *principles*, not its proprietary copy.

**§W9 mixed Korean UI strings:** [Toss App-in-Toss UX Writing](https://developers-apps-in-toss.toss.im/design/ux-writing.html)
(해요체, active phrasing, positive/plain wording, and exceptions) ·
[국립국어원 온라인가나다 — 한글맞춤법 제43항 질문](https://www.korean.go.kr/front/onlineQna/onlineQnaView.do?mn_id=27&pageIndex=1&qna_seq=326727)
(unit nouns may attach to Arabic numerals under Hangul orthography rule 43).
12 changes: 6 additions & 6 deletions skills/ss-resolve/references/catalog.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"schemaVersion": 4,
"engineVersion": "4.1.0",
"engineRevision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"engineRevision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"distributions": {
"core": {
"revision": "sha256:f563a15b158ecef506f213c45ef54a71b34b4b1410c92529673b97ab34840772",
"revision": "sha256:20d50dd072e087f055807ce66845e47c7895d5b5a38188cdcc2b980820a99a91",
"files": [
{
"path": "LICENSE",
Expand Down Expand Up @@ -368,8 +368,8 @@
},
{
"path": "engine/UX-WRITING.md",
"sha256": "8762afc773f31bfef606e2ddf7dcf5c68a648cfb087822f80b54bddfd063090c",
"bytes": 9830
"sha256": "430954276b5f1515e742b22df6dc91daacb095753a0da6904e91f47f4b409b98",
"bytes": 12263
},
{
"path": "engine/VERSION",
Expand Down Expand Up @@ -1032,8 +1032,8 @@
},
{
"path": "UX-WRITING.md",
"sha256": "8762afc773f31bfef606e2ddf7dcf5c68a648cfb087822f80b54bddfd063090c",
"bytes": 9830
"sha256": "430954276b5f1515e742b22df6dc91daacb095753a0da6904e91f47f4b409b98",
"bytes": 12263
},
{
"path": "VERSION",
Expand Down