@design-ai/cli 4.55.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 (529) hide show
  1. package/.claude-plugin/plugin.json +164 -0
  2. package/AGENTS.ko.md +126 -0
  3. package/AGENTS.md +182 -0
  4. package/CHANGELOG.md +6883 -0
  5. package/CLAUDE.md +39 -0
  6. package/LICENSE +21 -0
  7. package/README.ko.md +245 -0
  8. package/README.md +277 -0
  9. package/agents/README.md +14 -0
  10. package/agents/a11y-reviewer.md +121 -0
  11. package/agents/component-architect.md +57 -0
  12. package/agents/design-critic.md +46 -0
  13. package/agents/token-extractor.md +63 -0
  14. package/cli/bin/design-ai-mcp.mjs +6 -0
  15. package/cli/bin/design-ai.mjs +40 -0
  16. package/cli/commands/audit.mjs +111 -0
  17. package/cli/commands/check.mjs +226 -0
  18. package/cli/commands/doctor.mjs +141 -0
  19. package/cli/commands/examples.mjs +58 -0
  20. package/cli/commands/help.mjs +271 -0
  21. package/cli/commands/install.mjs +161 -0
  22. package/cli/commands/learn.mjs +1871 -0
  23. package/cli/commands/list.mjs +143 -0
  24. package/cli/commands/mcp.mjs +27 -0
  25. package/cli/commands/pack.mjs +211 -0
  26. package/cli/commands/prompt.mjs +199 -0
  27. package/cli/commands/route.mjs +247 -0
  28. package/cli/commands/search.mjs +60 -0
  29. package/cli/commands/show.mjs +52 -0
  30. package/cli/commands/site.mjs +558 -0
  31. package/cli/commands/status.mjs +161 -0
  32. package/cli/commands/uninstall.mjs +119 -0
  33. package/cli/commands/update.mjs +184 -0
  34. package/cli/commands/version.mjs +94 -0
  35. package/cli/commands/workspace.mjs +176 -0
  36. package/cli/lib/brief.mjs +52 -0
  37. package/cli/lib/check.mjs +642 -0
  38. package/cli/lib/dispatch.mjs +109 -0
  39. package/cli/lib/doctor.mjs +505 -0
  40. package/cli/lib/examples.mjs +258 -0
  41. package/cli/lib/exec.mjs +63 -0
  42. package/cli/lib/help-flags.mjs +5 -0
  43. package/cli/lib/learn.mjs +3694 -0
  44. package/cli/lib/log.mjs +47 -0
  45. package/cli/lib/mcp-server.mjs +426 -0
  46. package/cli/lib/output.mjs +101 -0
  47. package/cli/lib/pack.mjs +599 -0
  48. package/cli/lib/paths.mjs +63 -0
  49. package/cli/lib/prompt.mjs +603 -0
  50. package/cli/lib/route.mjs +740 -0
  51. package/cli/lib/search.mjs +158 -0
  52. package/cli/lib/show.mjs +161 -0
  53. package/cli/lib/signals.mjs +2337 -0
  54. package/cli/lib/site.mjs +6617 -0
  55. package/cli/lib/skill-proposals.mjs +2046 -0
  56. package/cli/lib/suggest.mjs +66 -0
  57. package/cli/lib/workspace.mjs +1056 -0
  58. package/commands/README.md +25 -0
  59. package/commands/component-spec.md +34 -0
  60. package/commands/conversational.md +44 -0
  61. package/commands/design-from-brief.md +141 -0
  62. package/commands/design-review.md +62 -0
  63. package/commands/document-from-brief.md +47 -0
  64. package/commands/extract-tokens.md +38 -0
  65. package/commands/game-ui.md +40 -0
  66. package/commands/illustration.md +37 -0
  67. package/commands/iterate.md +167 -0
  68. package/commands/motion-design.md +54 -0
  69. package/commands/palette-from-brand.md +50 -0
  70. package/commands/print.md +49 -0
  71. package/commands/slide-deck.md +46 -0
  72. package/commands/spatial.md +47 -0
  73. package/commands/stability-review.md +74 -0
  74. package/commands/video.md +42 -0
  75. package/commands/website-improvement.md +77 -0
  76. package/docs/AGENT-DEVELOPMENT.md +658 -0
  77. package/docs/AI-LEARNING.md +429 -0
  78. package/docs/AIDER-INTEGRATION.md +224 -0
  79. package/docs/ARCHITECTURE.ko.md +183 -0
  80. package/docs/ARCHITECTURE.md +105 -0
  81. package/docs/CODEX-INTEGRATION.md +311 -0
  82. package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
  83. package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
  84. package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
  85. package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
  86. package/docs/CONTRIBUTING.ko.md +203 -0
  87. package/docs/CONTRIBUTING.md +242 -0
  88. package/docs/CURSOR-INTEGRATION.md +220 -0
  89. package/docs/DISTRIBUTION.ko.md +248 -0
  90. package/docs/DISTRIBUTION.md +253 -0
  91. package/docs/DOGFOOD-FINDINGS.md +180 -0
  92. package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
  93. package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
  94. package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
  95. package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
  96. package/docs/FIGMA-INTEGRATION.md +222 -0
  97. package/docs/MCP-INTEGRATION.md +243 -0
  98. package/docs/MIGRATION-v4.md +121 -0
  99. package/docs/PLUGIN-PACKAGING.md +240 -0
  100. package/docs/PRODUCT-READINESS.md +66 -0
  101. package/docs/QUICKSTART.ko.md +178 -0
  102. package/docs/QUICKSTART.md +179 -0
  103. package/docs/RELEASE-CHECKLIST.md +292 -0
  104. package/docs/ROADMAP.md +19495 -0
  105. package/docs/SESSION-LOG.md +940 -0
  106. package/docs/TOKEN-SYNC.md +237 -0
  107. package/docs/USING.ko.md +206 -0
  108. package/docs/USING.md +218 -0
  109. package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
  110. package/docs/WEBSITE-IMPROVEMENT.md +89 -0
  111. package/docs/announcements/README.md +56 -0
  112. package/docs/announcements/dev-to-korea.md +206 -0
  113. package/docs/announcements/hashnode-post.ko.md +232 -0
  114. package/docs/announcements/okky-post.ko.md +158 -0
  115. package/docs/announcements/press-kit.md +101 -0
  116. package/docs/announcements/reddit-r-korea.md +196 -0
  117. package/docs/announcements/show-hn.md +114 -0
  118. package/docs/announcements/twitter-thread.md +255 -0
  119. package/docs/external-status.md +34 -0
  120. package/docs/integrations/aider-walkthrough.ko.md +275 -0
  121. package/docs/integrations/aider-walkthrough.md +274 -0
  122. package/docs/integrations/codex-walkthrough.ko.md +297 -0
  123. package/docs/integrations/codex-walkthrough.md +297 -0
  124. package/docs/integrations/cursor-walkthrough.ko.md +281 -0
  125. package/docs/integrations/cursor-walkthrough.md +284 -0
  126. package/docs/integrations/design-ai-mcp-server.md +169 -0
  127. package/docs/integrations/figma-mcp.md +149 -0
  128. package/docs/integrations/github-mcp.md +178 -0
  129. package/docs/integrations/linear-mcp.md +215 -0
  130. package/docs/integrations/notion-mcp.md +174 -0
  131. package/docs/integrations/sdk-walkthrough.ko.md +375 -0
  132. package/docs/integrations/sdk-walkthrough.md +375 -0
  133. package/docs/integrations/slack-mcp.md +208 -0
  134. package/docs/integrations/vscode-walkthrough.ko.md +202 -0
  135. package/docs/integrations/vscode-walkthrough.md +205 -0
  136. package/docs/requirements.txt +16 -0
  137. package/docs/site-overrides/extra.css +83 -0
  138. package/docs/site-overrides/favicon.svg +4 -0
  139. package/docs/site-overrides/logo.svg +10 -0
  140. package/docs/site-overrides/main.html +18 -0
  141. package/docs/website-console/app.js +2540 -0
  142. package/docs/website-console/index.html +24 -0
  143. package/docs/website-console/styles.css +975 -0
  144. package/examples/README.md +252 -0
  145. package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
  146. package/examples/component-accordion-actions.md +153 -0
  147. package/examples/component-accordion-details.md +147 -0
  148. package/examples/component-accordion-summary.md +180 -0
  149. package/examples/component-accordion.md +229 -0
  150. package/examples/component-account-card.md +284 -0
  151. package/examples/component-address-input.md +260 -0
  152. package/examples/component-affix.md +190 -0
  153. package/examples/component-alert-dialog.md +210 -0
  154. package/examples/component-alert-title.md +77 -0
  155. package/examples/component-alert.md +192 -0
  156. package/examples/component-amount-input.md +278 -0
  157. package/examples/component-anchor.md +198 -0
  158. package/examples/component-app-bar.md +249 -0
  159. package/examples/component-aspect-ratio.md +156 -0
  160. package/examples/component-auto-complete.md +199 -0
  161. package/examples/component-avatar-group.md +170 -0
  162. package/examples/component-avatar.md +191 -0
  163. package/examples/component-back-top.md +123 -0
  164. package/examples/component-backdrop.md +148 -0
  165. package/examples/component-badge.md +181 -0
  166. package/examples/component-banner.md +237 -0
  167. package/examples/component-biometric-gate.md +281 -0
  168. package/examples/component-blockquote.md +153 -0
  169. package/examples/component-border-beam.md +207 -0
  170. package/examples/component-bottom-navigation.md +226 -0
  171. package/examples/component-box.md +112 -0
  172. package/examples/component-breadcrumb.md +222 -0
  173. package/examples/component-button-base.md +190 -0
  174. package/examples/component-button-group.md +117 -0
  175. package/examples/component-button.md +213 -0
  176. package/examples/component-calendar.md +280 -0
  177. package/examples/component-callout.md +131 -0
  178. package/examples/component-card-actions.md +101 -0
  179. package/examples/component-card-content.md +90 -0
  180. package/examples/component-card-header.md +122 -0
  181. package/examples/component-card-media.md +79 -0
  182. package/examples/component-card.md +233 -0
  183. package/examples/component-carousel.md +266 -0
  184. package/examples/component-cascader.md +135 -0
  185. package/examples/component-category-picker.md +271 -0
  186. package/examples/component-chart.md +237 -0
  187. package/examples/component-chat-interface.md +399 -0
  188. package/examples/component-checkbox.md +149 -0
  189. package/examples/component-click-away-listener.md +87 -0
  190. package/examples/component-code.md +213 -0
  191. package/examples/component-collapsible.md +219 -0
  192. package/examples/component-color-picker.md +110 -0
  193. package/examples/component-combobox.md +267 -0
  194. package/examples/component-command.md +299 -0
  195. package/examples/component-config-provider.md +190 -0
  196. package/examples/component-context-menu.md +179 -0
  197. package/examples/component-css-baseline.md +148 -0
  198. package/examples/component-date-picker.md +249 -0
  199. package/examples/component-descriptions.md +242 -0
  200. package/examples/component-dialog-actions.md +111 -0
  201. package/examples/component-dialog-content-text.md +76 -0
  202. package/examples/component-dialog-content.md +105 -0
  203. package/examples/component-dialog-title.md +104 -0
  204. package/examples/component-dialog.md +176 -0
  205. package/examples/component-divider.md +182 -0
  206. package/examples/component-doc-page.md +217 -0
  207. package/examples/component-drawer.md +257 -0
  208. package/examples/component-dropdown.md +220 -0
  209. package/examples/component-email-layout.md +253 -0
  210. package/examples/component-empty-state.md +269 -0
  211. package/examples/component-empty.md +172 -0
  212. package/examples/component-fade.md +87 -0
  213. package/examples/component-feature-grid.md +201 -0
  214. package/examples/component-field.md +266 -0
  215. package/examples/component-filled-input.md +114 -0
  216. package/examples/component-flex.md +117 -0
  217. package/examples/component-float-button.md +214 -0
  218. package/examples/component-form-control-label.md +134 -0
  219. package/examples/component-form-control.md +113 -0
  220. package/examples/component-form-controls.md +251 -0
  221. package/examples/component-form-group.md +86 -0
  222. package/examples/component-form-helper-text.md +95 -0
  223. package/examples/component-form-label.md +98 -0
  224. package/examples/component-form.md +291 -0
  225. package/examples/component-game-hud.md +362 -0
  226. package/examples/component-game-menu.md +327 -0
  227. package/examples/component-grid.md +140 -0
  228. package/examples/component-grow.md +79 -0
  229. package/examples/component-hero-block.md +252 -0
  230. package/examples/component-hover-card.md +211 -0
  231. package/examples/component-icon-button.md +142 -0
  232. package/examples/component-icon.md +102 -0
  233. package/examples/component-illustration.md +280 -0
  234. package/examples/component-image-list.md +107 -0
  235. package/examples/component-image.md +282 -0
  236. package/examples/component-input-adornment.md +101 -0
  237. package/examples/component-input-base.md +134 -0
  238. package/examples/component-input-number.md +141 -0
  239. package/examples/component-input-otp.md +271 -0
  240. package/examples/component-input.md +213 -0
  241. package/examples/component-item.md +243 -0
  242. package/examples/component-kbd.md +197 -0
  243. package/examples/component-krw-amount.md +219 -0
  244. package/examples/component-label.md +118 -0
  245. package/examples/component-layout.md +217 -0
  246. package/examples/component-link.md +223 -0
  247. package/examples/component-list-item-avatar.md +72 -0
  248. package/examples/component-list-item-button.md +139 -0
  249. package/examples/component-list-item-icon.md +82 -0
  250. package/examples/component-list-item-text.md +98 -0
  251. package/examples/component-list-item.md +116 -0
  252. package/examples/component-list-subheader.md +70 -0
  253. package/examples/component-list.md +198 -0
  254. package/examples/component-loading-button.md +125 -0
  255. package/examples/component-loading-sequence.md +254 -0
  256. package/examples/component-lottie-player.md +279 -0
  257. package/examples/component-masonry.md +191 -0
  258. package/examples/component-mentions.md +189 -0
  259. package/examples/component-menu-item.md +102 -0
  260. package/examples/component-menu-list.md +98 -0
  261. package/examples/component-menu.md +139 -0
  262. package/examples/component-menubar.md +259 -0
  263. package/examples/component-message.md +162 -0
  264. package/examples/component-mobile-stepper.md +155 -0
  265. package/examples/component-modal.md +220 -0
  266. package/examples/component-navigation-menu.md +295 -0
  267. package/examples/component-notification.md +166 -0
  268. package/examples/component-otp-countdown.md +245 -0
  269. package/examples/component-outlined-input.md +145 -0
  270. package/examples/component-page-transition.md +281 -0
  271. package/examples/component-pagination.md +226 -0
  272. package/examples/component-paper.md +199 -0
  273. package/examples/component-pass-auth.md +265 -0
  274. package/examples/component-payment-brand-button.md +253 -0
  275. package/examples/component-payment-method-selector.md +272 -0
  276. package/examples/component-payment-receipt.md +277 -0
  277. package/examples/component-popconfirm.md +144 -0
  278. package/examples/component-popover.md +239 -0
  279. package/examples/component-popper.md +129 -0
  280. package/examples/component-pricing-cards.md +247 -0
  281. package/examples/component-progress.md +195 -0
  282. package/examples/component-qr-code.md +201 -0
  283. package/examples/component-radio.md +167 -0
  284. package/examples/component-rate.md +202 -0
  285. package/examples/component-resizable.md +163 -0
  286. package/examples/component-result.md +270 -0
  287. package/examples/component-scroll-area.md +199 -0
  288. package/examples/component-scroll-reveal.md +320 -0
  289. package/examples/component-segmented.md +178 -0
  290. package/examples/component-select.md +258 -0
  291. package/examples/component-separator.md +177 -0
  292. package/examples/component-sheet.md +277 -0
  293. package/examples/component-sidebar.md +257 -0
  294. package/examples/component-skeleton.md +178 -0
  295. package/examples/component-slide.md +89 -0
  296. package/examples/component-slider.md +208 -0
  297. package/examples/component-snackbar-content.md +92 -0
  298. package/examples/component-snackbar.md +121 -0
  299. package/examples/component-sonner.md +165 -0
  300. package/examples/component-space.md +125 -0
  301. package/examples/component-spatial-locomotion.md +373 -0
  302. package/examples/component-spatial-panel.md +330 -0
  303. package/examples/component-speed-dial-action.md +78 -0
  304. package/examples/component-speed-dial.md +177 -0
  305. package/examples/component-spin.md +173 -0
  306. package/examples/component-spinner.md +204 -0
  307. package/examples/component-splitter.md +210 -0
  308. package/examples/component-stack.md +130 -0
  309. package/examples/component-statistic.md +282 -0
  310. package/examples/component-step-button.md +157 -0
  311. package/examples/component-step-connector.md +157 -0
  312. package/examples/component-step-content.md +121 -0
  313. package/examples/component-step-icon.md +115 -0
  314. package/examples/component-step-label.md +101 -0
  315. package/examples/component-step.md +84 -0
  316. package/examples/component-steps.md +264 -0
  317. package/examples/component-stock-chart.md +251 -0
  318. package/examples/component-swipeable-drawer.md +149 -0
  319. package/examples/component-switch.md +99 -0
  320. package/examples/component-tab-scroll-button.md +180 -0
  321. package/examples/component-tab.md +120 -0
  322. package/examples/component-table-body.md +82 -0
  323. package/examples/component-table-cell.md +118 -0
  324. package/examples/component-table-container.md +75 -0
  325. package/examples/component-table-footer.md +72 -0
  326. package/examples/component-table-head.md +78 -0
  327. package/examples/component-table-pagination.md +137 -0
  328. package/examples/component-table-row.md +113 -0
  329. package/examples/component-table-sort-label.md +109 -0
  330. package/examples/component-table.md +202 -0
  331. package/examples/component-tabs.md +184 -0
  332. package/examples/component-tag-badge.md +309 -0
  333. package/examples/component-tag.md +102 -0
  334. package/examples/component-testimonial-carousel.md +218 -0
  335. package/examples/component-textarea-autosize.md +114 -0
  336. package/examples/component-textarea.md +173 -0
  337. package/examples/component-time-picker.md +205 -0
  338. package/examples/component-timeline.md +170 -0
  339. package/examples/component-toast.md +224 -0
  340. package/examples/component-toggle-button.md +129 -0
  341. package/examples/component-toggle.md +220 -0
  342. package/examples/component-toolbar.md +104 -0
  343. package/examples/component-tooltip.md +178 -0
  344. package/examples/component-tour.md +176 -0
  345. package/examples/component-transaction-list-item.md +243 -0
  346. package/examples/component-transfer.md +156 -0
  347. package/examples/component-tree-select.md +202 -0
  348. package/examples/component-tree.md +297 -0
  349. package/examples/component-typography.md +215 -0
  350. package/examples/component-upload.md +295 -0
  351. package/examples/component-video-hero.md +409 -0
  352. package/examples/component-video-player.md +340 -0
  353. package/examples/component-voice-input.md +408 -0
  354. package/examples/component-watermark.md +217 -0
  355. package/examples/component-zoom.md +92 -0
  356. package/examples/doc-explanation-example.md +196 -0
  357. package/examples/doc-how-to-example.md +205 -0
  358. package/examples/doc-tutorial-example.md +162 -0
  359. package/examples/dogfood-korean-fintech-system.md +433 -0
  360. package/examples/email-transactional-example.md +259 -0
  361. package/examples/palette-saas-violet.md +235 -0
  362. package/examples/print-business-card-spec.md +205 -0
  363. package/examples/print-packaging-spec.md +285 -0
  364. package/examples/report-example.md +228 -0
  365. package/examples/slide-deck-example.md +237 -0
  366. package/examples/website-improvement-report.md +128 -0
  367. package/examples/website-improvement-workspace.json +126 -0
  368. package/install.sh +189 -0
  369. package/knowledge/COVERAGE.md +740 -0
  370. package/knowledge/PRINCIPLES.md +108 -0
  371. package/knowledge/a11y/contrast.md +70 -0
  372. package/knowledge/a11y/keyboard-and-focus.md +108 -0
  373. package/knowledge/colors/color-theory.md +90 -0
  374. package/knowledge/colors/mui-palette-structure.md +105 -0
  375. package/knowledge/colors/palettes-by-product-type.md +876 -0
  376. package/knowledge/components/INDEX.md +231 -0
  377. package/knowledge/components/index.json +1470 -0
  378. package/knowledge/components/shadcn-registry.md +159 -0
  379. package/knowledge/conversational/ai-chat-interfaces.md +323 -0
  380. package/knowledge/conversational/chatbot-design.md +312 -0
  381. package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
  382. package/knowledge/conversational/korean-voice-conventions.md +281 -0
  383. package/knowledge/conversational/voice-ui-patterns.md +297 -0
  384. package/knowledge/design-tokens/ant-design.md +124 -0
  385. package/knowledge/design-tokens/material-3.md +235 -0
  386. package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
  387. package/knowledge/design-tokens/tailwind-v4.md +284 -0
  388. package/knowledge/game-ui/game-accessibility.md +317 -0
  389. package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
  390. package/knowledge/game-ui/hud-design.md +324 -0
  391. package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
  392. package/knowledge/game-ui/menu-systems.md +388 -0
  393. package/knowledge/i18n/korean-app-store-visual.md +223 -0
  394. package/knowledge/i18n/korean-document-style.md +301 -0
  395. package/knowledge/i18n/korean-payments.md +211 -0
  396. package/knowledge/i18n/korean-product-conventions.md +96 -0
  397. package/knowledge/i18n/korean-publishing.md +139 -0
  398. package/knowledge/i18n/korean-typography.md +123 -0
  399. package/knowledge/icons/curated-sets.md +225 -0
  400. package/knowledge/illustration/hero-illustrations.md +234 -0
  401. package/knowledge/illustration/illustration-systems.md +221 -0
  402. package/knowledge/illustration/mascot-design.md +208 -0
  403. package/knowledge/illustration/spot-illustrations.md +246 -0
  404. package/knowledge/illustration/svg-optimization.md +308 -0
  405. package/knowledge/layout/spacing-and-grid.md +119 -0
  406. package/knowledge/motion/app-loading-sequences.md +277 -0
  407. package/knowledge/motion/choreography-depth.md +297 -0
  408. package/knowledge/motion/marketing-motion.md +223 -0
  409. package/knowledge/motion/micro-interactions.md +266 -0
  410. package/knowledge/motion/motion-tools.md +281 -0
  411. package/knowledge/motion/principles.md +126 -0
  412. package/knowledge/patterns/auth-flow-design.md +316 -0
  413. package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
  414. package/knowledge/patterns/brand-identity.md +238 -0
  415. package/knowledge/patterns/brand-references.md +97 -0
  416. package/knowledge/patterns/chart-color-encoding.md +269 -0
  417. package/knowledge/patterns/chart-types.md +344 -0
  418. package/knowledge/patterns/dashboard-composition.md +299 -0
  419. package/knowledge/patterns/design-system-qa.md +356 -0
  420. package/knowledge/patterns/document-typography.md +248 -0
  421. package/knowledge/patterns/email-design.md +338 -0
  422. package/knowledge/patterns/empty-states.md +263 -0
  423. package/knowledge/patterns/error-states.md +318 -0
  424. package/knowledge/patterns/form-design.md +237 -0
  425. package/knowledge/patterns/information-architecture.md +341 -0
  426. package/knowledge/patterns/landing-hero-design.md +283 -0
  427. package/knowledge/patterns/landing-page-patterns.md +681 -0
  428. package/knowledge/patterns/list-and-feed.md +371 -0
  429. package/knowledge/patterns/mobile-navigation.md +278 -0
  430. package/knowledge/patterns/money-and-amount.md +301 -0
  431. package/knowledge/patterns/onboarding.md +300 -0
  432. package/knowledge/patterns/pricing-page-design.md +261 -0
  433. package/knowledge/patterns/realtime-data.md +280 -0
  434. package/knowledge/patterns/report-design.md +330 -0
  435. package/knowledge/patterns/search-ux.md +373 -0
  436. package/knowledge/patterns/settings-page.md +325 -0
  437. package/knowledge/patterns/slide-deck-design.md +316 -0
  438. package/knowledge/patterns/styles-catalog.md +2599 -0
  439. package/knowledge/patterns/technical-writing.md +306 -0
  440. package/knowledge/patterns/ui-reasoning.md +1853 -0
  441. package/knowledge/patterns/ux-guidelines.md +1454 -0
  442. package/knowledge/platforms/react-native.md +395 -0
  443. package/knowledge/print/brochures-and-flyers.md +276 -0
  444. package/knowledge/print/korean-print-conventions.md +284 -0
  445. package/knowledge/print/packaging.md +321 -0
  446. package/knowledge/print/print-fundamentals.md +238 -0
  447. package/knowledge/print/signage-and-posters.md +235 -0
  448. package/knowledge/print/stationery.md +262 -0
  449. package/knowledge/spatial/ar-patterns.md +253 -0
  450. package/knowledge/spatial/comfort-and-accessibility.md +245 -0
  451. package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
  452. package/knowledge/spatial/spatial-ui-elements.md +343 -0
  453. package/knowledge/spatial/vr-patterns.md +302 -0
  454. package/knowledge/typography/font-pairings.md +332 -0
  455. package/knowledge/typography/mui-type-scale.md +57 -0
  456. package/knowledge/typography/type-scale-fundamentals.md +105 -0
  457. package/knowledge/video/in-product-video.md +277 -0
  458. package/knowledge/video/korean-video-conventions.md +247 -0
  459. package/knowledge/video/marketing-video.md +258 -0
  460. package/knowledge/video/social-and-short-form.md +257 -0
  461. package/knowledge/video/video-fundamentals.md +296 -0
  462. package/package.json +106 -0
  463. package/skills/README.md +39 -0
  464. package/skills/color-palette/PLAYBOOK.md +175 -0
  465. package/skills/color-palette/SKILL.md +6 -0
  466. package/skills/color-palette/TEMPLATE.md +103 -0
  467. package/skills/component-spec-writer/PLAYBOOK.md +169 -0
  468. package/skills/component-spec-writer/SKILL.md +6 -0
  469. package/skills/component-spec-writer/TEMPLATE.md +115 -0
  470. package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
  471. package/skills/conversational-ui-designer/SKILL.md +6 -0
  472. package/skills/design-broadcast/PLAYBOOK.md +146 -0
  473. package/skills/design-broadcast/SKILL.md +6 -0
  474. package/skills/design-critique/PLAYBOOK.md +137 -0
  475. package/skills/design-critique/SKILL.md +6 -0
  476. package/skills/design-pr-review/PLAYBOOK.md +171 -0
  477. package/skills/design-pr-review/SKILL.md +6 -0
  478. package/skills/design-system-builder/PLAYBOOK.md +218 -0
  479. package/skills/design-system-builder/SKILL.md +6 -0
  480. package/skills/design-system-qa/PLAYBOOK.md +163 -0
  481. package/skills/design-system-qa/SKILL.md +6 -0
  482. package/skills/document-author/PLAYBOOK.md +167 -0
  483. package/skills/document-author/SKILL.md +6 -0
  484. package/skills/figma-token-sync/PLAYBOOK.md +149 -0
  485. package/skills/figma-token-sync/SKILL.md +6 -0
  486. package/skills/game-ui-designer/PLAYBOOK.md +209 -0
  487. package/skills/game-ui-designer/SKILL.md +6 -0
  488. package/skills/handoff-spec/PLAYBOOK.md +170 -0
  489. package/skills/handoff-spec/SKILL.md +6 -0
  490. package/skills/illustration-designer/PLAYBOOK.md +166 -0
  491. package/skills/illustration-designer/SKILL.md +6 -0
  492. package/skills/motion-designer/PLAYBOOK.md +223 -0
  493. package/skills/motion-designer/SKILL.md +6 -0
  494. package/skills/print-designer/PLAYBOOK.md +209 -0
  495. package/skills/print-designer/SKILL.md +6 -0
  496. package/skills/slide-deck-author/PLAYBOOK.md +198 -0
  497. package/skills/slide-deck-author/SKILL.md +6 -0
  498. package/skills/spatial-designer/PLAYBOOK.md +238 -0
  499. package/skills/spatial-designer/SKILL.md +6 -0
  500. package/skills/ux-audit/PLAYBOOK.md +142 -0
  501. package/skills/ux-audit/SKILL.md +6 -0
  502. package/skills/video-designer/PLAYBOOK.md +240 -0
  503. package/skills/video-designer/SKILL.md +6 -0
  504. package/skills/website-improvement/PLAYBOOK.md +118 -0
  505. package/skills/website-improvement/SKILL.md +6 -0
  506. package/skills/website-improvement/TEMPLATE.md +103 -0
  507. package/tools/audit/changelog-generate.py +176 -0
  508. package/tools/audit/check-coverage.py +483 -0
  509. package/tools/audit/doctor_assertions.py +256 -0
  510. package/tools/audit/example-qa.py +108 -0
  511. package/tools/audit/frontmatter-check.py +199 -0
  512. package/tools/audit/integration-check.py +95 -0
  513. package/tools/audit/korean-copy-check.py +161 -0
  514. package/tools/audit/link-check.py +146 -0
  515. package/tools/audit/local-ci.py +558 -0
  516. package/tools/audit/package-contents.py +723 -0
  517. package/tools/audit/package-smoke.py +22443 -0
  518. package/tools/audit/raw-hex-check.py +252 -0
  519. package/tools/audit/registry-smoke.py +8188 -0
  520. package/tools/audit/release-metadata.py +9832 -0
  521. package/tools/audit/run-all.py +351 -0
  522. package/tools/audit/smoke_assertions.py +12742 -0
  523. package/tools/audit/stability-review.py +332 -0
  524. package/tools/audit/stale-check.py +156 -0
  525. package/tools/migrations/add-version-frontmatter.py +132 -0
  526. package/tools/migrations/bump-last-updated.py +131 -0
  527. package/tools/migrations/promote-stability.py +172 -0
  528. package/tools/preview/README.md +58 -0
  529. package/tools/preview/render-tokens.py +454 -0
