oh-my-design-cli 1.8.7 → 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 (247) 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 +1995 -38
  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/alipay/DESIGN.md +179 -420
  71. package/web/references/apple/DESIGN.md +224 -498
  72. package/web/references/asleep/DESIGN.md +402 -0
  73. package/web/references/au/DESIGN.md +334 -0
  74. package/web/references/autopedia/DESIGN.md +382 -0
  75. package/web/references/aws-cloudscape/DESIGN.md +241 -0
  76. package/web/references/baemin/DESIGN.md +332 -491
  77. package/web/references/banksalad/DESIGN.md +269 -180
  78. package/web/references/barogo/DESIGN.md +416 -0
  79. package/web/references/beusable/DESIGN.md +464 -0
  80. package/web/references/bilibili/DESIGN.md +206 -374
  81. package/web/references/bmw/DESIGN.md +162 -276
  82. package/web/references/brandi/DESIGN.md +184 -325
  83. package/web/references/catchtable/DESIGN.md +219 -264
  84. package/web/references/cgv/DESIGN.md +317 -0
  85. package/web/references/channeltalk/DESIGN.md +210 -336
  86. package/web/references/china-airlines/DESIGN.md +291 -0
  87. package/web/references/cjonstyle/DESIGN.md +453 -0
  88. package/web/references/class101/DESIGN.md +168 -387
  89. package/web/references/classum/DESIGN.md +228 -203
  90. package/web/references/claude/DESIGN.md +242 -479
  91. package/web/references/clay/DESIGN.md +179 -377
  92. package/web/references/clickhouse/DESIGN.md +254 -343
  93. package/web/references/cohere/DESIGN.md +214 -324
  94. package/web/references/coinone/DESIGN.md +199 -179
  95. package/web/references/corca/DESIGN.md +414 -0
  96. package/web/references/coupang/DESIGN.md +205 -475
  97. package/web/references/cursor/DESIGN.md +240 -381
  98. package/web/references/dabang/DESIGN.md +248 -213
  99. package/web/references/dable/DESIGN.md +431 -0
  100. package/web/references/datarize/DESIGN.md +217 -330
  101. package/web/references/dealicious/DESIGN.md +402 -0
  102. package/web/references/drdiary/DESIGN.md +404 -0
  103. package/web/references/elastic/DESIGN.md +238 -0
  104. package/web/references/elevenlabs/DESIGN.md +183 -321
  105. package/web/references/eslite/DESIGN.md +257 -0
  106. package/web/references/evaair/DESIGN.md +338 -0
  107. package/web/references/expo/DESIGN.md +238 -331
  108. package/web/references/familymart-tw/DESIGN.md +254 -0
  109. package/web/references/ferrari/DESIGN.md +160 -377
  110. package/web/references/figma/DESIGN.md +197 -451
  111. package/web/references/fitpet/DESIGN.md +445 -0
  112. package/web/references/flex/DESIGN.md +170 -253
  113. package/web/references/framer/DESIGN.md +197 -340
  114. package/web/references/freee/DESIGN.md +211 -533
  115. package/web/references/friendliai/DESIGN.md +431 -0
  116. package/web/references/frip/DESIGN.md +440 -0
  117. package/web/references/gangnamunni/DESIGN.md +154 -591
  118. package/web/references/gaudiolab/DESIGN.md +414 -0
  119. package/web/references/google/DESIGN.md +290 -398
  120. package/web/references/hashicorp/DESIGN.md +273 -318
  121. package/web/references/heydealer/DESIGN.md +429 -0
  122. package/web/references/humanscape/DESIGN.md +433 -0
  123. package/web/references/hyundai/DESIGN.md +158 -368
  124. package/web/references/hyundaicard/DESIGN.md +171 -121
  125. package/web/references/ibm/DESIGN.md +227 -378
  126. package/web/references/idus/DESIGN.md +450 -0
  127. package/web/references/igaworks/DESIGN.md +437 -0
  128. package/web/references/inflearn/DESIGN.md +221 -366
  129. package/web/references/intuit/DESIGN.md +244 -0
  130. package/web/references/jandi/DESIGN.md +191 -291
  131. package/web/references/jobplanet/DESIGN.md +415 -0
  132. package/web/references/kakao/DESIGN.md +287 -475
  133. package/web/references/kakaobank/DESIGN.md +220 -521
  134. package/web/references/kakaogames/DESIGN.md +220 -0
  135. package/web/references/kakaopay/DESIGN.md +207 -526
  136. package/web/references/karrot/DESIGN.md +227 -251
  137. package/web/references/kb-kookmin/DESIGN.md +308 -0
  138. package/web/references/kbank/DESIGN.md +220 -175
  139. package/web/references/kmong/DESIGN.md +281 -356
  140. package/web/references/krds/DESIGN.md +245 -19
  141. package/web/references/kream/DESIGN.md +224 -359
  142. package/web/references/kurly/DESIGN.md +211 -533
  143. package/web/references/lamborghini/DESIGN.md +198 -360
  144. package/web/references/lguplus/DESIGN.md +259 -0
  145. package/web/references/likelion/DESIGN.md +283 -0
  146. package/web/references/line/DESIGN.md +396 -355
  147. package/web/references/linear.app/DESIGN.md +209 -562
  148. package/web/references/lotteon/DESIGN.md +386 -0
  149. package/web/references/lovable/DESIGN.md +255 -349
  150. package/web/references/makinarocks/DESIGN.md +149 -349
  151. package/web/references/maum-ai/DESIGN.md +423 -0
  152. package/web/references/medibloc/DESIGN.md +425 -0
  153. package/web/references/megabox/DESIGN.md +232 -0
  154. package/web/references/mercari/DESIGN.md +217 -434
  155. package/web/references/microsoft/DESIGN.md +234 -388
  156. package/web/references/mildang/DESIGN.md +411 -0
  157. package/web/references/millie/DESIGN.md +183 -504
  158. package/web/references/minimax/DESIGN.md +264 -322
  159. package/web/references/miricanvas/DESIGN.md +182 -355
  160. package/web/references/miro/DESIGN.md +234 -232
  161. package/web/references/mistral.ai/DESIGN.md +231 -314
  162. package/web/references/mixi/DESIGN.md +234 -0
  163. package/web/references/moin/DESIGN.md +445 -0
  164. package/web/references/mongodb/DESIGN.md +219 -316
  165. package/web/references/musinsa/DESIGN.md +184 -510
  166. package/web/references/mynavi/DESIGN.md +242 -0
  167. package/web/references/myrealtrip/DESIGN.md +169 -406
  168. package/web/references/naver/DESIGN.md +328 -499
  169. package/web/references/naverwebtoon/DESIGN.md +172 -395
  170. package/web/references/nhn/DESIGN.md +169 -346
  171. package/web/references/nhncloud/DESIGN.md +185 -123
  172. package/web/references/notion/DESIGN.md +271 -475
  173. package/web/references/nrise/DESIGN.md +417 -0
  174. package/web/references/ohouse/DESIGN.md +210 -549
  175. package/web/references/oliveyoung/DESIGN.md +217 -326
  176. package/web/references/ollama/DESIGN.md +241 -308
  177. package/web/references/onestore/DESIGN.md +248 -0
  178. package/web/references/palantir/DESIGN.md +256 -0
  179. package/web/references/panasonic/DESIGN.md +276 -0
  180. package/web/references/patternfly/DESIGN.md +259 -0
  181. package/web/references/payhere/DESIGN.md +438 -0
  182. package/web/references/pega/DESIGN.md +262 -0
  183. package/web/references/peoplefund/DESIGN.md +431 -0
  184. package/web/references/petfriends/DESIGN.md +428 -0
  185. package/web/references/pinkfong/DESIGN.md +199 -367
  186. package/web/references/pinterest/DESIGN.md +258 -308
  187. package/web/references/poya/DESIGN.md +286 -0
  188. package/web/references/pozalabs/DESIGN.md +438 -0
  189. package/web/references/protopie/DESIGN.md +419 -0
  190. package/web/references/qraft/DESIGN.md +448 -0
  191. package/web/references/quotabook/DESIGN.md +449 -0
  192. package/web/references/recruit/DESIGN.md +247 -0
  193. package/web/references/remember/DESIGN.md +202 -396
  194. package/web/references/resend/DESIGN.md +274 -348
  195. package/web/references/sakura-internet/DESIGN.md +269 -0
  196. package/web/references/samsung/DESIGN.md +157 -359
  197. package/web/references/sandoll/DESIGN.md +445 -0
  198. package/web/references/sanity/DESIGN.md +241 -375
  199. package/web/references/scatterlab/DESIGN.md +412 -0
  200. package/web/references/selectstar/DESIGN.md +439 -0
  201. package/web/references/servicenow/DESIGN.md +289 -0
  202. package/web/references/shinhanbank/DESIGN.md +161 -341
  203. package/web/references/shinhancard/DESIGN.md +208 -319
  204. package/web/references/sionic/DESIGN.md +454 -0
  205. package/web/references/sktelecom/DESIGN.md +310 -0
  206. package/web/references/socar/DESIGN.md +125 -32
  207. package/web/references/softbank/DESIGN.md +231 -0
  208. package/web/references/sony/DESIGN.md +234 -0
  209. package/web/references/soop/DESIGN.md +261 -0
  210. package/web/references/spacex/DESIGN.md +184 -323
  211. package/web/references/spotify/DESIGN.md +253 -394
  212. package/web/references/squeezebits/DESIGN.md +441 -0
  213. package/web/references/stayfolio/DESIGN.md +422 -0
  214. package/web/references/stripe/DESIGN.md +212 -491
  215. package/web/references/supabase/DESIGN.md +244 -316
  216. package/web/references/tabling/DESIGN.md +415 -0
  217. package/web/references/taishinbank/DESIGN.md +243 -0
  218. package/web/references/teamlab/DESIGN.md +240 -0
  219. package/web/references/teamsparta/DESIGN.md +472 -0
  220. package/web/references/tellingme/DESIGN.md +392 -0
  221. package/web/references/tesla/DESIGN.md +244 -427
  222. package/web/references/thsr/DESIGN.md +284 -0
  223. package/web/references/thumbtack/DESIGN.md +302 -0
  224. package/web/references/together.ai/DESIGN.md +257 -304
  225. package/web/references/toss/DESIGN.md +251 -593
  226. package/web/references/toss-securities/DESIGN.md +255 -178
  227. package/web/references/tossbank/DESIGN.md +195 -491
  228. package/web/references/toyota/DESIGN.md +238 -0
  229. package/web/references/tving/DESIGN.md +197 -245
  230. package/web/references/typed/DESIGN.md +413 -0
  231. package/web/references/uber/DESIGN.md +256 -333
  232. package/web/references/udn/DESIGN.md +250 -0
  233. package/web/references/upbit/DESIGN.md +145 -256
  234. package/web/references/upstage/DESIGN.md +211 -204
  235. package/web/references/uswds/DESIGN.md +287 -0
  236. package/web/references/vercel/DESIGN.md +236 -440
  237. package/web/references/wanted/DESIGN.md +215 -487
  238. package/web/references/wise/DESIGN.md +223 -231
  239. package/web/references/wisetracker/DESIGN.md +462 -0
  240. package/web/references/wooribank/DESIGN.md +245 -0
  241. package/web/references/yanolja/DESIGN.md +250 -419
  242. package/web/references/yeogiotte/DESIGN.md +235 -418
  243. package/web/references/zapier/DESIGN.md +256 -377
  244. package/web/references/zendesk/DESIGN.md +288 -0
  245. package/web/references/zigzag/DESIGN.md +200 -621
  246. package/dist/install-skills-7UUDOLG2.js +0 -734
  247. package/dist/install-skills-7UUDOLG2.js.map +0 -1
