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
@@ -0,0 +1,254 @@
1
+ ---
2
+ id: familymart-tw
3
+ name: 全家便利商店
4
+ country: TW
5
+ category: ecommerce
6
+ homepage: "https://www.family.com.tw/Marketing/"
7
+ primary_color: "#00b347"
8
+ logo:
9
+ type: favicon
10
+ slug: "https://www.google.com/s2/favicons?domain=family.com.tw&sz=128"
11
+ verified: "2026-07-13"
12
+ omd: "0.1"
13
+ verification_v2:
14
+ schema: 2
15
+ checked: "2026-07-13"
16
+ surfaces:
17
+ - { id: home, kind: marketing, url: "https://www.family.com.tw/Marketing/ko", inspected: "2026-07-13" }
18
+ - { id: convenience, kind: product-information, url: "https://www.family.com.tw/Marketing/zh/Convenience", inspected: "2026-07-13" }
19
+ - { id: map, kind: store-service, url: "https://www.family.com.tw/Marketing/zh/Map", inspected: "2026-07-13" }
20
+ sources:
21
+ - { id: familymart-home-live, kind: product-surface, url: "https://www.family.com.tw/Marketing/ko", captured: "2026-07-13" }
22
+ - { id: familymart-convenience-live, kind: product-surface, url: "https://www.family.com.tw/Marketing/zh/Convenience", captured: "2026-07-13" }
23
+ - { id: familymart-map-live, kind: product-surface, url: "https://www.family.com.tw/Marketing/zh/Map", captured: "2026-07-13" }
24
+ - { id: familymart-company-info, kind: official-doc, url: "https://www.family.com.tw/web_enterprise/page/information.aspx", captured: "2026-07-14" }
25
+ - { id: familymart-vision, kind: official-doc, url: "https://www.family.com.tw/web_enterprise/page/business.aspx", captured: "2026-07-14" }
26
+ - { id: familymart-franchise, kind: official-doc, url: "https://www.family.com.tw/Web_Franchise/page/advantage.aspx", captured: "2026-07-14" }
27
+ conflicts: []
28
+ claims:
29
+ "tokens.colors.brand-green": &live { surface_id: home, source_id: familymart-home-live, method: computed-style, captured: "2026-07-13" }
30
+ "tokens.colors.canvas": *live
31
+ "tokens.colors.ink": *live
32
+ "tokens.colors.navigation": *live
33
+ "tokens.colors.utility-surface": *live
34
+ "tokens.colors.card-title": *live
35
+ "tokens.typography.body.size": *live
36
+ "tokens.typography.body.weight": *live
37
+ "tokens.typography.body.lineHeight": *live
38
+ "tokens.typography.body.use": *live
39
+ "tokens.typography.navigation.size": *live
40
+ "tokens.typography.navigation.weight": *live
41
+ "tokens.typography.navigation.lineHeight": *live
42
+ "tokens.typography.navigation.use": *live
43
+ "tokens.typography.card-title.size": *live
44
+ "tokens.typography.card-title.weight": *live
45
+ "tokens.typography.card-title.lineHeight": *live
46
+ "tokens.typography.card-title.use": *live
47
+ "tokens.spacing.xs": *live
48
+ "tokens.spacing.sm": *live
49
+ "tokens.spacing.md": *live
50
+ "tokens.spacing.lg": *live
51
+ "tokens.rounded.square": *live
52
+ "tokens.rounded.compact": *live
53
+ "tokens.shadow.flat": *live
54
+ "tokens.components.current-section-nav-row.type": *live
55
+ "tokens.components.current-section-nav-row.bg": *live
56
+ "tokens.components.current-section-nav-row.fg": *live
57
+ "tokens.components.current-section-nav-row.radius": *live
58
+ "tokens.components.current-section-nav-row.height": *live
59
+ "tokens.components.current-section-nav-row.font": *live
60
+ "tokens.components.current-section-nav-row.use": *live
61
+ tokens:
62
+ source: live-extract
63
+ extracted: "2026-07-13"
64
+ colors:
65
+ brand-green: "#00b347"
66
+ canvas: "#ffffff"
67
+ ink: "#212529"
68
+ navigation: "#7a7a7a"
69
+ utility-surface: "#f2f2f2"
70
+ card-title: "#68b5ac"
71
+ typography:
72
+ body: { size: 14, weight: 400, lineHeight: 1.5, use: "Observed public-route body and text navigation" }
73
+ navigation: { size: 14, weight: 700, lineHeight: 1.5, use: "Observed main navigation list-item label" }
74
+ card-title: { size: 16, weight: 700, lineHeight: 1.2, use: "Observed content-card title" }
75
+ spacing: { xs: 3, sm: 5, md: 10, lg: 15 }
76
+ rounded: { square: 0, compact: 3 }
77
+ shadow:
78
+ flat: "none"
79
+ components:
80
+ current-section-nav-row: { type: listItem, bg: "#00b347", fg: "#212529", radius: 0, height: 51, font: "14px/700", use: "Static current-section navigation row at home::li.main-menu__menu--active" }
81
+ components_harvested: true
82
+ ---
83
+
84
+ # Design System Inspiration of 全家便利商店
85
+
86
+ ## 1. Visual Theme & Atmosphere
87
+
88
+ Taiwan FamilyMart (全家便利商店) is a convenience-retail business that began with its first Taipei shop in 1988 and has developed a nationwide store, supply-chain, fresh-food, and digital-service network. Its own corporate history frames the current period as digital transformation: a customer-needs-led OMO platform that links physical stores with data-driven services. On the three supplied public routes, that practical “always nearby” role appears as a white, information-dense utility surface with a narrow green brand signal, dark functional text, quiet gray navigation, compact three-pixel controls, and teal content-card headings. The page does not turn green into a dominant canvas; it uses the measured `#00b347` most visibly as a small current-section marker and utility accent. That restrained treatment lets store information, service categories, and promotional imagery carry the page’s changing content while the shell remains familiar.
89
+
90
+ The visual record is deliberately scoped. It describes the captured public marketing, convenience-information, and store-service routes—not a checkout, membership account, native app, corporate website, or unobserved mobile breakpoint. FamilyMart’s corporate material supports the business and OMO context; it does not turn corporate language into UI-token evidence. [Company information](https://www.family.com.tw/web_enterprise/page/information.aspx) · [Brand vision](https://www.family.com.tw/web_enterprise/page/business.aspx)
91
+
92
+ **Key characteristics:**
93
+
94
+ - White `#ffffff` page surfaces with `#212529` operational text.
95
+ - A compact `#00b347` current-section accent rather than a documented universal CTA fill.
96
+ - `#7a7a7a` text navigation and `#f2f2f2` utility controls keep the shell low contrast.
97
+ - Zero- and three-pixel corners dominate the measured public routes; no elevation token was observed.
98
+ - The card-title accent is teal `#68b5ac`, separating content emphasis from the navigation green.
99
+
100
+ ## 2. Color Palette & Roles
101
+
102
+ ### Observed public-route palette
103
+
104
+ - **Brand green** (`#00b347`): Repeated computed text/border value across all three supplied routes and the measured fill on a current-section navigation row. It is not generalized into an unmeasured primary-button system.
105
+ - **Canvas** (`#ffffff`): Repeated public-route background and card surface.
106
+ - **Ink** (`#212529`): Repeated body text and border value; use as the observed functional baseline.
107
+ - **Navigation gray** (`#7a7a7a`): The measured text/border value on `navbar-item--text` links.
108
+ - **Utility surface** (`#f2f2f2`): The measured fill of the compact `dropbtn-more__btn` utility control.
109
+ - **Card-title teal** (`#68b5ac`): Measured content-card title color. Its local role is retained rather than inferred as a general brand color.
110
+
111
+ Other measured siblings—including `#007bff`, `#444444`, `#737373`, `#8c8c8c`, `#28a745`, and `#36ad1b`—are kept in the raw proof but omitted from tokens because their role is not resolved at a smaller boundary.
112
+
113
+ ## 3. Typography Rules
114
+
115
+ ### Evidence classes
116
+
117
+ **Live computed surface-use.** The supplied bundle records `Microsoft JhengHei, 微軟正黑體, sans-serif` as the computed family on 652 visible observations across the three public routes. It is classified by the bundle as unresolved and low confidence because there is no matching loaded FontFace or known-system mapping. The observed 14px/400 body and text-navigation samples, 14px/700 main-navigation labels, and 16px/700 card titles are recorded as metrics only; no `tokens.typography.family` is emitted.
118
+
119
+ **Official product-use.** No first-party source found in the permitted research names a product or app typeface. No such claim is inferred from the public capture.
120
+
121
+ **Official distributed brand asset.** No first-party distributed FamilyMart type asset was identified in the permitted research. The absence of that finding does not alter the measured public-route metrics.
122
+
123
+ **Declared-only and loaded icon assets.** The bundle reports `Font Awesome 5 Free` as loaded on two card-role observations, and `Font Awesome 5 Brands`, `IAGlyphs`, and `Material Icons` as declared with zero visible use. These icon-font facts do not establish a FamilyMart UI typeface and are omitted from typography tokens.
124
+
125
+ ### Observed public-route hierarchy
126
+
127
+ | Role | Size | Weight | Line height | Evidence boundary |
128
+ |---|---:|---:|---:|---|
129
+ | Body/text navigation | 14px | 400 | 21px | Captured public routes only |
130
+ | Main navigation list item | 14px | 700 | 21px | `main-menu__menu` row only |
131
+ | Content-card title | 16px | 700 | 19.2px | `card__title` only |
132
+
133
+ ## 4. Component Stylings
134
+
135
+ ### List item
136
+
137
+ **Current-section navigation row — static route context**
138
+ - Background: `#00b347`
139
+ - Text: `#212529`
140
+ - Radius: 0px
141
+ - Height: 51px
142
+ - Font: 14px / 700 / computed family unresolved
143
+ - Use: Static `home::li.main-menu__menu--active` current-section row; this selector, surface, and default geometry are the canonical `tokens.components.current-section-nav-row` evidence.
144
+
145
+ The supplied bundle reports `interactionCount: 0`. The selected-looking class is a static route snapshot, not an observed hover, focus, pressed, disabled, or other dynamic state. It is preserved as a list-item variant because the observed element is a navigation row, not as a button or inferred tab.
146
+
147
+ ### Button and input measurements retained outside tokens
148
+
149
+ The bundle measures a compact `dropbtn-more__btn` button (`#f2f2f2` fill, `#00b347` text, 3px radius, 5px padding, 12px/400) and a 14px input sample. They remain raw default geometry only: zero interaction records do not support state matrices, and no interactive component token is emitted.
150
+
151
+ ---
152
+ **Verified:** 2026-07-13
153
+ **Tier 1 sources:** https://www.family.com.tw/Marketing/ko, https://www.family.com.tw/Marketing/zh/Convenience, https://www.family.com.tw/Marketing/zh/Map, https://www.family.com.tw/web_enterprise/page/information.aspx, https://www.family.com.tw/web_enterprise/page/business.aspx
154
+ **Tier 2 sources:** attempted https://getdesign.md/familymart-tw; attempted https://styles.refero.design/?q=FamilyMart%20Taiwan
155
+ **Conflicts unresolved:** none
156
+
157
+ ## 5. Layout Principles
158
+
159
+ - Use the measured 3/5/10/15px values only as a compact public-route rhythm; the packet does not establish a universal grid.
160
+ - Keep the green accent local to an explicitly current navigation row or measured utility treatment rather than flooding the canvas.
161
+ - Use the measured teal only for content-card-title emphasis until a wider product-surface role is observed.
162
+ - The three routes were captured at 1440×900. Do not derive mobile columns, touch targets, carousel behavior, or breakpoints from this packet.
163
+
164
+ ## 6. Depth & Elevation
165
+
166
+ The supplied component and element samples report `box-shadow: none`. The reference therefore has only the flat shadow token; it does not claim that dialogs, menus, maps, or other unobserved layers are shadowless.
167
+
168
+ ## 7. Do's and Don'ts
169
+
170
+ ### Do
171
+
172
+ - Keep public information surfaces white and dense enough for store/service discovery.
173
+ - Use dark functional text, restrained gray navigation, and the locally measured green cue in their observed roles.
174
+ - Preserve the sharp-to-compact 0px/3px corner distinction.
175
+ - Treat route-selected navigation as a static context marker unless interaction evidence is captured.
176
+
177
+ ### Don't
178
+
179
+ - Do not invent a green filled CTA, hover recipe, or universal active state from this capture.
180
+ - Do not substitute a system font for the unresolved computed family or label it a FamilyMart typeface.
181
+ - Do not transfer corporate vision language into a component specification.
182
+ - Do not infer authenticated purchase, account, or native-app behavior from the public routes.
183
+
184
+ ## 8. Accessibility Notes
185
+
186
+ - Keep the observed dark-on-white informational baseline; evaluate any new green text or fill against its actual foreground/background pairing.
187
+ - Preserve visible route context without treating a class name as proof of keyboard focus.
188
+ - The supplied evidence contains no keyboard, screen-reader, contrast-audit, error, or responsive test. Those requirements remain unverified rather than assumed.
189
+
190
+ ## 9. Implementation Notes
191
+
192
+ Use the machine-readable token block as the canonical source for the measured public-route values. `current-section-nav-row` is intentionally the sole component token: it is a high-confidence collector `listItem` with a named class, source surface, selector, and default geometry. The `components_harvested: true` marker records an honestly capped harvest, not a claim that every public component was observed.
193
+
194
+ ## 10. Voice & Tone
195
+
196
+ The first-party vision frames the service around customer needs, convenience, shared growth, and a cross-industry convenience-life platform. For public service copy, that supports a practical, nearby, and action-oriented register—not a claim about an unpublished editorial style guide. [Brand vision](https://www.family.com.tw/web_enterprise/page/business.aspx)
197
+
198
+ | Do | Don't |
199
+ |---|---|
200
+ | Name the immediate service or store task. | Replace the task with abstract technology language. |
201
+ | Keep actions short and locally useful. | Promise unavailable real-time capability. |
202
+ | Connect convenience to a clear next step. | Invent a branded slogan or quote. |
203
+
204
+ Observed public-route voice samples: utility navigation labels, a convenience-information route, and a store-map route. Their exact strings are not tokenized or generalized as a copy system.
205
+
206
+ ## 11. Brand Narrative
207
+
208
+ FamilyMart Taiwan says it opened its first Taipei store in 1988, grew from one store into a network embedded in daily routines, and built its business with employees, franchisees, customers, suppliers, and cross-industry partners. Its official history explicitly labels 2021–2026 as a period of digital transformation. [Company information](https://www.family.com.tw/web_enterprise/page/information.aspx)
209
+
210
+ The company describes its current direction as a customer-needs-led OMO, data-driven retail platform that connects stores and digital channels, with an aim of making cross-industry convenience part of everyday life. It also states an ESG direction of a fair, mutually beneficial sustainable ecosystem. These are corporate narrative facts, not UI or typography specifications. [Brand vision](https://www.family.com.tw/web_enterprise/page/business.aspx)
211
+
212
+ Its franchise material presents the lasting brand idea as “全家就是你家” and describes a mix of community retail, supply-chain capability, fresh food, and varied store formats. This reference does not attribute an unverified executive quotation or translate that idea into unobserved product behavior. [Franchise advantage](https://www.family.com.tw/Web_Franchise/page/advantage.aspx)
213
+
214
+ ## 12. Principles
215
+
216
+ 1. **Start from customer need.**
217
+ *UI implication:* Make the immediate store/service task legible before secondary promotion; do not claim unobserved flows.
218
+ 2. **Connect physical and digital convenience.**
219
+ *UI implication:* Keep route context and service wayfinding explicit; verify any OMO interaction separately.
220
+ 3. **Grow with a broad stakeholder network.**
221
+ *UI implication:* Distinguish customer-facing service information from partner, corporate, and franchise content rather than collapsing the domains.
222
+ 4. **Evolve with social and environmental change.**
223
+ *UI implication:* Treat sustainability and service evolution as content context, not as license to invent status, success, or motion patterns.
224
+
225
+ ## 13. Personas
226
+
227
+ These are service-context archetypes derived from FamilyMart Taiwan’s stated stakeholder and convenience-service framing; they are not research-validated personas or demographic claims.
228
+
229
+ - **Nearby customer:** Needs a clear, quick route to store, product, or service information.
230
+ - **Franchise operator:** Needs operating and support information distinct from consumer-facing marketing.
231
+ - **Partner or supplier:** Encounters corporate and ecosystem context rather than a consumer transaction flow.
232
+ - **Service explorer:** Uses public route navigation to understand changing convenience, food, and store offerings.
233
+
234
+ ## 14. States
235
+
236
+ The supplied evidence establishes no branded state system. The following state boundaries are retained so they are not silently replaced with generic FamilyMart-looking UI.
237
+
238
+ | Category | Observed status | Boundary |
239
+ |---|---|---|
240
+ | Empty | Not observed | No empty-state copy, visual, or component token is asserted. |
241
+ | Loading | Not observed | No spinner, progress, or loading transition is asserted. |
242
+ | Error — form | Not observed | No validation color, message, or field geometry is asserted. |
243
+ | Error — service | Not observed | No outage or map-service treatment is asserted. |
244
+ | Success | Not observed | No confirmation treatment is asserted. |
245
+ | Skeleton | Not observed | No skeleton pattern is asserted. |
246
+ | Disabled | Not observed | No disabled visual token is asserted. |
247
+ | Selected route | Static capture only | A `main-menu__menu--active` row is observed; it is not an interaction-state claim. |
248
+ | Hover | Not observed | `interactionCount: 0`; omitted. |
249
+ | Focus | Not observed | `interactionCount: 0`; omitted. |
250
+ | Pressed | Not observed | `interactionCount: 0`; omitted. |
251
+
252
+ ## 15. Motion & Easing
253
+
254
+ No duration, easing, transition, loading, carousel, or menu-motion value is established by the supplied evidence. The capture has `interactionCount: 0`; motion tokens and motion rules are therefore omitted rather than filled with a generic convenience-retail default.