@@ -0,0 +1,149 @@
1
+ # figma-token-sync — playbook
2
+
3
+ Sync design tokens between Figma and code. When Figma MCP is connected, reads/writes Variables directly. Without MCP, falls back to Tokens Studio plugin export workflow.
4
+
5
+ ## When to use
6
+
7
+ - "Pull tokens from this Figma file"
8
+ - "Export our code tokens to Figma"
9
+ - "Verify Figma tokens match our code"
10
+ - Pre-release: confirm Figma + code are in sync.
11
+
12
+ ## Inputs (ask if missing)
13
+
14
+ 1. **Direction**:
15
+ - `figma → code`: pull from Figma into code's `tokens/source.json`.
16
+ - `code → figma`: push from code into Figma Variables.
17
+ - `verify`: read both, diff, report.
18
+ 2. **Figma file URL** (with `file_key`).
19
+ 3. **Code token path**: usually `tokens/source.json` in the consuming project.
20
+ 4. **Mode mapping**: which Figma mode = light, which = dark?
21
+
22
+ ## Steps
23
+
24
+ ### 1. Detect MCP availability
25
+
26
+ ```
27
+ if mcp__Figma is connected:
28
+ proceed with full read/write workflow
29
+ else:
30
+ walk through Tokens Studio plugin manual flow
31
+ ```
32
+
33
+ ### 2. Read tokens from Figma
34
+
35
+ ```
36
+ mcp__Figma__get_variable_defs(file_key=<...>)
37
+ → returns all Variables grouped by collection
38
+ ```
39
+
40
+ Transform into design-ai's W3C DTCG / Style Dictionary format:
41
+
42
+ ```json
43
+ {
44
+ "color": {
45
+ "brand": {
46
+ "primary": {
47
+ "600": { "$value": "#7C3AED", "$type": "color" }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ Notes:
55
+ - Figma's collection name → top-level key.
56
+ - Variable name (with slashes for hierarchy) → dot-separated nested keys.
57
+ - Multi-mode (light/dark) → separate output OR `$value` map per mode.
58
+
59
+ ### 3. Read tokens from code
60
+
61
+ ```
62
+ read tokens/source.json from the consuming project
63
+ ```
64
+
65
+ Already in W3C DTCG format (assumption).
66
+
67
+ ### 4. Diff (verify mode)
68
+
69
+ For each token path:
70
+
71
+ | Status | Action |
72
+ | --- | --- |
73
+ | In both, value matches | ✓ in sync |
74
+ | In both, value differs | ⚠ drift — show both values, ask user which is canonical |
75
+ | In Figma only | Code is missing this token — add or warn |
76
+ | In code only | Figma is missing — push or warn |
77
+
78
+ Output report:
79
+
80
+ ```
81
+ Token sync report
82
+
83
+ ✓ 38 tokens in sync
84
+ ⚠ 4 tokens drifted:
85
+ - color.primary.default: code=#7C3AED, figma=#8B5CF6
86
+ - spacing.md: code=12px, figma=16px
87
+ - ...
88
+
89
+ → 2 tokens in code only (not in Figma):
90
+ - color.money-positive
91
+ - color.money-negative
92
+
93
+ ← 1 token in Figma only (not in code):
94
+ - color.experimental.purple
95
+ ```
96
+
97
+ ### 5. Push tokens code → Figma
98
+
99
+ For each token in `tokens/source.json`:
100
+
101
+ ```
102
+ mcp__Figma__... (write Variable in the appropriate collection)
103
+ ```
104
+
105
+ ⚠ As of mid-2025, Figma MCP's WRITE operations for Variables are limited. The Tokens Studio plugin is more capable for true bidirectional sync.
106
+
107
+ For now: agent can READ from Figma reliably; for WRITE, recommend Tokens Studio.
108
+
109
+ ### 6. Without MCP — fallback to Tokens Studio
110
+
111
+ ```
112
+ 1. User: install Tokens Studio for Figma plugin (free tier OK).
113
+ 2. In Figma: Plugins → Tokens Studio → Import → paste tokens/source.json.
114
+ 3. Apply to Figma.
115
+ 4. Output: "Imported via Tokens Studio. Verify in Variables panel."
116
+ ```
117
+
118
+ For verify mode without MCP:
119
+ 1. User: in Tokens Studio, Export → Tokens Studio JSON.
120
+ 2. Save to /tmp/figma-tokens.json.
121
+ 3. Agent: diff against tokens/source.json. Output report.
122
+
123
+ ### 7. Apply changes (or stop and ask)
124
+
125
+ For destructive operations (push, overwrite), stop after diff and confirm before proceeding. Read-only diff/verify operations can complete without confirmation.
126
+
127
+ ## Verification phase (run before declaring done)
128
+
129
+ - [ ] Did I confirm direction (figma→code / code→figma / verify) before acting?
130
+ - [ ] Did I check for write access before pushing (read-only auth = abort)?
131
+ - [ ] Did I show the diff to user before applying changes?
132
+ - [ ] Did I cite the source-of-truth strategy ([`docs/TOKEN-SYNC.md`](../../docs/TOKEN-SYNC.md))?
133
+ - [ ] Did I warn about MCP write limitations when relevant?
134
+ - [ ] Did I produce a final report with synced / drifted / extra counts?
135
+
136
+ ## Source files this skill reads
137
+
138
+ - [`docs/TOKEN-SYNC.md`](../../docs/TOKEN-SYNC.md) — three-tier source-of-truth strategy
139
+ - [`docs/integrations/figma-mcp.md`](../../docs/integrations/figma-mcp.md) — MCP usage details
140
+ - [`docs/FIGMA-INTEGRATION.md`](../../docs/FIGMA-INTEGRATION.md) — broader Figma workflows
141
+ - [`knowledge/design-tokens/ant-design.md`](../../knowledge/design-tokens/ant-design.md) — token format references
142
+
143
+ ## Done when
144
+
145
+ - Tokens are in sync OR diff is shown for user to resolve.
146
+ - Direction was explicit (no surprise writes).
147
+ - Tokens Studio fallback used cleanly when MCP unavailable.
148
+ - Output includes summary stats (counts: synced / drifted / extra).
149
+ - Verification phase passes.
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: figma-token-sync
3
+ description: Sync design tokens between Figma and code. Reads Figma Variables via MCP (or Tokens Studio fallback), diffs against tokens/source.json, applies changes in the requested direction (figma→code / code→figma / verify-only).
4
+ ---
5
+
6
+ See [PLAYBOOK.md](PLAYBOOK.md).
@@ -0,0 +1,209 @@
1
+ # game-ui-designer — playbook
2
+
3
+ Design and spec game UI — HUD, menus, inventory, store, settings, in-world UI. Output is a UI spec a game designer / engineer can implement against, accounting for genre conventions, target platform(s), input methods, and accessibility.
4
+
5
+ ## When to use
6
+
7
+ - "Design the HUD for our top-down RPG."
8
+ - "Spec the inventory system for our gacha mobile game."
9
+ - "What menu structure should our FPS use?"
10
+ - "Design the Korean gacha store with 확률 표시."
11
+ - "Plan accessibility for our action game."
12
+
13
+ ## Inputs (ask if missing)
14
+
15
+ 1. **Genre** — FPS / RPG / MMO / gacha / casual / strategy / racing / fighting.
16
+ 2. **Platform(s)** — PC / console / mobile / VR; combinations.
17
+ 3. **Input method(s)** — keyboard+mouse / controller / touch / mixed.
18
+ 4. **Audience** — Korean / international / mixed; casual / hardcore.
19
+ 5. **Surface** — HUD / main menu / pause / inventory / settings / store / character screen.
20
+ 6. **Monetization** — F2P + gacha / premium / battle pass / ads.
21
+ 7. **Brand voice** — cinematic realistic / anime / cartoon / pixel.
22
+ 8. **Accessibility scope** — full WCAG / minimum / target features.
23
+
24
+ ## Steps
25
+
26
+ ### 1. Classify genre + surface
27
+
28
+ | Genre | Read |
29
+ | --- | --- |
30
+ | FPS / TPS / Action | [`hud-design.md`](../../knowledge/game-ui/hud-design.md) §FPS HUD |
31
+ | RPG / MMO | [`hud-design.md`](../../knowledge/game-ui/hud-design.md) §MMO HUD + [`menu-systems.md`](../../knowledge/game-ui/menu-systems.md) |
32
+ | Mobile gacha | [`hud-design.md`](../../knowledge/game-ui/hud-design.md) §Mobile gacha + [`korean-gaming-conventions.md`](../../knowledge/game-ui/korean-gaming-conventions.md) |
33
+ | Casual / puzzle | [`hud-design.md`](../../knowledge/game-ui/hud-design.md) §Casual |
34
+ | Strategy | [`hud-design.md`](../../knowledge/game-ui/hud-design.md) §Strategy |
35
+
36
+ Always read [`game-ui-fundamentals.md`](../../knowledge/game-ui/game-ui-fundamentals.md). If Korean: [`korean-gaming-conventions.md`](../../knowledge/game-ui/korean-gaming-conventions.md). Always plan accessibility per [`game-accessibility.md`](../../knowledge/game-ui/game-accessibility.md).
37
+
38
+ ### 2. Spec platform(s)
39
+
40
+ For each platform:
41
+
42
+ | Platform | UI scale | Reading distance | Input |
43
+ | --- | --- | --- | --- |
44
+ | PC monitor | 1× | 50-100cm | Mouse + keyboard |
45
+ | Console (TV) | 1.3-1.5× | 2-4m | Controller |
46
+ | Mobile portrait | 1× | 30cm | Touch (thumb zones) |
47
+ | Mobile landscape | 1× | 30-50cm | Touch (both thumbs) |
48
+ | VR | per platform | (visual angle) | Motion controllers |
49
+
50
+ For cross-platform: design UI that scales without retooling.
51
+
52
+ ### 3. Pick layout per genre
53
+
54
+ Use canonical layouts from `hud-design.md`. Don't reinvent unless specific game design requires.
55
+
56
+ For HUD, anchor major elements:
57
+ - **Bottom-left**: typically player status (HP/MP).
58
+ - **Bottom-right**: ammo / resources.
59
+ - **Bottom-center**: hotbar (RPG/MMO).
60
+ - **Top-left** OR **top-right**: mini-map.
61
+ - **Top-center**: objective.
62
+ - **Center**: crosshair (FPS) or empty.
63
+
64
+ For menus, pick standard structure. Settings menu has near-universal section breakdown.
65
+
66
+ ### 4. Spec input handling
67
+
68
+ Per platform:
69
+
70
+ - **Keyboard**: define hotkeys; consistent with genre conventions.
71
+ - **Controller**: button-prompt mappings (Xbox / PS variants); focus management.
72
+ - **Touch**: thumb zones; tap targets ≥ 44pt; gesture support.
73
+
74
+ Show button prompts for the active input. Detect at runtime.
75
+
76
+ ### 5. Spec interaction states
77
+
78
+ For every interactive element:
79
+ - **Default** — resting.
80
+ - **Hovered / focused** — visible cue.
81
+ - **Pressed** — feedback.
82
+ - **Disabled** — grayed.
83
+ - **Selected** — current.
84
+
85
+ Plus genre-specific:
86
+ - **Cooldown** — sweep / fade for skills.
87
+ - **Locked** — for unowned items / unranked features.
88
+ - **New** — badge for unviewed.
89
+
90
+ ### 6. Plan accessibility
91
+
92
+ Per [`game-accessibility.md`](../../knowledge/game-ui/game-accessibility.md):
93
+
94
+ - [ ] Subtitles + closed captions toggle + size + background options
95
+ - [ ] Color-blind mode (protanopia / deuteranopia / tritanopia)
96
+ - [ ] High contrast mode
97
+ - [ ] UI scale (50-200%)
98
+ - [ ] Remappable controls
99
+ - [ ] Toggle vs hold for sustained actions
100
+ - [ ] Reduced motion option
101
+ - [ ] Audio sliders per channel (master, music, dialogue, SFX)
102
+ - [ ] Visual sound indicators (for hearing-impaired in critical genres)
103
+ - [ ] Difficulty options (story mode for cognitive accessibility)
104
+
105
+ ### 7. Korean compliance (if KR market)
106
+
107
+ - [ ] **확률 표시** — gacha probability disclosure (REQUIRED).
108
+ - [ ] **본인인증** — real-name verification flow.
109
+ - [ ] **GRAC rating** — game rating shown.
110
+ - [ ] 자막 default ON.
111
+ - [ ] **PC bang** detection + bonuses (PC games).
112
+ - [ ] **누적 보상 / 천장** — pity counter visible.
113
+ - [ ] **출석 / VIP** — daily login + tier system.
114
+
115
+ ### 8. Spec performance
116
+
117
+ Game UI renders every frame. Performance matters:
118
+
119
+ - [ ] Sprite-based rendering (texture atlas)
120
+ - [ ] Update only on state change
121
+ - [ ] GPU animations
122
+ - [ ] Mobile: target 60fps with HUD overhead < 5ms / frame
123
+ - [ ] Console: scale tested at 4K
124
+ - [ ] Ultra-wide / multi-aspect-ratio tested
125
+
126
+ ### 9. Spec audio
127
+
128
+ - [ ] Click / hover sounds defined
129
+ - [ ] Confirmation / error tones
130
+ - [ ] Notification sounds per type (level up, item drop, achievement)
131
+ - [ ] Spatial audio for VR
132
+
133
+ ### 10. Output
134
+
135
+ ```markdown
136
+ # Game UI spec: <surface>
137
+
138
+ > Genre: <FPS / RPG / MMO / gacha / casual / etc>
139
+ > Platform(s): <PC / console / mobile / VR>
140
+ > Input(s): <keyboard / controller / touch>
141
+ > Audience: <KR / international>
142
+
143
+ ## Layout
144
+ <anchored regions, element positioning>
145
+
146
+ ## Elements
147
+ <HUD elements OR menu sections, each with size, color, behavior>
148
+
149
+ ## Interaction states
150
+ <default / hover / focused / pressed / disabled / etc>
151
+
152
+ ## Input handling
153
+ <keyboard / controller / touch mappings>
154
+
155
+ ## Accessibility
156
+ <subtitles, color-blind, contrast, scale, reduce-motion, remap>
157
+
158
+ ## Korean compliance (if applicable)
159
+ <확률 표시, 본인인증, GRAC, 자막, PC bang>
160
+
161
+ ## Performance budget
162
+ <frame ms, draw calls, mobile target>
163
+
164
+ ## Audio
165
+ <UI sounds defined>
166
+
167
+ ## Don't
168
+ <2-3 specific misuses>
169
+ ```
170
+
171
+ ## Source files this skill reads
172
+
173
+ - [`knowledge/game-ui/game-ui-fundamentals.md`](../../knowledge/game-ui/game-ui-fundamentals.md)
174
+ - [`knowledge/game-ui/hud-design.md`](../../knowledge/game-ui/hud-design.md)
175
+ - [`knowledge/game-ui/menu-systems.md`](../../knowledge/game-ui/menu-systems.md)
176
+ - [`knowledge/game-ui/korean-gaming-conventions.md`](../../knowledge/game-ui/korean-gaming-conventions.md)
177
+ - [`knowledge/game-ui/game-accessibility.md`](../../knowledge/game-ui/game-accessibility.md)
178
+ - [`knowledge/a11y/contrast.md`](../../knowledge/a11y/contrast.md)
179
+ - [`knowledge/a11y/keyboard-and-focus.md`](../../knowledge/a11y/keyboard-and-focus.md)
180
+ - [`knowledge/motion/principles.md`](../../knowledge/motion/principles.md)
181
+ - [`knowledge/i18n/korean-payments.md`](../../knowledge/i18n/korean-payments.md) — for 본인인증
182
+ - [`examples/component-game-hud.md`](../../examples/component-game-hud.md)
183
+ - [`examples/component-game-menu.md`](../../examples/component-game-menu.md)
184
+
185
+ ## Verification phase (run before declaring done)
186
+
187
+ - [ ] Is the genre + surface explicit?
188
+ - [ ] Is the platform list explicit + UI scaling addressed?
189
+ - [ ] Does layout follow genre convention OR justify deviation?
190
+ - [ ] Are all input methods (keyboard / controller / touch) supported with prompts?
191
+ - [ ] Are interaction states (default / focus / press / disabled) defined?
192
+ - [ ] Are accessibility options addressed (subtitles, color-blind, scale, remap, reduce-motion)?
193
+ - [ ] If Korean: is 확률 표시 / 본인인증 / GRAC / 자막 covered?
194
+ - [ ] Is performance budget specified?
195
+ - [ ] Are UI audio sounds defined?
196
+ - [ ] Does "Don't" section catch 2-3 specific misuses?
197
+
198
+ ## Done when
199
+
200
+ - One markdown spec, < 500 lines.
201
+ - Genre, platform(s), input(s), audience explicit.
202
+ - Layout (anchored regions / sections) defined.
203
+ - Interaction states specified.
204
+ - Input handling per platform.
205
+ - Accessibility plan.
206
+ - Korean compliance if applicable.
207
+ - Performance budget.
208
+ - "Don't" section.
209
+ - Verification passes.
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: game-ui-designer
3
+ description: Design and spec game UI — HUD, menus, inventory, store, settings — across genres (FPS, MMO, gacha, casual). Picks layout per genre + platform (PC, console, mobile), input handling, accessibility, and Korean conventions (확률 표시, 본인인증, PC bang).
4
+ ---
5
+
6
+ See [PLAYBOOK.md](PLAYBOOK.md).
@@ -0,0 +1,170 @@
1
+ # handoff-spec — playbook
2
+
3
+ Produce a developer handoff document from a finalized design. The output is a single markdown file an engineer can implement against without follow-up questions.
4
+
5
+ ## When to use
6
+
7
+ - Design is approved and ready to ship; engineering needs a spec.
8
+ - A Figma file has 6+ screens and devs keep DM'ing for clarifications.
9
+ - Cross-team handoff (design → another team's eng).
10
+
11
+ ## Inputs (ask if missing)
12
+
13
+ 1. **Designs** — Figma link or screenshots of the final state.
14
+ 2. **Scope** — single feature, full screen, multi-screen flow.
15
+ 3. **Tech stack** — for code-side conventions (Tailwind class hints, MUI props, etc.).
16
+ 4. **Existing design system?** — if yes, name it and let the spec reference tokens; if no, inline the values.
17
+ 5. **Audience** — frontend dev, full-stack, design engineer.
18
+
19
+ ## Steps
20
+
21
+ ### 1. Inventory
22
+
23
+ List every screen and every reusable component on each. If components are repeated, note them once and reference.
24
+
25
+ ### 2. For each screen, document
26
+
27
+ - **Purpose** — one sentence on what the screen accomplishes.
28
+ - **Entry points** — how the user reaches it (route, button, deep link).
29
+ - **Exit points** — what actions navigate away and where.
30
+ - **Layout** — wireframe diagram + breakpoints behavior.
31
+ - **States** — empty, loading, error, success, partial data.
32
+ - **Edge cases** — what happens with very long content, zero items, network failure.
33
+
34
+ ### 3. For each component, document
35
+
36
+ If it's an existing system component, just reference it: "Use `<Button intent='primary' size='lg'>` from our system." Don't re-spec.
37
+
38
+ If it's new, follow the [`component-spec-writer`](../component-spec-writer/PLAYBOOK.md) skill's playbook to produce a full sub-spec.
39
+
40
+ ### 4. Document interactions
41
+
42
+ For every interactive element, document:
43
+
44
+ | Element | Trigger | Action |
45
+ | --- | --- | --- |
46
+ | `Save` button | click / `Enter` while focused | Persist form, show toast on success, redirect to detail page |
47
+ | `Discard` link | click | Open confirmation modal; on confirm, route to list |
48
+
49
+ ### 5. Document data and content
50
+
51
+ - **Data shape** — what does the server return? What's required vs optional?
52
+ - **Content rules** — character limits, validation rules, empty-string behavior.
53
+ - **i18n** — keys used, plurals, RTL considerations.
54
+ - **Tone** — formal/casual; example copy that hits the bar.
55
+
56
+ ### 6. Document responsive behavior
57
+
58
+ For each breakpoint (xs/sm/md/lg/xl), describe:
59
+ - Layout changes (column count, sidebar collapse, nav transformation).
60
+ - Component swaps (e.g., "tabs become accordion below `md`").
61
+ - Hidden / shown elements.
62
+
63
+ ### 7. Document a11y requirements
64
+
65
+ - Semantic HTML expected (which `<h1>` / `<nav>` / `<main>` lives where).
66
+ - Keyboard interaction map (what `Tab` reaches, in what order).
67
+ - ARIA roles / properties for complex widgets.
68
+ - Focus management (where focus goes on route change, modal open/close).
69
+ - Announcements (live regions for toast/error).
70
+
71
+ ### 8. Document analytics events (if applicable)
72
+
73
+ | Event name | Trigger | Properties |
74
+ | --- | --- | --- |
75
+ | `signup_completed` | After successful signup | `method`, `referrer`, `plan` |
76
+
77
+ ### 9. Open questions (be explicit)
78
+
79
+ Don't leave decisions implicit. List anything ambiguous:
80
+
81
+ > **Open**: When the user has 0 saved items, do we show the empty state OR auto-redirect to onboarding? Need product to decide before ship.
82
+
83
+ ### 10. Output
84
+
85
+ ```markdown
86
+ # Handoff: <feature name>
87
+
88
+ > Designs: <link>
89
+ > System: <existing? name?>
90
+ > Stack: <stack>
91
+ > Owner: <name>
92
+ > Status: ready-for-implementation
93
+
94
+ ## Summary
95
+ <3 sentences: what this is, who it's for, what done looks like>
96
+
97
+ ## Screens
98
+ ### <Screen 1 name>
99
+ - Purpose:
100
+ - Entry/Exit:
101
+ - Layout (with sketch):
102
+ - States:
103
+ - Edge cases:
104
+
105
+ ### <Screen 2 name>
106
+ ...
107
+
108
+ ## Components
109
+ ### <Component A>
110
+ - (existing system component, no re-spec) | (full sub-spec inline)
111
+
112
+ ## Interactions
113
+ <table>
114
+
115
+ ## Data and content
116
+ - ...
117
+
118
+ ## Responsive
119
+ - xs: ...
120
+ - md: ...
121
+ - xl: ...
122
+
123
+ ## Accessibility
124
+ - ...
125
+
126
+ ## Analytics
127
+ <table or skip>
128
+
129
+ ## Open questions
130
+ - [ ] <question>
131
+
132
+ ## References
133
+ - Designs: <link>
134
+ - Component system: <link>
135
+ - Token reference: knowledge/design-tokens/...
136
+ ```
137
+
138
+ ## Source files this skill reads
139
+
140
+ - [`knowledge/components/INDEX.md`](../../knowledge/components/INDEX.md)
141
+ - [`knowledge/a11y/keyboard-and-focus.md`](../../knowledge/a11y/keyboard-and-focus.md)
142
+ - [`knowledge/a11y/contrast.md`](../../knowledge/a11y/contrast.md)
143
+ - [`knowledge/layout/spacing-and-grid.md`](../../knowledge/layout/spacing-and-grid.md)
144
+ - [`knowledge/motion/principles.md`](../../knowledge/motion/principles.md) — animation specs
145
+ - [`knowledge/patterns/form-design.md`](../../knowledge/patterns/form-design.md) — when forms are involved
146
+ - [`knowledge/i18n/korean-product-conventions.md`](../../knowledge/i18n/korean-product-conventions.md) — Korean apps
147
+
148
+ ## Verification phase (run before declaring done)
149
+
150
+ - [ ] Every screen has: purpose, entry/exit, layout, states, edge cases?
151
+ - [ ] Every component is either a system reference OR has an inline sub-spec?
152
+ - [ ] Are interactions documented as a table (element / trigger / action)?
153
+ - [ ] Is responsive behavior named per breakpoint (xs / sm / md / lg / xl)?
154
+ - [ ] Are a11y requirements explicit (semantic HTML, ARIA, keyboard, focus management)?
155
+ - [ ] Are analytics events listed (or explicitly "none for v1")?
156
+ - [ ] Are open questions listed (not implicit)?
157
+ - [ ] Could an engineer implement without DM'ing the designer? (If unsure, you've left an open question.)
158
+ - [ ] Are design tokens referenced by name, not inlined as hex?
159
+
160
+ ## Done when
161
+
162
+ - One markdown file, end-to-end.
163
+ - Every screen has purpose, layout, states, edge cases.
164
+ - Every component has a system-reference OR a sub-spec.
165
+ - Interactions table is complete.
166
+ - Responsive behavior is named per breakpoint.
167
+ - A11y requirements are explicit.
168
+ - Open questions are listed (or "none").
169
+ - An engineer would not need to ask design follow-up questions to implement.
170
+ - The verification phase checklist passes.
@@ -0,0 +1,6 @@
1
+ ---
2
+ name: handoff-spec
3
+ description: Produce a developer-handoff document from a finalized design — screens, components, interactions, data, responsive behavior, a11y, analytics, and open questions in one markdown.
4
+ ---
5
+
6
+ See [PLAYBOOK.md](PLAYBOOK.md).