oh-my-design-cli 1.8.6 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/.claude/hooks/lib/preferences-parser.cjs +1 -0
  2. package/.claude/hooks/lib/preferences-writer.cjs +1 -0
  3. package/.claude/hooks/post-edit-watch.cjs +1 -0
  4. package/.claude/hooks/session-end-foldin.cjs +1 -0
  5. package/.claude/hooks/session-state-loader.cjs +1 -0
  6. package/.claude/hooks/skill-activation.cjs +1 -0
  7. package/.claude/settings.json +10 -1
  8. package/.github/assets/logo-bg.png +0 -0
  9. package/AGENTS.md +20 -1
  10. package/CHANGELOG.md +482 -0
  11. package/MIGRATION.md +103 -0
  12. package/README.ja.md +56 -19
  13. package/README.ko.md +47 -30
  14. package/README.md +48 -30
  15. package/README.zh-TW.md +59 -22
  16. package/agents/AGENT.md +8 -7
  17. package/agents/omd-codex-image.md +1 -1
  18. package/agents/omd-critic.md +6 -7
  19. package/agents/omd-designer-review.md +1 -1
  20. package/agents/omd-final-qa.md +1 -1
  21. package/agents/omd-humanizer.md +38 -0
  22. package/agents/omd-kr-writer.md +3 -4
  23. package/agents/omd-locale-adapter.md +12 -16
  24. package/agents/omd-master.md +24 -19
  25. package/agents/omd-microcopy.md +1 -1
  26. package/agents/omd-orchestrator.md +7 -8
  27. package/agents/omd-slop-auditor.md +31 -0
  28. package/agents/omd-ux-researcher.md +1 -1
  29. package/data/reference-fingerprints.json +2761 -85
  30. package/dist/bin/oh-my-design.js +16 -8
  31. package/dist/bin/oh-my-design.js.map +1 -1
  32. package/dist/chunk-UJIHCEYF.js +99 -0
  33. package/dist/chunk-UJIHCEYF.js.map +1 -0
  34. package/dist/doctor-LDWSFM3I.js +763 -0
  35. package/dist/doctor-LDWSFM3I.js.map +1 -0
  36. package/dist/install-skills-ZZFNJ2II.js +1120 -0
  37. package/dist/install-skills-ZZFNJ2II.js.map +1 -0
  38. package/docs/CLI_QUICKSTART.md +157 -0
  39. package/package.json +25 -4
  40. package/scripts/postinstall.cjs +5 -4
  41. package/skills/claude-design/SKILL.md +38 -14
  42. package/skills/claude-design/references/claude-design-flow.md +11 -11
  43. package/skills/claude-design/references/codebase-analysis.md +5 -4
  44. package/skills/omd-final-qa/SKILL.md +1 -1
  45. package/skills/omd-harness/SKILL.md +51 -50
  46. package/skills/omd-humanize/SKILL.md +116 -0
  47. package/skills/omd-humanize/agents/openai.yaml +4 -0
  48. package/skills/omd-humanize/references/locale-playbooks.md +102 -0
  49. package/skills/omd-humanize/references/sources.md +11 -0
  50. package/skills/omd-init/SKILL.md +18 -12
  51. package/skills/omd-locale-adapter/SKILL.md +58 -91
  52. package/skills/omd-orchestrator/SKILL.md +11 -5
  53. package/skills/omd-reference-capture/SKILL.md +80 -26
  54. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-LICENSE.txt +202 -0
  55. package/skills/omd-reference-capture/scripts/PLAYWRIGHT-NOTICE.txt +5 -0
  56. package/skills/omd-reference-capture/scripts/THIRD_PARTY_NOTICES.md +3 -0
  57. package/skills/omd-reference-capture/scripts/capture-reference-evidence.mjs +159906 -0
  58. package/skills/omd-slop-audit/SKILL.md +110 -0
  59. package/skills/omd-slop-audit/agents/openai.yaml +4 -0
  60. package/skills/omd-slop-audit/references/pattern-catalog.md +96 -0
  61. package/skills/omd-slop-audit/references/sources.md +24 -0
  62. package/web/references/104/DESIGN.md +354 -0
  63. package/web/references/11st/DESIGN.md +197 -316
  64. package/web/references/29cm/DESIGN.md +297 -393
  65. package/web/references/42dot/DESIGN.md +390 -0
  66. package/web/references/8percent/DESIGN.md +438 -0
  67. package/web/references/ably/DESIGN.md +267 -572
  68. package/web/references/acer/DESIGN.md +329 -0
  69. package/web/references/airbnb/DESIGN.md +219 -557
  70. package/web/references/airbridge/DESIGN.md +451 -0
  71. package/web/references/alipay/DESIGN.md +179 -420
  72. package/web/references/apple/DESIGN.md +224 -498
  73. package/web/references/asleep/DESIGN.md +402 -0
  74. package/web/references/au/DESIGN.md +334 -0
  75. package/web/references/autopedia/DESIGN.md +382 -0
  76. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  77. package/web/references/baemin/DESIGN.md +332 -491
  78. package/web/references/banksalad/DESIGN.md +269 -180
  79. package/web/references/barogo/DESIGN.md +416 -0
  80. package/web/references/beusable/DESIGN.md +464 -0
  81. package/web/references/bigin/DESIGN.md +454 -0
  82. package/web/references/bilibili/DESIGN.md +206 -374
  83. package/web/references/bmw/DESIGN.md +162 -276
  84. package/web/references/brandi/DESIGN.md +184 -325
  85. package/web/references/buzzvil/DESIGN.md +457 -0
  86. package/web/references/cafe24/DESIGN.md +472 -0
  87. package/web/references/catchtable/DESIGN.md +219 -264
  88. package/web/references/cgv/DESIGN.md +317 -0
  89. package/web/references/channeltalk/DESIGN.md +210 -336
  90. package/web/references/china-airlines/DESIGN.md +291 -0
  91. package/web/references/cjonstyle/DESIGN.md +453 -0
  92. package/web/references/class101/DESIGN.md +168 -387
  93. package/web/references/classum/DESIGN.md +228 -203
  94. package/web/references/claude/DESIGN.md +242 -479
  95. package/web/references/clay/DESIGN.md +179 -377
  96. package/web/references/clickhouse/DESIGN.md +254 -343
  97. package/web/references/codeit/DESIGN.md +470 -0
  98. package/web/references/cohere/DESIGN.md +214 -324
  99. package/web/references/coinone/DESIGN.md +199 -179
  100. package/web/references/corca/DESIGN.md +414 -0
  101. package/web/references/coupang/DESIGN.md +205 -475
  102. package/web/references/cursor/DESIGN.md +240 -381
  103. package/web/references/dabang/DESIGN.md +248 -213
  104. package/web/references/dable/DESIGN.md +431 -0
  105. package/web/references/datarize/DESIGN.md +338 -0
  106. package/web/references/dealicious/DESIGN.md +402 -0
  107. package/web/references/drdiary/DESIGN.md +404 -0
  108. package/web/references/elastic/DESIGN.md +238 -0
  109. package/web/references/elevenlabs/DESIGN.md +183 -321
  110. package/web/references/elice/DESIGN.md +445 -0
  111. package/web/references/eslite/DESIGN.md +257 -0
  112. package/web/references/evaair/DESIGN.md +338 -0
  113. package/web/references/expo/DESIGN.md +238 -331
  114. package/web/references/familymart-tw/DESIGN.md +254 -0
  115. package/web/references/ferrari/DESIGN.md +160 -377
  116. package/web/references/figma/DESIGN.md +197 -451
  117. package/web/references/fitpet/DESIGN.md +445 -0
  118. package/web/references/flex/DESIGN.md +170 -253
  119. package/web/references/framer/DESIGN.md +197 -340
  120. package/web/references/freee/DESIGN.md +211 -533
  121. package/web/references/friendliai/DESIGN.md +431 -0
  122. package/web/references/frip/DESIGN.md +440 -0
  123. package/web/references/furiosaai/DESIGN.md +450 -0
  124. package/web/references/gangnamunni/DESIGN.md +154 -591
  125. package/web/references/gaudiolab/DESIGN.md +414 -0
  126. package/web/references/google/DESIGN.md +290 -398
  127. package/web/references/goorm/DESIGN.md +470 -0
  128. package/web/references/greencar/DESIGN.md +420 -0
  129. package/web/references/hackle/DESIGN.md +472 -0
  130. package/web/references/hashicorp/DESIGN.md +273 -318
  131. package/web/references/heydealer/DESIGN.md +429 -0
  132. package/web/references/humanscape/DESIGN.md +433 -0
  133. package/web/references/hwahae/DESIGN.md +453 -0
  134. package/web/references/hyundai/DESIGN.md +158 -368
  135. package/web/references/hyundaicard/DESIGN.md +171 -121
  136. package/web/references/ibm/DESIGN.md +227 -378
  137. package/web/references/idus/DESIGN.md +450 -0
  138. package/web/references/igaworks/DESIGN.md +437 -0
  139. package/web/references/inflearn/DESIGN.md +221 -366
  140. package/web/references/intuit/DESIGN.md +244 -0
  141. package/web/references/jandi/DESIGN.md +191 -291
  142. package/web/references/jobplanet/DESIGN.md +415 -0
  143. package/web/references/kakao/DESIGN.md +287 -475
  144. package/web/references/kakaobank/DESIGN.md +220 -521
  145. package/web/references/kakaogames/DESIGN.md +220 -0
  146. package/web/references/kakaopay/DESIGN.md +207 -526
  147. package/web/references/karrot/DESIGN.md +227 -251
  148. package/web/references/kb-kookmin/DESIGN.md +308 -0
  149. package/web/references/kbank/DESIGN.md +220 -175
  150. package/web/references/kcd/DESIGN.md +432 -0
  151. package/web/references/kmong/DESIGN.md +281 -356
  152. package/web/references/krds/DESIGN.md +245 -19
  153. package/web/references/kream/DESIGN.md +224 -359
  154. package/web/references/kurly/DESIGN.md +211 -533
  155. package/web/references/kyobobook/DESIGN.md +445 -0
  156. package/web/references/lablup/DESIGN.md +474 -0
  157. package/web/references/lamborghini/DESIGN.md +198 -360
  158. package/web/references/lemonbase/DESIGN.md +452 -0
  159. package/web/references/lguplus/DESIGN.md +259 -0
  160. package/web/references/likelion/DESIGN.md +283 -0
  161. package/web/references/line/DESIGN.md +396 -355
  162. package/web/references/linear.app/DESIGN.md +209 -562
  163. package/web/references/lotteon/DESIGN.md +386 -0
  164. package/web/references/lovable/DESIGN.md +255 -349
  165. package/web/references/makinarocks/DESIGN.md +242 -0
  166. package/web/references/maum-ai/DESIGN.md +423 -0
  167. package/web/references/medibloc/DESIGN.md +425 -0
  168. package/web/references/megabox/DESIGN.md +232 -0
  169. package/web/references/mercari/DESIGN.md +217 -434
  170. package/web/references/microsoft/DESIGN.md +234 -388
  171. package/web/references/mildang/DESIGN.md +411 -0
  172. package/web/references/millie/DESIGN.md +183 -504
  173. package/web/references/minimax/DESIGN.md +264 -322
  174. package/web/references/miricanvas/DESIGN.md +182 -355
  175. package/web/references/miro/DESIGN.md +234 -232
  176. package/web/references/mistral.ai/DESIGN.md +231 -314
  177. package/web/references/mixi/DESIGN.md +234 -0
  178. package/web/references/moin/DESIGN.md +445 -0
  179. package/web/references/mongodb/DESIGN.md +219 -316
  180. package/web/references/moreh/DESIGN.md +437 -0
  181. package/web/references/musinsa/DESIGN.md +184 -510
  182. package/web/references/mynavi/DESIGN.md +242 -0
  183. package/web/references/myrealtrip/DESIGN.md +169 -406
  184. package/web/references/naver/DESIGN.md +328 -499
  185. package/web/references/naverwebtoon/DESIGN.md +172 -395
  186. package/web/references/neosapience/DESIGN.md +441 -0
  187. package/web/references/nhn/DESIGN.md +169 -346
  188. package/web/references/nhncloud/DESIGN.md +185 -123
  189. package/web/references/nota/DESIGN.md +451 -0
  190. package/web/references/notion/DESIGN.md +271 -475
  191. package/web/references/nrise/DESIGN.md +417 -0
  192. package/web/references/ohouse/DESIGN.md +210 -549
  193. package/web/references/oliveyoung/DESIGN.md +217 -326
  194. package/web/references/ollama/DESIGN.md +241 -308
  195. package/web/references/onestore/DESIGN.md +248 -0
  196. package/web/references/palantir/DESIGN.md +256 -0
  197. package/web/references/panasonic/DESIGN.md +276 -0
  198. package/web/references/patternfly/DESIGN.md +259 -0
  199. package/web/references/payhere/DESIGN.md +438 -0
  200. package/web/references/pega/DESIGN.md +262 -0
  201. package/web/references/peoplefund/DESIGN.md +431 -0
  202. package/web/references/petfriends/DESIGN.md +428 -0
  203. package/web/references/pinkfong/DESIGN.md +199 -367
  204. package/web/references/pinterest/DESIGN.md +258 -308
  205. package/web/references/portone/DESIGN.md +446 -0
  206. package/web/references/poya/DESIGN.md +286 -0
  207. package/web/references/pozalabs/DESIGN.md +438 -0
  208. package/web/references/protopie/DESIGN.md +419 -0
  209. package/web/references/qraft/DESIGN.md +448 -0
  210. package/web/references/queenit/DESIGN.md +432 -0
  211. package/web/references/quotabook/DESIGN.md +449 -0
  212. package/web/references/rebellions/DESIGN.md +449 -0
  213. package/web/references/recruit/DESIGN.md +247 -0
  214. package/web/references/remember/DESIGN.md +202 -396
  215. package/web/references/resend/DESIGN.md +274 -348
  216. package/web/references/returnzero/DESIGN.md +460 -0
  217. package/web/references/sakura-internet/DESIGN.md +269 -0
  218. package/web/references/samsung/DESIGN.md +157 -359
  219. package/web/references/sandoll/DESIGN.md +445 -0
  220. package/web/references/sanity/DESIGN.md +241 -375
  221. package/web/references/saramin/DESIGN.md +465 -0
  222. package/web/references/scatterlab/DESIGN.md +412 -0
  223. package/web/references/selectstar/DESIGN.md +439 -0
  224. package/web/references/servicenow/DESIGN.md +289 -0
  225. package/web/references/shiftee/DESIGN.md +468 -0
  226. package/web/references/shinhanbank/DESIGN.md +161 -341
  227. package/web/references/shinhancard/DESIGN.md +208 -319
  228. package/web/references/sionic/DESIGN.md +454 -0
  229. package/web/references/sktelecom/DESIGN.md +310 -0
  230. package/web/references/socar/DESIGN.md +125 -32
  231. package/web/references/softbank/DESIGN.md +231 -0
  232. package/web/references/solapi/DESIGN.md +483 -0
  233. package/web/references/sony/DESIGN.md +234 -0
  234. package/web/references/soop/DESIGN.md +261 -0
  235. package/web/references/spacex/DESIGN.md +184 -323
  236. package/web/references/spotify/DESIGN.md +253 -394
  237. package/web/references/squeezebits/DESIGN.md +441 -0
  238. package/web/references/stayfolio/DESIGN.md +422 -0
  239. package/web/references/stripe/DESIGN.md +212 -491
  240. package/web/references/supabase/DESIGN.md +244 -316
  241. package/web/references/supertone/DESIGN.md +413 -0
  242. package/web/references/tabling/DESIGN.md +415 -0
  243. package/web/references/taishinbank/DESIGN.md +243 -0
  244. package/web/references/teamlab/DESIGN.md +240 -0
  245. package/web/references/teamsparta/DESIGN.md +472 -0
  246. package/web/references/tellingme/DESIGN.md +392 -0
  247. package/web/references/tesla/DESIGN.md +244 -427
  248. package/web/references/thsr/DESIGN.md +284 -0
  249. package/web/references/thumbtack/DESIGN.md +302 -0
  250. package/web/references/together.ai/DESIGN.md +257 -304
  251. package/web/references/toss/DESIGN.md +251 -593
  252. package/web/references/toss-securities/DESIGN.md +255 -178
  253. package/web/references/tossbank/DESIGN.md +195 -491
  254. package/web/references/toyota/DESIGN.md +238 -0
  255. package/web/references/tving/DESIGN.md +197 -245
  256. package/web/references/typed/DESIGN.md +413 -0
  257. package/web/references/uber/DESIGN.md +256 -333
  258. package/web/references/udn/DESIGN.md +250 -0
  259. package/web/references/upbit/DESIGN.md +145 -256
  260. package/web/references/upstage/DESIGN.md +211 -204
  261. package/web/references/uswds/DESIGN.md +287 -0
  262. package/web/references/vercel/DESIGN.md +236 -440
  263. package/web/references/vuno/DESIGN.md +413 -0
  264. package/web/references/wanted/DESIGN.md +215 -487
  265. package/web/references/weverse/DESIGN.md +437 -0
  266. package/web/references/wise/DESIGN.md +223 -231
  267. package/web/references/wisetracker/DESIGN.md +462 -0
  268. package/web/references/wooribank/DESIGN.md +245 -0
  269. package/web/references/yanolja/DESIGN.md +250 -419
  270. package/web/references/yeogiotte/DESIGN.md +235 -418
  271. package/web/references/zapier/DESIGN.md +256 -377
  272. package/web/references/zendesk/DESIGN.md +288 -0
  273. package/web/references/zigzag/DESIGN.md +200 -621
  274. package/dist/install-skills-7UUDOLG2.js +0 -734
  275. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -8,420 +8,345 @@ primary_color: "#92fa72"