@@ -0,0 +1,415 @@
1
+ ---
2
+ id: jobplanet
3
+ name: Jobplanet
4
+ display_name_kr: 잡플래닛
5
+ country: KR
6
+ category: saas
7
+ homepage: "https://www.jobplanet.co.kr/"
8
+ primary_color: "#00c362"
9
+ logo:
10
+ type: favicon
11
+ slug: "https://www.google.com/s2/favicons?domain=jobplanet.co.kr&sz=128"
12
+ verified: "2026-07-02"
13
+ added: "2026-07-02"
14
+ omd: "0.1"
15
+ tokens:
16
+ source: live-extract
17
+ extracted: "2026-07-02"
18
+ note: "primary = live interactive/CTA green (#00c362); neon highlight green (#00ff91) is a marker accent; green-line (#00c274) an underline/border variant; deep forest (#003a1c) a dark-on-light label. Near-shadowless — separation via #f3f3f4 surface + #e5e6e9 hairline. Product font Pretendard Variable; tech blog uses IBM Plex Sans."
19
+ colors:
20
+ primary: "#00c362"
21
+ primary-bright: "#00ff91"
22
+ green-line: "#00c274"
23
+ green-deep: "#003a1c"
24
+ ink: "#333333"
25
+ ink-strong: "#323438"
26
+ nav: "#4b4c50"
27
+ muted: "#686a6d"
28
+ faint: "#a4a6ad"
29
+ disabled: "#c5c7cc"
30
+ canvas: "#ffffff"
31
+ surface: "#f3f3f4"
32
+ hairline: "#e5e6e9"
33
+ on-primary: "#ffffff"
34
+ typography:
35
+ family: { body: "Pretendard Variable", blog: "IBM Plex Sans" }
36
+ section: { size: 24, weight: 700, lineHeight: 1.5, use: "Section titles (오늘의 추천, 커뮤니티 인기글)" }
37
+ card-title: { size: 16, weight: 700, lineHeight: 1.5, use: "Card / list-entry headline (stat chips)" }
38
+ nav: { size: 15, weight: 400, lineHeight: 1.4, use: "Top navigation links" }
39
+ button: { size: 14, weight: 700, use: "Primary CTA label" }
40
+ input: { size: 16, weight: 400, use: "Global search field text" }
41
+ body: { size: 13, weight: 400, lineHeight: 1.5, use: "Body copy, metadata, captions" }
42
+ blog-hero: { size: 48, weight: 600, lineHeight: 1.0, use: "Tech-blog hero headline (IBM Plex Sans)" }
43
+ spacing: { xs: 4, sm: 6, base: 8, md: 12, lg: 16, xl: 24 }
44
+ rounded: { sm: 4, md: 8, lg: 12, full: 9999 }
45
+ shadow:
46
+ none: "none"
47
+ components:
48
+ button-primary: { type: button, bg: "#00c362", fg: "#ffffff", radius: "5px", height: "40px", padding: "0 16px", font: "14px / 700", use: "Primary CTA (바로가기) — the single interactive green" }
49
+ button-stat-chip: { type: button, bg: "#f3f3f4", fg: "#333333", radius: "8px", height: "48px", padding: "0 16px", font: "16px / 700", use: "Company stat entry (782개의 전∙현직자 리뷰)" }
50
+ icon-button-round: { type: button, bg: "#ffffff", fg: "#333333", border: "1px solid #e5e6e9", radius: "9999px", padding: "6px", height: "32px", use: "Circular carousel / utility icon button" }
51
+ card-content: { type: card, bg: "#ffffff", fg: "#333333", radius: "12px", use: "Story / content card on grey canvas, no shadow" }
52
+ search-input: { type: input, bg: "#ffffff", fg: "#333333", font: "16px / 400", height: "48px", use: "Global search field (기업, 공고, 콘텐츠 검색), borderless" }
53
+ nav-link: { type: tab, fg: "#4b4c50", font: "15px / 400", active: "green #00c362 text on active", use: "Top nav item (기업 랭킹, 커뮤니티, 채용)" }
54
+ badge-highlight: { type: badge, bg: "#00ff91", fg: "#333333", radius: "4px", font: "13px / 400", use: "Neon-green highlight marker / emphasis tag" }
55
+ components_harvested: true
56
+ ---
57
+
58
+ # Design System Inspiration of Jobplanet
59
+
60
+ ## 1. Visual Theme & Atmosphere
61
+
62
+ Jobplanet (잡플래닛) is Korea's leading company-review and recruitment platform — the domestic answer to Glassdoor — and its interface reads like a bright, data-dense information utility rather than a glossy marketing site. The canvas alternates pure white (`#ffffff`) cards over a soft cool-grey page background (`#f3f3f4`), so content organizes itself into flat, scannable blocks. Text sits in a near-black `#333333` (never pure black for body), and a single confident spring-green (`#00c362`) is reserved almost entirely for action: the primary CTA, links, pagination, and inline arrows. The result is trustworthy and functional — a product built to help people compare employers, salaries, and interviews at a glance.
63
+
64
+ The typographic personality is unmistakably Korean-product-modern. The whole product surface runs on **Pretendard Variable** — the de-facto hangul UI font — with headlines at a restrained 24px / weight 700 and body dropping to a dense 13px / 400 at 1.5 line-height. There is no dramatic display-size hero on the product; hierarchy is carried by weight (700 vs 400) and by the green accent, not by giant type. This is information architecture over spectacle: sizes stay tight so that ratings, review counts, and salary figures can pack in without feeling cramped. Jobplanet's separate **tech blog** (techspace) does adopt a larger editorial voice — a 48px / 600 hero set in **IBM Plex Sans** — a distinct surface that signals "engineering culture," kept deliberately apart from the product chrome.
65
+
66
+ What distinguishes Jobplanet from flashier fintech or consumer peers is its restraint with depth. Live inspection found `box-shadow: none` across the hero, nav, story cards, and stat chips: separation comes from the flat `#f3f3f4` surface tint and thin `#e5e6e9` hairlines, not from elevation. Geometry is gently rounded — a 5px CTA, 8px stat chips, 12px content cards, and fully-round (9999px) circular icon buttons — never sharp, never heavily pill-shaped. The green comes in a small family: the workhorse `#00c362`, a vivid neon `#00ff91` used as a highlight marker, a slightly teal `#00c274` line/border variant, and a deep forest `#003a1c` for dark-on-light labels. The overall impression is clean, fast, and unintimidating — a serious data tool that still feels friendly.
67
+
68
+ **Key Characteristics:**
69
+ - Pretendard Variable across the entire product; 700 for headlines, 400 for body — weight is the hierarchy signal
70
+ - Single spring-green (`#00c362`) reserved for action — CTA, links, pagination, arrows
71
+ - Near-black `#333333` text (and `#323438` on some headings) instead of pure black — warmer, more legible
72
+ - Neon accent green (`#00ff91`) as a highlight marker, plus a `#00c274` line variant and deep `#003a1c` label green
73
+ - Flat depth: `box-shadow: none`; separation via `#f3f3f4` surface tint and `#e5e6e9` hairlines
74
+ - Gentle radius ladder — 5px CTA, 8px chips, 12px cards, full-round (`9999px`) icon buttons
75
+ - Dense, tight type sizing (13px body, 24px section head) tuned for information-heavy company data
76
+ - A separate tech-blog surface in IBM Plex Sans (48px / 600 hero) — editorial voice kept apart from product
77
+
78
+ ## 2. Color Palette & Roles
79
+
80
+ ### Primary
81
+ - **Jobplanet Green** (`#00c362`): The primary brand and action color. Background of the primary CTA ("바로가기"), and the text color of links, pagination numbers, footer links, and inline arrows — the system's single "action" hue.
82
+ - **Neon Highlight** (`#00ff91`): A vivid spring-green used as a small highlight marker / emphasis background. Brighter and more electric than the primary.
83
+ - **Green Line** (`#00c274`): A slightly teal-shifted green used for thin border/underline accents next to green elements.
84
+ - **Deep Forest** (`#003a1c`): A very dark green used for dark-on-light label text — a low-key branded alternative to grey for small green-family labels.
85
+ - **On-Primary White** (`#ffffff`): Text and icons on top of the green CTA.
86
+
87
+ ### Neutral & Surface
88
+ - **Pure White** (`#ffffff`): Card and content surfaces, search field background, text on green/dark.
89
+ - **Surface Grey** (`#f3f3f4`): The cool-grey page background and stat-chip fill — the primary flat separation device.
90
+ - **Hairline** (`#e5e6e9`): Thin 1px borders on circular buttons, dividers, and card outlines given the shadow-free system.
91
+
92
+ ### Text Hierarchy
93
+ - **Ink** (`#333333`): Primary body text, most headings, strong labels — a near-black used instead of pure black.
94
+ - **Ink Strong** (`#323438`): A slightly cooler dark used on some section headings.
95
+ - **Nav Slate** (`#4b4c50`): Top-navigation link text.
96
+ - **Muted Slate** (`#686a6d`): Login/sign-up links and tertiary UI text.
97
+ - **Faint Slate** (`#a4a6ad`): Secondary/meta text, captions — the highest-frequency muted tone.
98
+ - **Disabled Grey** (`#c5c7cc`): Disabled text, placeholders, lowest-emphasis labels.
99
+
100
+ ## 3. Typography Rules
101
+
102
+ ### Font Family
103
+ - **Product**: `Pretendard Variable` (with `Roboto`, `Noto Sans KR` fallbacks) — the document default across the entire product surface, for headings, nav, buttons, and body.
104
+ - **Tech blog**: `IBM Plex Sans` (with `Pretendard Variable` fallback) — used only on the techspace engineering blog for its editorial hero and headings.
105
+
106
+ ### Hierarchy
107
+
108
+ | Role | Font | Size | Weight | Line Height | Notes |
109
+ |------|------|------|--------|-------------|-------|
110
+ | Section Heading | Pretendard Variable | 24px (1.50rem) | 700 | 1.5 (36px) | Section titles (오늘의 추천, 커뮤니티 인기글) |
111
+ | Card / List Title | Pretendard Variable | 16px (1.00rem) | 700 | 1.5 (24px) | Stat chips, card headlines |
112
+ | Nav Link | Pretendard Variable | 15px (0.94rem) | 400 | 1.4 | Top navigation items |
113
+ | Button | Pretendard Variable | 14px (0.88rem) | 700 | — | Primary CTA label |
114
+ | Search Input | Pretendard Variable | 16px (1.00rem) | 400 | — | Global search field text |
115
+ | Body | Pretendard Variable | 13px (0.81rem) | 400 | 1.5 (19.5px) | Body copy, metadata, captions |
116
+ | Tech-Blog Hero | IBM Plex Sans | 48px (3.00rem) | 600 | 1.0 | techspace hero headline only |
117
+
118
+ ### Principles
119
+ - **Weight over size**: The product barely scales type — 24px is the largest common head. Hierarchy comes from 700 vs 400 weight and from the green accent, not from display sizes.
120
+ - **Dense body sizing**: Body sits at a tight 13px / 1.5, tuned for information-rich company data (ratings, salaries, review counts) rather than airy marketing copy.
121
+ - **One product font**: Pretendard Variable owns every product surface; IBM Plex Sans is quarantined to the tech blog so the editorial voice never bleeds into the product.
122
+ - **Normal tracking**: Letter-spacing stays `normal` throughout — there is no tight display tracking because there is no display type in the product.
123
+
124
+ ## 4. Component Stylings
125
+
126
+ ### Buttons
127
+
128
+ **Primary CTA (Green)**
129
+ - Background: `#00c362`
130
+ - Text: `#ffffff`
131
+ - Radius: 5px
132
+ - Padding: 0px 16px
133
+ - Height: 40px
134
+ - Font: 14px / 700 / Pretendard Variable
135
+ - Use: Primary action ("바로가기") — the system's single green CTA
136
+
137
+ **Stat Chip**
138
+ - Background: `#f3f3f4`
139
+ - Text: `#333333`
140
+ - Radius: 8px
141
+ - Padding: 0px 16px
142
+ - Height: 48px
143
+ - Font: 16px / 700 / Pretendard Variable
144
+ - Use: Company stat entry-point ("782개의 전∙현직자 리뷰", "15개의 채용정보")
145
+
146
+ **Circular Icon Button**
147
+ - Background: `#ffffff`
148
+ - Text: `#333333`
149
+ - Border: 1px solid `#e5e6e9`
150
+ - Radius: 9999px (full round)
151
+ - Padding: 6px
152
+ - Height: 32px
153
+ - Use: Carousel prev/next and small utility icon buttons
154
+
155
+ ### Inputs
156
+
157
+ **Global Search**
158
+ - Background: `#ffffff`
159
+ - Text: `#333333`
160
+ - Font: 16px / 400 / Pretendard Variable
161
+ - Height: 48px
162
+ - Placeholder: `#c5c7cc`
163
+ - Use: Site-wide search field ("기업, 공고, 콘텐츠 검색") — borderless, sits on white
164
+
165
+ ### Cards
166
+
167
+ **Content / Story Card**
168
+ - Background: `#ffffff`
169
+ - Text: `#333333`
170
+ - Radius: 12px
171
+ - Shadow: none
172
+ - Use: Story, interview, and recommendation cards on the grey canvas
173
+
174
+ ### Badges
175
+
176
+ **Neon Highlight**
177
+ - Background: `#00ff91`
178
+ - Text: `#333333`
179
+ - Radius: 4px
180
+ - Font: 13px / 400 / Pretendard Variable
181
+ - Use: Small highlight marker / emphasis tag
182
+
183
+ ### Navigation
184
+ - Background: `#ffffff`
185
+ - Text: `#4b4c50`
186
+ - Font: 15px / 400 / Pretendard Variable
187
+ - Height: 50px items
188
+ - Active: green `#00c362` text on the active item
189
+ - Secondary links ("로그인", "회원가입"): `#686a6d`
190
+ - Use: Top horizontal nav ("기업 랭킹", "커뮤니티", "채용", "콘텐츠", "연봉")
191
+
192
+ ---
193
+
194
+ **Verified:** 2026-07-02 (omd:add-reference CREATE — Tier 1 live inspect, 2 product surfaces + tech blog)
195
+ **Tier 1 sources:** https://www.jobplanet.co.kr/welcome/index, https://www.jobplanet.co.kr/companies, https://techspace.jobplanet.co.kr/
196
+ **Tier 2 sources:** getdesign.md/jobplanet (0 DESIGN.md files — not listed); styles.refero.design/?q=jobplanet (no Jobplanet-specific match)
197
+ **Conflicts unresolved:** none (both Tier-2 catalogs returned no Jobplanet data; all values from Tier 1 live inspect)
198
+
199
+ ## 5. Layout Principles
200
+
201
+ ### Spacing System
202
+ - Base unit: 8px, with a dense small end (4px, 6px) for chip and icon padding
203
+ - Scale: 4px, 6px, 8px, 12px, 16px, 24px
204
+ - Notable: Interactive padding lands at `0px 16px` horizontally on both the 40px CTA and 48px stat chips, giving a consistent, tappable horizontal rhythm
205
+
206
+ ### Grid & Container
207
+ - White content cards float over a full-width `#f3f3f4` grey canvas
208
+ - Section headings (24px / 700) anchor each block; recommendation and story cards arrange in horizontal carousels and responsive grids
209
+ - The global search input is a prominent, borderless 48px field at the top of company-search surfaces
210
+ - Stat chips ("N개의 전∙현직자 리뷰") group review + recruitment counts as flat grey entry points
211
+
212
+ ### Whitespace Philosophy
213
+ - **Flat segmentation**: sections separate by background (white cards vs `#f3f3f4` canvas) and `#e5e6e9` hairlines, not by shadow.
214
+ - **Dense but breathable**: body type is tight (13px) so data packs in, but generous card radius (12px) and 16px interior padding keep it from feeling cramped.
215
+ - **Action lives in one color**: the green `#00c362` is spatially rare — one CTA per block — so the eye always knows where to click.
216
+
217
+ ### Border Radius Scale
218
+ - Small (4px): highlight badges, inner elements
219
+ - CTA (5px): the primary green button
220
+ - Medium (8px): stat chips, mid-size containers
221
+ - Large (12px): content and story cards — the workhorse card radius
222
+ - Full (9999px): circular icon/carousel buttons
223
+
224
+ ## 6. Depth & Elevation
225
+
226
+ | Level | Treatment | Use |
227
+ |-------|-----------|-----|
228
+ | Flat (Level 0) | No shadow | Page background, inline text, most surfaces |
229
+ | Tint (Level 1) | `#f3f3f4` background shift | Card/section separation without elevation |
230
+ | Hairline (Level 2) | `1px solid #e5e6e9` border | Circular button outlines, dividers |
231
+
232
+ **Shadow Philosophy**: Jobplanet is a near-shadowless system. Live inspection returned `box-shadow: none` across the hero, nav, story cards, and stat chips. Depth and grouping are communicated entirely through flat tinted surfaces (`#f3f3f4`) and thin `#e5e6e9` hairlines. This is a deliberate modern-flat choice that keeps a data-heavy company-review product feeling fast, light, and mobile-native — avoiding the heavy card-stack look. When emphasis is needed the system reaches for the green (`#00c362`) or the neon highlight (`#00ff91`), never elevation.
233
+
234
+ ## 7. Do's and Don'ts
235
+
236
+ ### Do
237
+ - Use Pretendard Variable across the entire product; reserve IBM Plex Sans for the tech blog only
238
+ - Carry hierarchy with weight (700 vs 400) rather than large display sizes
239
+ - Reserve green (`#00c362`) for action — CTA, links, pagination — keep it the single "action" color
240
+ - Use near-black `#333333` for body text instead of pure black
241
+ - Separate sections with the `#f3f3f4` surface tint and `#e5e6e9` hairlines, not shadows
242
+ - Keep body dense (13px / 1.5) so ratings, salaries, and review counts pack in cleanly
243
+ - Use the gentle radius ladder — 5px CTA, 8px chips, 12px cards, full-round icon buttons
244
+ - Use the neon `#00ff91` sparingly as a highlight marker, not as a fill color
245
+
246
+ ### Don't
247
+ - Add drop shadows for elevation — Jobplanet is a flat, shadow-free system
248
+ - Spread green across many elements — it dilutes the single-action signal
249
+ - Use pure black (`#000000`) for body text — reserve near-black `#333333`
250
+ - Set giant display headlines on the product — the largest common head is 24px
251
+ - Use IBM Plex Sans on product surfaces — that voice belongs to the tech blog
252
+ - Use sharp square corners on cards or chips — everything is gently rounded
253
+ - Introduce a second saturated accent color — the green family is the only saturated hue
254
+ - Rely on size alone for hierarchy — weight and the green accent do that work
255
+
256
+ ## 8. Responsive Behavior
257
+
258
+ ### Breakpoints
259
+ | Name | Width | Key Changes |
260
+ |------|-------|-------------|
261
+ | Mobile | <640px | Single column, carousels become horizontal scroll, nav collapses |
262
+ | Tablet | 640-1024px | 2-up card grids, moderate padding |
263
+ | Desktop | 1024-1440px | Full layout, multi-column card grids, centered content |
264
+
265
+ ### Touch Targets
266
+ - Primary CTA at 40px height with 0px 16px padding — comfortably tappable
267
+ - Stat chips at 48px height for easy tapping into company detail
268
+ - Nav items at 50px height with 16px horizontal padding
269
+ - Search field at 48px height, full-width on narrow viewports
270
+
271
+ ### Collapsing Strategy
272
+ - Section heads (24px / 700) hold their size; card grids reflow multi-column → stacked
273
+ - Recommendation/story carousels switch to horizontal scroll on mobile
274
+ - White cards maintain 12px radius across breakpoints; grey canvas stays full-width
275
+ - Global search remains a prominent field near the top on all sizes
276
+
277
+ ### Image Behavior
278
+ - Card thumbnails and company logos carry no shadow at any size, consistent with the flat system
279
+ - Story cards keep their 12px radius; imagery is contained within the white card
280
+
281
+ ## 9. Agent Prompt Guide
282
+
283
+ ### Quick Color Reference
284
+ - Primary action / CTA / links: Jobplanet Green (`#00c362`)
285
+ - Neon highlight marker: (`#00ff91`)
286
+ - Green line / border accent: (`#00c274`)
287
+ - Deep green label: (`#003a1c`)
288
+ - Body / heading text: Ink (`#333333`), Ink Strong (`#323438`)
289
+ - Nav link: Nav Slate (`#4b4c50`)
290
+ - Secondary link: Muted Slate (`#686a6d`)
291
+ - Meta / caption: Faint Slate (`#a4a6ad`)
292
+ - Disabled / placeholder: (`#c5c7cc`)
293
+ - Canvas: Pure White (`#ffffff`); Surface: Grey (`#f3f3f4`); Hairline: (`#e5e6e9`)
294
+
295
+ ### Example Component Prompts
296
+ - "Create a company-review card block on a #f3f3f4 grey canvas. White card (#ffffff, 12px radius, no shadow). Section title 24px Pretendard Variable weight 700, #333333. Inside, a grey stat chip: #f3f3f4 background, #333333 text, 8px radius, 0px 16px padding, 48px height, 16px/700 — '782개의 전∙현직자 리뷰'. One green CTA: #00c362 background, white text, 5px radius, 40px height, 14px/700."
297
+ - "Build a top nav: white 50px header. Pretendard Variable 15px weight 400 links, #4b4c50 text, green #00c362 on the active item. Login/sign-up links in #686a6d."
298
+ - "Design a global search field: white #ffffff background, borderless, 48px height, 16px Pretendard Variable, #333333 text, #c5c7cc placeholder — '기업, 공고, 콘텐츠 검색'."
299
+ - "Add a neon highlight badge: #00ff91 background, #333333 text, 4px radius, 13px Pretendard Variable."
300
+
301
+ ### Iteration Guide
302
+ 1. Pretendard Variable everywhere on product; IBM Plex Sans only on the tech blog
303
+ 2. Green (`#00c362`) is the single action color — don't spread it
304
+ 3. No shadows — separate with `#f3f3f4` tint and `#e5e6e9` hairlines
305
+ 4. Weight, not size, drives hierarchy — 700 heads, 400 body
306
+ 5. Text color is `#333333` near-black, never pure black for body
307
+ 6. Radius ladder: 5px CTA, 8px chips, 12px cards, full-round icon buttons
308
+ 7. Keep body dense (13px / 1.5) for data-rich company layouts
309
+
310
+ ---
311
+
312
+ ## 10. Voice & Tone
313
+
314
+ Jobplanet's voice is **candid, insider, and pragmatic** — the tone of a trusted colleague who tells you what a company is really like to work at. Copy is plain Korean, information-first, and comfortable with real employee slang ("네카라쿠배", "이직러") because the product's whole premise is unvarnished, from-the-inside truth about employers. It never oversells: headlines state what you'll find ("전∙현직자가 직접 평가한 '사내문화가 좋은 기업'") rather than hyping an outcome. The register treats the user as a job-seeker or career-mover who deserves transparent data — reviews, salaries, interview reports — not a marketing funnel.
315
+
316
+ | Context | Tone |
317
+ |---|---|
318
+ | Section headings | Descriptive, benefit-clear. "전∙현직자가 직접 평가한 '사내문화가 좋은 기업'". |
319
+ | Stat / entry chips | Plain and factual. "782개의 전∙현직자 리뷰", "15개의 채용정보". |
320
+ | CTAs | Direct, low-pressure. "바로가기", "더 보기". |
321
+ | Content / community titles | Conversational, insider, sometimes playful. "이직러가 꼽은 '네카라쿠배' 중 1위는?". |
322
+ | Trust / data framing | Concrete and sourced. Emphasizes that reviews come from 전∙현직자 (current/former employees). |
323
+
324
+ **Voice samples (verbatim from live surfaces):**
325
+ - "NO.1 기업 정보 플랫폼 | 잡플래닛" — page title (category-leadership claim). *(verified live 2026-07-02)*
326
+ - "전∙현직자가 직접 평가한 '사내문화가 좋은 기업'" — section head (transparency framing). *(verified live 2026-07-02)*
327
+ - "782개의 전∙현직자 리뷰" — stat chip (data-density, sourced count). *(verified live 2026-07-02)*
328
+
329
+ **Forbidden register**: hype superlatives detached from data, fear-based career pressure, undefined jargon, exclamation-heavy marketing. Jobplanet's authority comes from being specific and sourced, not loud.
330
+
331
+ ## 11. Brand Narrative
332
+
333
+ Jobplanet (잡플래닛) launched in **2014**, built by the team that would become **BrainCommerce** (later operating under the Jobplanet/기업 정보 group), to solve a distinctly Korean information asymmetry: job-seekers had almost no transparent, employee-sourced view of what companies were actually like — culture, salary, management, interview process — before they signed on. Jobplanet's founding premise was to open that black box by aggregating reviews and ratings from 전·현직자 (current and former employees), positioning itself as the country's answer to Glassdoor.
334
+
335
+ Over the following decade the product matured into Korea's leading 기업 정보 (company-information) and recruitment platform, layering salary data, interview reports, company rankings, a jobs marketplace, and community discussion on top of the original review core. It also grew a B2B side — employer-branding and recruitment services for companies (기업 회원 서비스) — turning transparency into a two-sided marketplace where candidates get truth and employers get reach. The homepage's "NO.1 기업 정보 플랫폼" claim states that category leadership plainly.
336
+
337
+ What Jobplanet's design refuses is the glossy, aspirational chrome of consumer marketing sites: there is no oversized hero, no heavy shadow-stacked cards, no single hero image doing the persuading. What it embraces is a flat, dense, data-first interface — a single trustworthy green for action, near-black text for legibility, and tight typography that lets ratings and review counts speak for themselves. The design is, in effect, an argument that the data is the product.
338
+
339
+ ## 12. Principles
340
+
341
+ 1. **Transparency is the product.** Jobplanet exists to surface employee-sourced truth about companies. *UI implication:* foreground counts and sources ("782개의 전∙현직자 리뷰"); make data visible and scannable before any CTA.
342
+ 2. **Data density over spectacle.** A career decision needs many data points at once. *UI implication:* keep type tight (13px body), use weight for hierarchy, and pack ratings/salaries/reviews without resorting to giant display type.
343
+ 3. **One action, one color.** Green (`#00c362`) means "do this." *UI implication:* reserve the saturated green exclusively for the primary CTA, links, and pagination so the next step is never ambiguous.
344
+ 4. **Flat and fast.** Mobile-native clarity beats decorative depth. *UI implication:* no shadows; separate with the `#f3f3f4` tint and `#e5e6e9` hairlines; keep the page quick to scan.
345
+ 5. **Plain, insider voice.** Speak like a candid colleague, not a marketer. *UI implication:* descriptive headings and factual chips; embrace real job-market language rather than sanitized copy.
346
+
347
+ ## 13. Personas
348
+
349
+ *Personas below are fictional archetypes informed by publicly observable Jobplanet user segments (Korean job-seekers researching employers, career-movers comparing salaries, HR/employer-branding teams), not individual people.*
350
+
351
+ **김도현, 28, 서울.** A developer preparing to switch jobs. Reads interview reports and 전·현직자 reviews on Jobplanet before applying, and cross-checks salary ranges. Trusts the platform because the reviews feel sourced and specific, not like a recruiter's pitch.
352
+
353
+ **이서연, 33, 판교.** A product manager comparing two offers. Uses company rankings and 사내문화 ratings to sanity-check culture claims she heard in interviews. Values that the interface is dense enough to scan many companies in one sitting.
354
+
355
+ **박준혁, 41, 기업 인사팀.** An HR lead at a mid-size company managing the employer-branding profile (기업 회원 서비스). Wants the company page to look credible and current; cares that reviews and job posts render cleanly. Sees Jobplanet as where candidates form first impressions.
356
+
357
+ ## 14. States
358
+
359
+ | State | Treatment |
360
+ |---|---|
361
+ | **Empty (no reviews yet)** | White card on `#f3f3f4` canvas. Single Ink (`#333333`) line explaining no reviews exist yet, with one green (`#00c362`) CTA to write the first review. No illustration clutter. |
362
+ | **Empty (no search results)** | Faint Slate (`#a4a6ad`) single line stating nothing matched, with the search field kept visible above so the query can be adjusted. |
363
+ | **Loading (results fetch)** | Skeleton cards at final 12px-radius dimensions on the `#f3f3f4` surface. Flat pulse — no shadow shimmer, consistent with the shadowless system. |
364
+ | **Loading (in-place refresh)** | Previous content stays visible; a subtle green (`#00c362`) progress indicator signals the update. Never blank the list. |
365
+ | **Error (data load failed)** | Inline message in Ink (`#333333`) with a plain-language explanation and a retry, not a bare "오류가 발생했습니다". States what to do next. |
366
+ | **Error (form validation)** | Field-level message below the input describing what is valid, not just "필수". |
367
+ | **Success (review submitted)** | Brief inline confirmation in a calm tone; the new review surfaces immediately. No celebratory emoji. |
368
+ | **Skeleton** | `#f3f3f4` blocks at final dimensions, 12px radius, flat pulse. |
369
+ | **Disabled** | Disabled Grey (`#c5c7cc`) text on reduced-opacity surface; green actions fade rather than turn grey, to preserve brand read. |
370
+
371
+ ## 15. Motion & Easing
372
+
373
+ **Durations**:
374
+
375
+ | Token | Value | Use |
376
+ |---|---|---|
377
+ | `motion-fast` | 120ms | Hover, chip/button press, focus |
378
+ | `motion-standard` | 200ms | Card/section reveal, carousel slide, dropdown |
379
+ | `motion-slow` | 320ms | Page-level transitions, rare hero reveals |
380
+
381
+ **Easings**:
382
+
383
+ | Token | Curve | Use |
384
+ |---|---|---|
385
+ | `ease-enter` | `cubic-bezier(0.2, 0.6, 0.25, 1)` | Arriving — cards, dropdowns, sheets |
386
+ | `ease-exit` | `cubic-bezier(0.4, 0.0, 1, 1)` | Dismissals |
387
+ | `ease-standard` | `cubic-bezier(0.25, 0.1, 0.25, 1)` | Two-way transitions, carousel |
388
+
389
+ **Motion rules**: Motion is functional and quiet — consistent with the flat, fast, data-first aesthetic. Cards and results fade in from below at `motion-standard / ease-enter`; carousels slide horizontally with `ease-standard`; buttons and chips respond to press with a subtle opacity/scale shift. No bounce or spring — a company-information product signals steadiness and credibility, not playfulness. Under `prefers-reduced-motion: reduce`, all transitions collapse to instant and carousels advance without animation; the product remains fully functional.
390
+
391
+ <!--
392
+ OmD v0.1 Sources — Philosophy Layer (sections 10–15)
393
+
394
+ Tier 1 live inspect (2026-07-02) via playwright getComputedStyle:
395
+ - https://www.jobplanet.co.kr/welcome/index — nav, hero cards, primary CTA #00c362, stat chips, section heads
396
+ - https://www.jobplanet.co.kr/companies — global search input, pagination (green #00c362), interactive green
397
+ - https://techspace.jobplanet.co.kr/category/product — tech blog (IBM Plex Sans, 48px/600 hero) — second brand-owned surface
398
+ Full computed-style samples + color/radius frequency scans recorded in web/references/jobplanet/.verification.md.
399
+
400
+ Voice samples (§10) are verbatim from the live surfaces (page title, section head, stat chip).
401
+
402
+ Brand narrative (§11): Jobplanet (잡플래닛) launched ~2014 as a Korean company-review / recruitment
403
+ platform (the domestic Glassdoor analogue), later layering salary data, rankings, a jobs marketplace,
404
+ and B2B employer-branding services (기업 회원 서비스). "NO.1 기업 정보 플랫폼" is the homepage's own
405
+ category claim. Broader corporate-structure details are general public knowledge, not directly quoted
406
+ from a verified Jobplanet statement in this turn.
407
+
408
+ Personas (§13) are fictional archetypes informed by publicly observable Jobplanet user segments
409
+ (Korean job-seekers, career-movers, HR/employer-branding teams). Names are illustrative; they do not
410
+ refer to real people.
411
+
412
+ Interpretive claims (e.g., "the data is the product", "one action, one color", "flat and fast as a
413
+ rejection of glossy marketing chrome") are editorial readings connecting Jobplanet's observed design
414
+ to its positioning, not directly sourced Jobplanet statements.
415
+ -->