8
8
  logo:
9
9
  type: favicon
10
10
  slug: "https://www.google.com/s2/favicons?domain=kmong.com&sz=128"
11
- verified: "2026-06-09"
11
+ verified: "2026-07-13"
12
12
  added: "2026-06-09"
13
13
  omd: "0.1"
14
+ verification_v2:
15
+ schema: 2
16
+ checked: "2026-07-13"
17
+ surfaces:
18
+ - { id: marketplace-home, kind: public-marketplace, url: "https://kmong.com/", inspected: "2026-07-13" }
19
+ - { id: marketplace-category, kind: public-marketplace, url: "https://kmong.com/category/1", inspected: "2026-07-13" }
20
+ sources:
21
+ - { id: home-capture, kind: product-surface, url: "https://kmong.com/", captured: "2026-07-13" }
22
+ - { id: category-capture, kind: product-surface, url: "https://kmong.com/category/1", captured: "2026-07-13" }
23
+ - { id: company-context, kind: official-doc, url: "https://company.kmong.com/", captured: "2026-07-13" }
24
+ - { id: font-design, kind: official-doc, url: "https://github.com/orioncactus/pretendard/blob/main/packages/pretendard/docs/en/README.md", captured: "2026-07-13" }
25
+ - { id: font-license, kind: license, url: "https://github.com/orioncactus/pretendard/blob/main/LICENSE", captured: "2026-07-13" }
26
+ conflicts: []
27
+ claims:
28
+ "tokens.colors.canvas": &home { surface_id: marketplace-home, source_id: home-capture, method: computed-style, captured: "2026-07-13" }
29
+ "tokens.colors.ink": *home
30
+ "tokens.colors.heading": *home
31
+ "tokens.colors.muted": *home
32
+ "tokens.colors.hairline": *home
33
+ "tokens.colors.control-border": *home
34
+ "tokens.colors.primary": *home
35
+ "tokens.colors.on-primary": *home
36
+ "tokens.colors.header-action": *home
37
+ "tokens.colors.on-header-action": *home
38
+ "tokens.colors.category-surface": &category { surface_id: marketplace-category, source_id: category-capture, method: computed-style, captured: "2026-07-13" }
39
+ "tokens.colors.category-border": *category
40
+ "tokens.typography.family.ui": *home
41
+ "tokens.typography.marketplace-body.size": *home
42
+ "tokens.typography.marketplace-body.weight": *home
43
+ "tokens.typography.marketplace-body.lineHeight": *home
44
+ "tokens.typography.marketplace-body.use": *home
45
+ "tokens.typography.header-action.size": *home
46
+ "tokens.typography.header-action.weight": *home
47
+ "tokens.typography.header-action.lineHeight": *home
48
+ "tokens.typography.header-action.use": *home
49
+ "tokens.typography.hero.size": *home
50
+ "tokens.typography.hero.weight": *home
51
+ "tokens.typography.hero.lineHeight": *home
52
+ "tokens.typography.hero.use": *home
53
+ "tokens.typography.search.size": *home
54
+ "tokens.typography.search.weight": *home
55
+ "tokens.typography.search.lineHeight": *home
56
+ "tokens.typography.search.use": *home
57
+ "tokens.typography.category-heading.size": *category
58
+ "tokens.typography.category-heading.weight": *category
59
+ "tokens.typography.category-heading.lineHeight": *category
60
+ "tokens.typography.category-heading.use": *category
61
+ "tokens.spacing.xxs": *home
62
+ "tokens.spacing.sm": *home
63
+ "tokens.spacing.md": *home
64
+ "tokens.spacing.base": *home
65
+ "tokens.spacing.lg": *home
66
+ "tokens.spacing.xl": *home
67
+ "tokens.spacing.xxl": *category
68
+ "tokens.rounded.square": *home
69
+ "tokens.rounded.primary-cta": *home
70
+ "tokens.rounded.control": *home
71
+ "tokens.rounded.category-panel": *category
72
+ "tokens.rounded.home-search": *home
73
+ "tokens.rounded.category-search": *category
74
+ "tokens.shadow.home-search": *home
75
+ "tokens.shadow.category-search": *category
76
+ "tokens.components.home-primary-cta.type": *home
77
+ "tokens.components.home-primary-cta.bg": *home
78
+ "tokens.components.home-primary-cta.fg": *home
79
+ "tokens.components.home-primary-cta.radius": *home
80
+ "tokens.components.home-primary-cta.padding": *home
81
+ "tokens.components.home-primary-cta.height": *home
82
+ "tokens.components.home-primary-cta.font": *home
83
+ "tokens.components.home-primary-cta.states": *home
84
+ "tokens.components.home-primary-cta.use": *home
85
+ "tokens.components.header-action.type": *home
86
+ "tokens.components.header-action.bg": *home
87
+ "tokens.components.header-action.fg": *home
88
+ "tokens.components.header-action.radius": *home
89
+ "tokens.components.header-action.height": *home
90
+ "tokens.components.header-action.font": *home
91
+ "tokens.components.header-action.states": *home
92
+ "tokens.components.header-action.use": *home
93
+ "tokens.components.home-search.type": *home
94
+ "tokens.components.home-search.bg": *home
95
+ "tokens.components.home-search.fg": *home
96
+ "tokens.components.home-search.border": *home
97
+ "tokens.components.home-search.radius": *home
98
+ "tokens.components.home-search.padding": *home
99
+ "tokens.components.home-search.height": *home
100
+ "tokens.components.home-search.font": *home
101
+ "tokens.components.home-search.states": *home
102
+ "tokens.components.home-search.use": *home
103
+ "tokens.components.home-outline-cta.type": *home
104
+ "tokens.components.home-outline-cta.bg": *home
105
+ "tokens.components.home-outline-cta.fg": *home
106
+ "tokens.components.home-outline-cta.border": *home
107
+ "tokens.components.home-outline-cta.radius": *home
108
+ "tokens.components.home-outline-cta.padding": *home
109
+ "tokens.components.home-outline-cta.height": *home
110
+ "tokens.components.home-outline-cta.font": *home
111
+ "tokens.components.home-outline-cta.states": *home
112
+ "tokens.components.home-outline-cta.use": *home
113
+ "tokens.components.category-filter-control.type": *category
114
+ "tokens.components.category-filter-control.bg": *category
115
+ "tokens.components.category-filter-control.fg": *category
116
+ "tokens.components.category-filter-control.border": *category
117
+ "tokens.components.category-filter-control.radius": *category
118
+ "tokens.components.category-filter-control.padding": *category
119
+ "tokens.components.category-filter-control.height": *category
120
+ "tokens.components.category-filter-control.font": *category
121
+ "tokens.components.category-filter-control.states": *category
122
+ "tokens.components.category-filter-control.use": *category
123
+ "tokens.components.category-panel.type": *category
124
+ "tokens.components.category-panel.bg": *category
125
+ "tokens.components.category-panel.radius": *category
126
+ "tokens.components.category-panel.padding": *category
127
+ "tokens.components.category-panel.font": *category
128
+ "tokens.components.category-panel.use": *category
14
129
  tokens:
15
- source: live-extract
16
- extracted: "2026-06-09"
17
- components_harvested: true
130
+ source: reconciled
131
+ extracted: "2026-07-13"
132
+ note: "Only selector-backed values from the supplied public marketplace capture are tokens. Home and category observations remain route-local; no logged-in, checkout, support-doc, or interaction state is inferred."
18
133
  colors:
19
- primary: "#92fa72"
20
- primary-deep: "#5dd877"
21
- primary-tint: "#e1f5dc"
22
- mint: "#27e7b7"
23
134
  canvas: "#ffffff"
24
- heading: "#212224"
25
135
  ink: "#000000"
26
- label: "#303441"
136
+ heading: "#212224"
137
+ muted: "#555969"
27
138
  hairline: "#f2f3f7"
28
- border: "#c8cad2"
29
- border-card: "#e4e5ed"
30
- blue: "#4b94fa"
31
- blue-deep: "#116ad4"
32
- blue-tint: "#ebf4ff"
33
- red: "#ff402b"
139
+ control-border: "#c8cad2"
140
+ primary: "#92fa72"
34
141
  on-primary: "#212224"
142
+ header-action: "#212224"
143
+ on-header-action: "#ffffff"
144
+ category-surface: "#fafafc"
145
+ category-border: "#e4e5ed"
35
146
  typography:
36
- family: { sans: "Pretendard" }
37
- display: { size: 40, weight: 700, lineHeight: 1.30, tracking: 0, use: "Hero headline (40px / 52px)" }
38
- section: { size: 28, weight: 700, lineHeight: 1.36, tracking: 0, use: "Section titles (28px / 38px)" }
39
- subheading: { size: 20, weight: 700, lineHeight: 1.40, tracking: 0, use: "Card heads, search field text" }
40
- body: { size: 16, weight: 400, lineHeight: 1.50, tracking: 0, use: "Standard reading text, nav, links" }
41
- button: { size: 16, weight: 500, lineHeight: 1.00, tracking: 0, use: "Primary button label" }
42
- caption: { size: 11, weight: 700, lineHeight: 1.40, tracking: 0, use: "Badges, ranking labels" }
43
- micro: { size: 10, weight: 700, lineHeight: 1.40, tracking: 0, use: "Pill tags (기업용), metadata" }
44
- spacing: { xs: 4, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 40, section: 76 }
45
- rounded: { sm: 4, md: 11, lg: 27, full: 9999 }
147
+ family: { ui: "Pretendard" }
148
+ marketplace-body: { size: 16, weight: 400, lineHeight: 1.50, use: "Repeated public marketplace body, card, and list sample" }
149
+ header-action: { size: 14, weight: 500, lineHeight: 1.43, use: "Public home/category header action" }
150
+ hero: { size: 40, weight: 700, lineHeight: 1.30, use: "Public home headline" }
151
+ search: { size: 20, weight: 400, lineHeight: 1.40, use: "Public home search input" }
152
+ category-heading: { size: 36, weight: 700, lineHeight: 1.22, use: "Public category-page heading sample" }
153
+ spacing: { xxs: 2, sm: 8, md: 12, base: 16, lg: 20, xl: 24, xxl: 32 }
154
+ rounded: { square: 0, primary-cta: 4, control: 8, category-panel: 12, home-search: 36, category-search: 24 }
46
155
  shadow:
47
- card: "rgba(0,0,0,0.08) 0px 4px 12px 0px"
48
- pop: "rgba(0,0,0,0.1) 0px 0px 20px 0px"
156
+ home-search: "rgba(0,0,0,0.1) 0px 0px 20px 0px"
157
+ category-search: "rgba(0,0,0,0.06) 0px 0px 8px 0px"
49
158
  components:
50
- button-primary: { type: button, bg: "#92fa72", fg: "#212224", radius: "4px", padding: "0px 24px", font: "16px / 500", use: "Primary CTA 크몽 시작하기, dark ink label on signature green" }
51
- button-secondary: { type: button, bg: "#ffffff", fg: "#000000", radius: "4px", padding: "0px 20px", font: "16px / 400", use: "Outlined action, 1px #c8cad2 border category chips" }
52
- button-pill: { type: button, bg: "#ffffff", fg: "#303441", radius: "9999px", padding: "0px", font: "16px / 400", use: "Round icon/control button, translucent white surface" }
53
- input-search: { type: input, bg: "#ffffff", fg: "#212224", radius: "4px", padding: "16px 0px", font: "20px / 400", use: "Hero search 어떤 전문가가 필요하세요?, underline-led, 1px #f2f3f7 hairline" }
54
- card-gig: { type: card, bg: "#ffffff", fg: "#212224", radius: "4px", use: "Service/gig card, 1px #e4e5ed border, shadow rgba(0,0,0,0.08) 0px 4px 12px" }
55
- badge-biz: { type: badge, bg: "#ebf4ff", fg: "#116ad4", radius: "11px", font: "10px / 700", use: "기업용 / Biz pill, blue-tinted" }
56
- badge-best: { type: badge, bg: "#ffffff", fg: "#ff402b", radius: "27px", font: "11px / 700", use: "Best / ranking badge, red accent" }
57
- badge-mint: { type: badge, bg: "#e1f5dc", fg: "#5dd877", radius: "11px", font: "10px / 700", use: "Promo / new tag, green-tint on deep green text" }
58
- nav-bar: { type: tab, bg: "#ffffff", fg: "#212224", font: "16px / 400", use: "Top header 76px, white surface, category nav row", active: "2px bottom border #212224" }
59
- avatar-pro: { type: avatar, bg: "#f2f3f7", radius: "9999px", use: "Expert/seller profile circle, hairline fill" }
159
+ home-primary-cta: { type: button, bg: "#92fa72", fg: "#212224", radius: "4px", padding: "0px 24px", height: "52px", font: "16px / 500 Pretendard", states: "default only; no interaction state captured", use: "Public home CTA, selector home::[data-omd-capture=143]" }
160
+ header-action: { type: button, bg: "#212224", fg: "#ffffff", radius: "8px", height: "36px", font: "14px / 500 Pretendard", states: "default only; no interaction state captured", use: "Public marketplace header action, selector home::[data-omd-capture=6]" }
161
+ home-search: { type: input, bg: "#ffffff", fg: "#212224", border: "1px solid #c8cad2", radius: "36px", padding: "0px 32px", height: "64px", font: "20px / 400 Pretendard", states: "default only; no interaction state captured", use: "Public home search shell/input, selectors home::form and home::[data-omd-capture=7]" }
162
+ home-outline-cta: { type: button, bg: "#ffffff", fg: "#212224", border: "1px solid #c8cad2", radius: "8px", padding: "0px 24px", height: "52px", font: "16px / 500 Pretendard", states: "default only; no interaction state captured", use: "Public home outlined CTA, selector home::[data-omd-capture=145]" }
163
+ category-filter-control: { type: button, bg: "#ffffff", fg: "#212224", border: "1px solid #e4e5ed", radius: "8px", padding: "0px 12px", height: "36px", font: "14px / 400 Pretendard", states: "default only; no interaction state captured", use: "Public category filter control, selector surface-3::[data-omd-capture=93]" }
164
+ category-panel: { type: card, bg: "#fafafc", radius: "12px", padding: "32px 24px", font: "16px / 400 Pretendard", use: "Public category-page panel, selector surface-3::article" }
165
+ components_harvested: true
60
166
  ---
61
167
 
62
- # Design System Inspiration of Kmong
168
+ # Design System Inspiration of Kmong (크몽)
63
169
 
64
170
  ## 1. Visual Theme & Atmosphere
65
171
 
66
- Kmong (크몽) is Korea's largest freelance and skill marketplace, and its homepage reads exactly like what it is: a high-trust, high-volume transaction surface designed to move a buyer from "I have a problem" to "I hired the right expert" with the least possible friction. The canvas is pure white (`#ffffff`) with near-black ink headings (`#212224`), and the entire personality is carried by a single, almost shockingly bright signature green `#92fa72` on the primary CTA and the deeper `#5dd877` saturating cards, tags, and accents across the page. This is not the muted, institutional green of a bank; it is a fresh, energetic, almost neon lime that signals approachability and momentum. The effect is a marketplace that feels optimistic and fast rather than corporate.
67
-
68
- The typography is set entirely in **Pretendard**, the de-facto Korean web sans that renders Hangul and Latin with even rhythm and excellent legibility at small sizes. Headlines run heavy (weight 700) and tight in leading — the hero is 40px on a 52px line — projecting confidence and directness rather than the whisper-weight restraint of Western fintech. Korean copy ("성공이 필요한 순간, 딱 맞는 전문가를 찾아보세요") is large, bold, and conversational. There is no decorative letter-spacing; tracking sits at `normal` throughout, letting Pretendard's native metrics do the work.
172
+ Kmong is a Korean expert-services marketplace: its public home lets people find and commission specialists, while the official company site describes an escrow-protected transaction model and company-oriented services such as corporate-card payment and tax-invoice issuance. The public marketplace surface is deliberately direct: white space, dark `#212224` headings, a large searchable entry point, and a lime `#92FA72` action that stands apart from a compact dark header action. Kmong’s company site also records a 2025 logo-rebrand story, so the current expression should be treated as a living marketplace identity rather than an inherited generic green UI. This reference separates the public marketplace evidence from company/corporate context; neither is treated as a substitute for a signed-in workflow or documentation chrome.
69
173
 
70
- Depth is handled with the lightest possible touch. Cards lift on a soft single-layer shadow (`rgba(0,0,0,0.08) 0px 4px 12px`) and floating popovers use a diffuse `rgba(0,0,0,0.1) 0px 0px 20px`. Corners are conservative — a 4px radius dominates buttons, cards, and inputs — while small status pills go fully rounded (11px–27px) for a friendly, badge-like read. The overall atmosphere is clean, dense, and commerce-first: lots of real content per screen, a vivid green guiding every primary action, and just enough elevation to separate the gig cards from the white field they sit on.
174
+ ## 2. Color & Surface Evidence
71
175
 
72
- **Key Characteristics:**
73
- - Pretendard everywhere the standard Korean web sans, weight 700 for headings, 400 for body
74
- - Signature electric green `#92fa72` on the primary CTA with deeper `#5dd877` as the dominant brand fill
75
- - Dark ink labels (`#212224`) ON the green button rather than white text — the green is bright enough to carry dark type
76
- - Pure white (`#ffffff`) canvas with `#f2f3f7` hairlines for a clean, high-density commerce layout
77
- - Conservative 4px radius on buttons/cards/inputs; fully-rounded pills (11px–27px) on status badges
78
- - Soft single-layer shadows (`rgba(0,0,0,0.08) 0px 4px 12px`) gentle elevation, never heavy
79
- - Blue (`#116ad4` on `#ebf4ff`) for Biz/기업용 trust tags; red (`#ff402b`) for Best/ranking accents
80
- - Bold, conversational Korean headlines at 40px/52px direct and momentum-driven, not understated
81
-
82
- ## 2. Color Palette & Roles
83
-
84
- ### Primary
85
- - **Kmong Green** (`#92fa72`): The primary CTA background ("크몽 시작하기"). A bright, energetic lime-green that anchors every primary action.
86
- - **Brand Green Deep** (`#5dd877`): The dominant brand fill across cards, tags, and decorative accents — the most-used saturated color on the page.
87
- - **Green Tint** (`#e1f5dc`): Soft pale-green surface for promo/new tags and tinted backgrounds.
88
- - **Mint** (`#27e7b7`): Secondary teal-green accent for highlights and decorative gradients.
89
-
90
- ### Neutrals & Text
91
- - **Heading Ink** (`#212224`): Primary heading and label color — a near-black with a hint of warmth. Also the label color on the green CTA.
92
- - **Pure Ink** (`#000000`): Section headings and high-contrast body text.
93
- - **Label Slate** (`#303441`): Secondary control text, muted labels on translucent surfaces.
94
- - **Pure White** (`#ffffff`): Page background, card surfaces, header bar.
95
-
96
- ### Accents
97
- - **Trust Blue** (`#4b94fa`): Informational accent, links, Biz-related highlights.
98
- - **Blue Deep** (`#116ad4`): Biz/기업용 badge text color.
99
- - **Blue Tint** (`#ebf4ff`): Tinted surface for blue Biz badges.
100
- - **Alert Red** (`#ff402b`): Best/ranking badges, urgency and promotional accents.
101
-
102
- ### Surface & Borders
103
- - **Hairline** (`#f2f3f7`): The standard light divider and input underline color.
104
- - **Border** (`#c8cad2`): Outlined secondary button and control borders.
105
- - **Card Border** (`#e4e5ed`): Subtle 1px border on gig/service cards.
176
+ - `#FFFFFF` — observed public home/category canvas, search shell, and outlined controls.
177
+ - `#000000`frequent body and card text in the supplied public capture.
178
+ - `#212224` heading, search-input, and dark header-action colour.
179
+ - `#555969` observed muted public-marketplace text.
180
+ - `#F2F3F7` repeatedly observed hairline/border colour.
181
+ - `#C8CAD2` home search and outlined-CTA border.
182
+ - `#E4E5ED` — category filter-control border.
183
+ - `#92FA72` observed home primary-CTA background; it is not assumed to be every primary action on every route.
184
+ - `#FAFAFC`observed category-page panel surface only.
106
185
 
107
186
  ## 3. Typography Rules
108
187
 
109
- ### Font Family
110
- - **Primary**: `Pretendard`, with system sans fallback (`sans-serif`)
111
- - Pretendard is the de-facto Korean web typeface, chosen for even Hangul/Latin rhythm and strong small-size legibility. No monospace face is used on the marketing surface.
112
-
113
- ### Hierarchy
114
-
115
- | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
116
- |------|------|------|--------|-------------|----------------|-------|
117
- | Hero Display | Pretendard | 40px (2.50rem) | 700 | 52px (1.30) | normal | Main homepage headline |
118
- | Section Heading | Pretendard | 28px (1.75rem) | 700 | 38px (1.36) | normal | Feature/section titles |
119
- | Subheading | Pretendard | 20px (1.25rem) | 700 | 1.40 | normal | Card heads, search field text |
120
- | Body | Pretendard | 16px (1.00rem) | 400 | 1.50 | normal | Standard text, nav, links |
121
- | Button | Pretendard | 16px (1.00rem) | 500 | 1.00 | normal | Primary CTA label |
122
- | Caption | Pretendard | 11px (0.69rem) | 700 | 1.40 | normal | Best/ranking badges |
123
- | Micro | Pretendard | 10px (0.63rem) | 700 | 1.40 | normal | Pill tags (기업용), metadata |
124
-
125
- ### Principles
126
- - **Bold-and-direct**: Headlines at weight 700 with tight leading (40px on 52px). Kmong communicates with confidence and clarity, not whisper-weight restraint.
127
- - **One family, full range**: Pretendard handles everything from 40px hero to 10px micro-tags. Weight is the primary hierarchy lever — 700 for headings/badges, 500 for buttons, 400 for body.
128
- - **No decorative tracking**: Letter-spacing stays at `normal` throughout. Pretendard's native metrics are tuned for Hangul and need no adjustment.
129
- - **Korean-first sizing**: Body and labels are generously sized (16px base, 20px search input) for comfortable Hangul reading and dense commerce scanning.
130
-
131
- ## 4. Component Stylings
132
-
133
- ### Buttons
134
-
135
- **Primary (Kmong Green)**
136
- - Background: `#92fa72`
137
- - Text: `#212224` (dark ink — not white)
138
- - Padding: 0px 24px
139
- - Radius: 4px
140
- - Font: 16px Pretendard weight 500
141
- - Use: Primary CTA — "크몽 시작하기", "의뢰하기"
142
-
143
- **Secondary (Outlined)**
144
- - Background: `#ffffff`
145
- - Text: `#000000`
146
- - Border: `1px solid #c8cad2`
147
- - Padding: 0px 20px
148
- - Radius: 4px
149
- - Font: 16px Pretendard weight 400
150
- - Use: Category chips, secondary actions
151
-
152
- **Round Control Pill**
153
- - Background: `#ffffff` (often translucent)
154
- - Text: `#303441`
155
- - Radius: 9999px (full)
156
- - Font: 16px weight 400
157
- - Use: Icon/carousel control buttons
158
-
159
- ### Cards & Containers
160
- - Background: `#ffffff`
161
- - Border: `1px solid #e4e5ed`
162
- - Radius: 4px
163
- - Shadow: `rgba(0,0,0,0.08) 0px 4px 12px 0px`
164
- - Popover shadow: `rgba(0,0,0,0.1) 0px 0px 20px 0px`
165
- - Use: Gig/service cards, expert profile cards
166
-
167
- ### Badges / Tags / Pills
168
- **Biz / 기업용 Pill**
169
- - Background: `#ebf4ff`
170
- - Text: `#116ad4`
171
- - Radius: 11px
172
- - Font: 10px weight 700
173
-
174
- **Best / Ranking Badge**
175
- - Background: `#ffffff`
176
- - Text: `#ff402b`
177
- - Radius: 27px
178
- - Font: 11px weight 700
179
-
180
- **Green Promo Tag**
181
- - Background: `#e1f5dc`
182
- - Text: `#5dd877`
183
- - Radius: 11px
184
- - Font: 10px weight 700
185
-
186
- ### Inputs & Forms
187
- - Hero search: white surface, 4px radius, 20px Pretendard text, placeholder "어떤 전문가가 필요하세요?"
188
- - Underline/hairline border in `#f2f3f7`
189
- - Text color: `#212224`
190
- - Padding: 16px vertical
191
-
192
- ### Navigation
193
- - White (`#ffffff`) sticky header, 76px tall
194
- - Ink (`#212224`) link text, 16px Pretendard weight 400
195
- - Category nav row below the brand logotype
196
- - Active nav item: 2px bottom border in `#212224`
197
- - Primary green CTA right-aligned
188
+ ### Evidence classes
189
+
190
+ - **Live product computed use:** `Pretendard` has 1,444 visible uses across the supplied home and category capture, with a high-confidence loaded FontFace match and 18 Kmong CloudFront font-source URLs. It is the sole `tokens.typography.family.ui` family.
191
+ - **Official font asset and licence:** the upstream Pretendard project documents distribution and its SIL Open Font License 1.1. This establishes the upstream licence boundary; it does not independently establish Kmong product use.
192
+ - **Declared-only:** `slick` has four Kmong-hosted declared source files but zero visible uses in the bundle. It is not a UI-family token and must not be substituted.
193
+ - **Unresolved:** no separate official Kmong typeface or additional browser-loaded family was established from the supplied public routes.
194
+
195
+ ### Observed public-marketplace hierarchy
196
+
197
+ | Role | Family | Size | Weight | Line height | Surface boundary |
198
+ |---|---|---:|---:|---:|---|
199
+ | Home headline | Pretendard | 40px | 700 | 52px | Home only |
200
+ | Home search input | Pretendard | 20px | 400 | 28px | Home only |
201
+ | Category heading sample | Pretendard | 36px | 700 | 44px | Category route only |
202
+ | Repeated body/card/list sample | Pretendard | 16px | 400 | 24px | Home and category routes |
203
+ | Header action | Pretendard | 14px | 500 | 20px | Public marketplace header |
204
+
205
+ ## 4. Components
206
+
207
+ ### Home primary CTA
208
+
209
+ **Default**
210
+ - Background: `#92FA72`
211
+ - Text: `#212224`
212
+ - Radius: `4px`
213
+ - Padding: `0px 24px`
214
+ - Height: `52px`
215
+ - Font: `16px / 500 Pretendard`
216
+ - Use: Public home CTA; `home::[data-omd-capture="143"]`.
217
+
218
+ ### Header action
219
+
220
+ **Default**
221
+ - Background: `#212224`
222
+ - Text: `#FFFFFF`
223
+ - Radius: `8px`
224
+ - Height: `36px`
225
+ - Font: `14px / 500 Pretendard`
226
+ - Use: Public marketplace header action; `home::[data-omd-capture="6"]`.
227
+
228
+ ### Home search
229
+
230
+ **Default**
231
+ - Background: `#FFFFFF`
232
+ - Text: `#212224`
233
+ - Border: `1px solid #C8CAD2`
234
+ - Radius: `36px`
235
+ - Padding: `0px 32px`
236
+ - Height: `64px`
237
+ - Font: `20px / 400 Pretendard`
238
+ - Use: Public home search shell/input; `home::form` and `home::[data-omd-capture="7"]`.
239
+
240
+ ### Home outlined CTA
241
+
242
+ **Default**
243
+ - Background: `#FFFFFF`
244
+ - Text: `#212224`
245
+ - Border: `1px solid #C8CAD2`
246
+ - Radius: `8px`
247
+ - Padding: `0px 24px`
248
+ - Height: `52px`
249
+ - Font: `16px / 500 Pretendard`
250
+ - Use: Public home outlined CTA; `home::[data-omd-capture="145"]`.
251
+
252
+ ### Category filter control
253
+
254
+ **Default**
255
+ - Background: `#FFFFFF`
256
+ - Text: `#212224`
257
+ - Border: `1px solid #E4E5ED`
258
+ - Radius: `8px`
259
+ - Padding: `0px 12px`
260
+ - Height: `36px`
261
+ - Font: `14px / 400 Pretendard`
262
+ - Use: Public category filter control; `surface-3::[data-omd-capture="93"]`.
263
+
264
+ ### Category panel
265
+
266
+ **Default**
267
+ - Background: `#FAFAFC`
268
+ - Radius: `12px`
269
+ - Padding: `32px 24px`
270
+ - Font: `16px / 400 Pretendard`
271
+ - Use: Public category-page panel; `surface-3::article`.
272
+
273
+ The supplied bundle reports zero interaction records. No hover, pressed, focus, disabled, menu, dialog, validation, or responsive variants are claimed from class names or static samples.
198
274
 
199
275
  ---
200
276
 
201
- **Verified:** 2026-06-09 (live DOM inspect — homepage)
202
- **Tier 1 sources:** https://kmong.com, https://kmong.com/atoz (Kmong A to Z brand guide / help center)
203
-
204
- ## 5. Layout Principles
277
+ **Verified:** 2026-07-13
278
+ **Tier 1 sources:** `https://kmong.com/` (public marketplace home), `https://kmong.com/category/1` (public category marketplace), `https://company.kmong.com/` (official company context), `https://github.com/orioncactus/pretendard/blob/main/packages/pretendard/docs/en/README.md` (upstream font distribution), and `https://github.com/orioncactus/pretendard/blob/main/LICENSE` (upstream font licence)
279
+ **Tier 2 sources:** `https://getdesign.md/kmong` (attempted; built-in web open returned an internal safe-open failure/no usable record), `https://styles.refero.design/?q=kmong` (attempted; built-in web open returned an internal safe-open failure/no usable record)
280
+ **Conflicts unresolved:** none
205
281
 
206
- ### Spacing System
207
- - Base unit: 4px, scaling 4 / 8 / 12 / 16 / 20 / 24 / 40 / 76px
208
- - Section rhythm uses generous ~76px header-to-content gaps, while gig cards pack densely in grids
209
- - Notable: dense at the small end (4–16px) for in-card spacing, generous at the section level
282
+ The older universal 4px input/card rule, 76px header, card-shadow system, Biz/Best/promo badge variants, generic gig-card treatment, and all reusable interaction/state/motion assertions were rolled back: they are not established by the supplied 2026 multi-surface capture.
210
283
 
211
- ### Grid & Container
212
- - Wide centered content area for category grids and gig-card carousels
213
- - Hero: left-aligned bold headline + large search field as the primary entry point
214
- - Feature sections: horizontally scrolling card carousels ("쇼핑몰 사장님이 많이 찾아요")
215
- - High content density — many gig cards visible per screen, commerce-first
284
+ ## 5. Layout & Responsive Evidence
216
285
 
217
- ### Whitespace Philosophy
218
- - **Commerce density**: Unlike minimalist marketing sites, Kmong fills the screen with real, scannable inventory. Whitespace separates sections, not individual cards.
219
- - **Green as wayfinding**: The bright green CTA is the single most prominent element, pulling the eye to the next action on every section.
220
- - **Card rhythm**: Uniform 4px-radius gig cards in repeating carousels create a predictable, catalog-like scanning rhythm.
221
-
222
- ### Border Radius Scale
223
- - Standard (4px): Buttons, inputs, cards — the workhorse radius
224
- - Pill small (11px): Biz/promo status tags
225
- - Pill large (27px): Best/ranking badges
226
- - Full (9999px): Round control buttons, avatars
286
+ - The supplied capture covers public 1440×900 home and category routes. It establishes a 628px × 64px home-search shell and a 500px × 50px category-search shell, not a breakpoint system.
287
+ - The public category page includes a 1,168px × 184px `#FAFAFC` panel with `32px 24px` padding. It is a route-local observation, not a universal card layout.
288
+ - No mobile, signed-in, checkout, seller, help-centre, or documentation-chrome route was supplied as product evidence. Their layout contracts are intentionally absent.
227
289
 
228
290
  ## 6. Depth & Elevation
229
291
 
230
- | Level | Treatment | Use |
231
- |-------|-----------|-----|
232
- | Flat (Level 0) | No shadow | Page background, inline text, hairline dividers |
233
- | Card (Level 1) | `rgba(0,0,0,0.08) 0px 4px 12px 0px` | Gig cards, content panels |
234
- | Popover (Level 2) | `rgba(0,0,0,0.1) 0px 0px 20px 0px` | Dropdowns, floating tooltips, hover cards |
292
+ - Home search shell: `rgba(0,0,0,0.1) 0px 0px 20px 0px`.
293
+ - Category search shell: `rgba(0,0,0,0.06) 0px 0px 8px 0px`.
235
294
 
236
- **Shadow Philosophy**: Kmong's elevation is deliberately gentle. Shadows are neutral black at very low alpha (0.08–0.1), single-layer, with no colored tinting. The goal is to lift a gig card just enough off the white field to register as tappable, without introducing visual heaviness that would slow down catalog scanning. Elevation is functional separation, not decorative drama — appropriate for a high-volume marketplace where the content, not the chrome, is the star.
295
+ No general card, popover, modal, or hover-elevation ladder is claimed.
237
296
 
238
297
  ## 7. Do's and Don'ts
239
298
 
240
299
  ### Do
241
- - Use the signature green `#92fa72` for the primary CTA, with dark ink (`#212224`) text on it
242
- - Use `#5dd877` as the dominant brand fill for accents, tags, and decorative elements
243
- - Set all type in Pretendard 700 for headings/badges, 500 for buttons, 400 for body
244
- - Keep button/card/input radius at 4px; reserve full-round pills for status badges only
245
- - Use soft single-layer shadows (`rgba(0,0,0,0.08) 0px 4px 12px`) for card elevation
246
- - Use blue (`#116ad4` on `#ebf4ff`) for Biz/기업용 trust tags and red (`#ff402b`) for Best/ranking
247
- - Let content density carry the layout — many scannable gig cards per screen
300
+
301
+ - Keep the observed home primary CTA distinct: `#92FA72` with `#212224` text.
302
+ - Use Pretendard only when reproducing the verified public-marketplace specimen.
303
+ - Preserve the route distinction between the 36px home search and 24px category search.
304
+ - Treat the dark 36px header action and lime 52px home CTA as separate observed variants.
248
305
 
249
306
  ### Don't
250
- - Don't put white text on the green CTA — the green is bright; dark ink (`#212224`) is the brand choice
251
- - Don't use heavy or colored shadows elevation stays soft, neutral, and minimal
252
- - Don't apply decorative letter-spacing Pretendard runs at `normal` tracking
253
- - Don't use large rounded corners (12px+) on cards or buttons 4px is the standard
254
- - Don't dilute the green with secondary brand colors green is the single wayfinding accent
255
- - Don't use thin/light heading weights — Kmong headlines are bold (700) and direct
256
- - Don't sacrifice content density for whitespace — this is a marketplace, not a minimalist landing page
307
+
308
+ - Do not turn the lime home CTA into an unsupported universal action token.
309
+ - Do not reuse `slick` or substitute it for Pretendard; its visible product use was not observed.
310
+ - Do not infer hover, focus, disabled, error, modal, or responsive styles from utility class names.
311
+ - Do not apply the category panel or filters to marketing, support, or signed-in flows without evidence.
257
312
 
258
313
  ## 8. Responsive Behavior
259
314
 
260
- ### Breakpoints
261
- | Name | Width | Key Changes |
262
- |------|-------|-------------|
263
- | Mobile | <768px | Single-column, full-width search, stacked card carousels |
264
- | Tablet | 768–1024px | 2-column gig grids, condensed nav |
265
- | Desktop | 1024–1440px | Full multi-column carousels, complete category nav |
266
- | Large | >1440px | Centered content with side margins |
267
-
268
- ### Touch Targets
269
- - Primary CTA and search field sized for comfortable mobile tapping
270
- - Gig cards full-width tappable on mobile
271
- - Category chips with adequate horizontal padding (0 20px)
272
- - Round control pills sized as discrete tap targets
273
-
274
- ### Collapsing Strategy
275
- - Hero: 40px headline compresses on mobile, weight 700 maintained
276
- - Navigation: full category row collapses to hamburger + search on mobile
277
- - Card carousels: horizontal scroll preserved across breakpoints
278
- - Search field: remains the dominant above-the-fold element at all sizes
279
-
280
- ### Image Behavior
281
- - Gig thumbnails maintain 4px radius at all sizes
282
- - Expert avatars stay fully round (9999px)
283
- - Card images fill card width, fixed aspect ratio for catalog uniformity
315
+ Only desktop-sized public capture evidence was supplied. No breakpoint, touch-target, mobile navigation, or image-ratio rule is recorded.
284
316
 
285
317
  ## 9. Agent Prompt Guide
286
318
 
287
- ### Quick Color Reference
288
- - Primary CTA: Kmong Green (`#92fa72`) with dark ink (`#212224`) text
289
- - Brand fill: Green Deep (`#5dd877`)
290
- - Background: Pure White (`#ffffff`)
291
- - Heading text: Ink (`#212224`)
292
- - Body text: Ink (`#000000`)
293
- - Hairline/divider: (`#f2f3f7`)
294
- - Card border: (`#e4e5ed`)
295
- - Biz tag: blue text (`#116ad4`) on tint (`#ebf4ff`)
296
- - Best/ranking: Red (`#ff402b`)
297
-
298
- ### Example Component Prompts
299
- - "Create a hero on white background. Headline at 40px Pretendard weight 700, line-height 52px, color #212224, no letter-spacing. Below it a search field (white, 4px radius, 20px text, placeholder '어떤 전문가가 필요하세요?'). Primary green CTA button (#92fa72 bg, #212224 dark text, 4px radius, 0 24px padding, 16px weight 500)."
300
- - "Design a gig card: white background, 1px solid #e4e5ed border, 4px radius, shadow rgba(0,0,0,0.08) 0px 4px 12px. Title at 20px Pretendard weight 700, #212224. A Biz pill: #ebf4ff bg, #116ad4 text, 11px radius, 10px weight 700."
301
- - "Build a Best badge: white background, #ff402b text, 27px radius, 11px Pretendard weight 700."
302
- - "Create navigation: white sticky 76px header. Pretendard 16px weight 400 links in #212224, active item with 2px bottom border #212224. Green CTA '크몽 시작하기' right-aligned (#92fa72 bg, #212224 text, 4px radius)."
303
-
304
- ### Iteration Guide
305
- 1. The signature green `#92fa72` carries dark ink text (`#212224`), not white — this is the defining brand quirk
306
- 2. Pretendard is the only family; lean on weight (700/500/400) for hierarchy
307
- 3. Radius stays at 4px for buttons/cards/inputs; full-round only for badges and avatars
308
- 4. Shadows are soft, neutral, single-layer — `rgba(0,0,0,0.08) 0px 4px 12px`
309
- 5. Blue (`#116ad4`/`#ebf4ff`) is reserved for Biz/trust; red (`#ff402b`) for ranking/urgency
310
- 6. Content density over whitespace — this is a marketplace catalog
311
-
312
- ---
319
+ - Recreate the **public home CTA** as a 52px-tall, 4px-radius button with `#92FA72` background, `#212224` label, `0px 24px` padding, and 16px/500 Pretendard.
320
+ - Recreate the **public home search** as a 64px white shell with a `#C8CAD2` 1px border, 36px radius, `0px 32px` shell padding, and a 20px/400 Pretendard input.
321
+ - Recreate the **public category filter** as a 36px white control with `#E4E5ED` border, 8px radius, `0px 12px` padding, and 14px/400 Pretendard.
322
+ - Do not generate an interaction or state variant unless new selector-and-interaction evidence establishes it.
313
323
 
314
324
  ## 10. Voice & Tone
315
325
 
316
- Kmong's voice is warm, encouraging, and outcome-focused it speaks to small-business owners, founders, and solo creators who need expert help and frames the platform as the bridge to their goal. The hero line "성공이 필요한 순간, 맞는 전문가를 찾아보세요" (When you need success, find exactly the right expert) is characteristic: it leads with the user's aspiration, then offers a concrete path. Copy is conversational and second-person, never bureaucratic. Section headers like "쇼핑몰 사장님이 많이 찾아요" (Shopping-mall owners search for this a lot) use social proof and relatable personas rather than abstract feature claims.
317
-
318
- | Context | Tone |
319
- |---|---|
320
- | Hero headlines | Aspirational + concrete. Names the goal ("성공"), then the action ("전문가를 찾아보세요"). |
321
- | Category labels | Plain, scannable Korean nouns. "디자인", "마케팅", "IT·프로그래밍". |
322
- | Social-proof sections | Relatable persona framing. "쇼핑몰 사장님이 많이 찾아요". |
323
- | CTAs | Direct, momentum verbs. "크몽 시작하기", "의뢰하기", "전문가 찾기". |
324
- | Trust signals | Specific and reassuring — ratings, review counts, 안전결제 (safe payment), Biz guarantees. |
325
- | Help / A to Z | Friendly, step-by-step, beginner-aware. Assumes the user is new to outsourcing. |
326
-
327
- **Forbidden register.** Cold corporate jargon, English-heavy buzzwords where plain Korean works, fear-based urgency, or anything that makes a first-time outsourcer feel they don't belong. Kmong's voice lowers the barrier to hiring an expert.
326
+ The official homepage frames the service around finding capable experts and protecting a transaction until work is received; the company site presents the same marketplace as a place where individuals and companies can commission work with practical payment and document support. The observable public tone is therefore direct, reassuring, and task-oriented. This is source-grounded service framing, not a claim that every internal or support message uses one fixed voice.
328
327
 
329
328
  ## 11. Brand Narrative
330
329
 
331
- Kmong (크몽) launched in **2012** and grew into **Korea's largest freelance and skill marketplace**, operated by **Kmong Inc.** The platform connects clients with freelancers and agencies across categories such as design, IT/programming, marketing, video/photography, translation, documents, and business consulting. The model is a service-listing ("gig") marketplace: experts publish productized services with fixed scopes and prices, and buyers browse, compare ratings and reviews, and commission work through Kmong's escrow-style safe-payment (안전결제) system.
332
-
333
- The name "크몽" is the brand's own coinage, and the bright lime-green identity has become a recognizable mark in the Korean startup and SMB ecosystem. Over time Kmong expanded beyond individual gigs into **Kmong Enterprise / Biz** offerings (the 기업용 / 엔터프라이즈 tags visible in the nav) — bringing vetted experts, quality guarantees, and managed sourcing to companies, not just individuals. The platform positions itself as the default first stop for any Korean small business or founder who needs specialized work done without the overhead of hiring full-time.
334
-
335
- What Kmong embraces: lowering the barrier to outsourcing, trust infrastructure (reviews, safe payment, dispute handling), and a friendly, high-energy visual brand that makes commissioning expert work feel approachable rather than intimidating.
330
+ Kmong’s official company site presents the service as an expert platform where a request can be made by chat and protected through escrow payment, with distinct support for company transactions such as corporate cards and tax invoices. Its public home exposes the marketplace side of that proposition: specialist listings, reviews, and a search-led path into discovery. The company site also publishes a 2025 logo-rebrand item, indicating an actively maintained visual identity. These facts establish the product and its current public expression; no unobserved seller, contract, or post-purchase experience is inferred here.
336
331
 
337
332
  ## 12. Principles
338
333
 
339
- 1. **Lower the barrier to expertise.** The entire experience is engineered so a first-time buyer can go from problem to hired expert quickly. Design should reduce friction, never add ceremony.
340
- 2. **Trust is the product.** Reviews, ratings, safe payment, and Biz guarantees are not features bolted on they are the reason the marketplace works. Surface trust signals prominently.
341
- 3. **Green means go.** The signature `#92fa72` is reserved for the next action. One unmistakable wayfinding color keeps the path to purchase obvious.
342
- 4. **Density serves discovery.** A marketplace lives or dies by inventory visibility. Show many scannable gig cards; let content, not chrome, fill the screen.
343
- 5. **Approachable, not corporate.** Bold conversational Korean, warm persona framing, and an energetic palette make hiring an expert feel friendly — appropriate for SMB and solo founders.
344
- 6. **Conservative chrome, vivid accent.** 4px radii and soft neutral shadows keep the frame quiet so the green CTA and the gig content stand out.
345
-
346
- ## 13. Personas
347
-
348
- *Personas below are fictional archetypes informed by publicly observable Kmong user segments (small-business owners, solo founders, freelancers, marketers), not individual people.*
349
-
350
- **Jisoo Han, 34, Seoul.** Runs a small online clothing shop. Needs a detail page (상세페이지) designed and product photos shot but has no in-house designer. Searches Kmong by category, compares portfolios and review counts, and commissions a freelancer through safe payment. Trusts the green "크몽 시작하기" path because it always tells her clearly what happens next.
334
+ 1. **Start with expert discovery.** The large public search field is the most explicit route into the marketplace. *UI implication:* keep a verified search treatment route-local rather than inventing a global command surface.
335
+ 2. **Make the next action legible.** The public home’s lime CTA contrasts with the dark header action. *UI implication:* preserve their separate size, colour, and radius values.
336
+ 3. **Keep transaction trust concrete.** Escrow protection and company-payment support come from official company context. *UI implication:* do not fabricate trust badges, validation states, or checkout affordances from that narrative alone.
351
337
 
352
- **Minjun Park, 29, Busan.** Solo SaaS founder who needs a landing page built and a logo designed on a startup budget. Lives in the IT·프로그래밍 and 디자인 categories. Values the review system and fixed-price gigs because they make scope predictable. Would be put off by a marketplace that hid prices behind "문의하기" gates.
338
+ ## 13. Stakeholder Groups
353
339
 
354
- **Soyeon Lee, 41, Daejeon.** Marketing lead at a mid-size company evaluating Kmong Biz / Enterprise for ongoing outsourced work. Notices the 기업용 blue tags and quality-guarantee messaging. Cares that the platform can provide vetted experts and managed sourcing, not just one-off gigs.
340
+ *Source-grounded groups, not fictional personas.*
355
341
 
356
- **Daniel Kim, 26, freelance designer, Seoul.** Sells productized design gigs on Kmong as a seller. Optimizes his card thumbnails, ratings, and Best-badge ranking. Experiences the same green-accented, Pretendard-set system from the supply side and relies on the trust infrastructure to get paid reliably.
342
+ - **Clients commissioning expert work:** the public marketplace exposes specialist listings, reviews, and search-led discovery for this group.
343
+ - **Experts offering services:** Kmong’s marketplace model depends on expert service listings; no seller-console UI is claimed from this public capture.
344
+ - **Companies commissioning external work:** the official company site identifies corporate transaction support, including corporate-card payment and tax-invoice issuance; this is business context, not a captured enterprise product UI.
357
345
 
358
346
  ## 14. States
359
347
 
360
- | State | Treatment |
361
- |---|---|
362
- | **Empty (search, no results)** | White canvas, ink (`#212224`) single line: "검색 결과가 없어요." A green CTA suggests browsing categories instead. No heavy illustration. |
363
- | **Loading (card grid)** | Skeleton cards at final dimensions in hairline (`#f2f3f7`), 4px radius. Soft shimmer. Card-shaped placeholders preserve the catalog grid. |
364
- | **Error (action failed)** | Inline message below the action in ink. Red (`#ff402b`) accent for the error marker. Plain-Korean explanation plus a retry affordance. |
365
- | **Error (form validation)** | Field-level. Red (`#ff402b`) marker + short Korean message describing what to fix. |
366
- | **Success (order placed / safe payment)** | Confirmation with the green brand fill (`#5dd877`/`#e1f5dc` tint). Clear next-step link to the order. Reassuring, momentum-preserving. |
367
- | **Disabled** | Reduced opacity on surface and text together. Green actions fade rather than switch to gray, preserving brand read. |
368
- | **Loading (button press)** | Inline spinner on the green CTA; label stays, button stays green. No layout shift. |
348
+ No reusable empty, loading, error, success, disabled, validation, or skeleton treatment is recorded. The bundle has zero interaction records, so state design is intentionally omitted rather than synthesized.
369
349
 
370
350
  ## 15. Motion & Easing
371
351
 
372
- **Durations**:
373
-
374
- | Token | Value | Use |
375
- |---|---|---|
376
- | `motion-fast` | 120ms | Hover, focus, button press feedback |
377
- | `motion-standard` | 200ms | Dropdowns, card hover lift, carousel steps |
378
- | `motion-slow` | 320ms | Section reveals, modal open |
379
-
380
- **Easings**:
381
-
382
- | Token | Curve | Use |
383
- |---|---|---|
384
- | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Default two-way transitions |
385
- | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Dropdowns, hover cards arriving |
386
- | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
387
-
388
- **Signature motions.**
389
-
390
- 1. **Card hover lift.** Gig cards raise gently on hover using `motion-standard / ease-standard`, the soft shadow (`rgba(0,0,0,0.08) 0px 4px 12px`) deepening slightly. The motion signals tappability without distracting from scanning.
391
- 2. **Carousel step.** Horizontal card carousels ("쇼핑몰 사장님이 많이 찾아요") slide one column at a time with `motion-standard`, keeping the catalog's left-to-right reading order intact.
392
- 3. **CTA press.** The green primary button gives immediate `motion-fast` press feedback — a brief scale/opacity dip — confirming the action without delay.
393
- 4. **Reduce motion.** Under `prefers-reduced-motion: reduce`, hover lifts and carousel slides become instantaneous; the marketplace stays fully functional with no decorative motion.
394
-
395
- <!--
396
- OmD v0.1 Sources — Kmong
397
-
398
- Token-level claims (sections 1–9) are sourced from a live DOM inspection of
399
- https://kmong.com on 2026-06-09 via Playwright getComputedStyle:
400
- - Primary CTA "크몽 시작하기": background #92fa72, color #212224, radius 4px,
401
- padding 0 24px, 16px / weight 500 (BUTTON).
402
- - Dominant brand fill #5dd877 (152 occurrences), tint #e1f5dc, mint #27e7b7.
403
- - H1 hero 40px / weight 700 / line-height 52px / color rgb(33,34,36)=#212224,
404
- font-family Pretendard.
405
- - H2 28px / weight 700 / line-height 38px.
406
- - Header (nav) white #ffffff, height 76px, ink #212224 links.
407
- - Biz pill 기업용: bg #ebf4ff, fg #116ad4, radius 11px, 10px / 700.
408
- - Best badge: fg #ff402b, radius 27px, 11px / 700.
409
- - Secondary button: border #c8cad2, radius 4px, fg #000000, 16px / 400.
410
- - Card: white, radius 4px, border #e4e5ed, shadow rgba(0,0,0,0.08) 0px 4px 12px;
411
- popover shadow rgba(0,0,0,0.1) 0px 0px 20px.
412
- - Search input placeholder "어떤 전문가가 필요하세요?", 20px text, #f2f3f7 hairline.
413
-
414
- Brand-narrative claims (sections 10–13): Kmong (크몽) is Korea's largest
415
- freelance/skill marketplace operated by Kmong Inc., launched 2012, productized
416
- gig model with safe-payment (안전결제) escrow and a Biz/Enterprise tier
417
- (기업용 / 엔터프라이즈 tags observed in nav). These are widely documented public
418
- facts about the company plus on-page observed labels.
419
-
420
- Personas (§13) are fictional archetypes informed by publicly observable Kmong
421
- user segments (SMB owners, solo founders, freelancers, marketers). Names are
422
- illustrative; they do not refer to real people.
423
-
424
- Interpretive claims (e.g., "green means go", "dark ink on bright green is the
425
- defining brand quirk") are editorial readings connecting Kmong's observed design
426
- choices to its marketplace strategy, not directly sourced Kmong statements.
427
- -->
352
+ No reusable duration, easing, or motion rule is recorded. Public utility class names and static elements do not establish a motion contract without interaction provenance.