@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.
- package/.claude-plugin/plugin.json +164 -0
- package/AGENTS.ko.md +126 -0
- package/AGENTS.md +182 -0
- package/CHANGELOG.md +6883 -0
- package/CLAUDE.md +39 -0
- package/LICENSE +21 -0
- package/README.ko.md +245 -0
- package/README.md +277 -0
- package/agents/README.md +14 -0
- package/agents/a11y-reviewer.md +121 -0
- package/agents/component-architect.md +57 -0
- package/agents/design-critic.md +46 -0
- package/agents/token-extractor.md +63 -0
- package/cli/bin/design-ai-mcp.mjs +6 -0
- package/cli/bin/design-ai.mjs +40 -0
- package/cli/commands/audit.mjs +111 -0
- package/cli/commands/check.mjs +226 -0
- package/cli/commands/doctor.mjs +141 -0
- package/cli/commands/examples.mjs +58 -0
- package/cli/commands/help.mjs +271 -0
- package/cli/commands/install.mjs +161 -0
- package/cli/commands/learn.mjs +1871 -0
- package/cli/commands/list.mjs +143 -0
- package/cli/commands/mcp.mjs +27 -0
- package/cli/commands/pack.mjs +211 -0
- package/cli/commands/prompt.mjs +199 -0
- package/cli/commands/route.mjs +247 -0
- package/cli/commands/search.mjs +60 -0
- package/cli/commands/show.mjs +52 -0
- package/cli/commands/site.mjs +558 -0
- package/cli/commands/status.mjs +161 -0
- package/cli/commands/uninstall.mjs +119 -0
- package/cli/commands/update.mjs +184 -0
- package/cli/commands/version.mjs +94 -0
- package/cli/commands/workspace.mjs +176 -0
- package/cli/lib/brief.mjs +52 -0
- package/cli/lib/check.mjs +642 -0
- package/cli/lib/dispatch.mjs +109 -0
- package/cli/lib/doctor.mjs +505 -0
- package/cli/lib/examples.mjs +258 -0
- package/cli/lib/exec.mjs +63 -0
- package/cli/lib/help-flags.mjs +5 -0
- package/cli/lib/learn.mjs +3694 -0
- package/cli/lib/log.mjs +47 -0
- package/cli/lib/mcp-server.mjs +426 -0
- package/cli/lib/output.mjs +101 -0
- package/cli/lib/pack.mjs +599 -0
- package/cli/lib/paths.mjs +63 -0
- package/cli/lib/prompt.mjs +603 -0
- package/cli/lib/route.mjs +740 -0
- package/cli/lib/search.mjs +158 -0
- package/cli/lib/show.mjs +161 -0
- package/cli/lib/signals.mjs +2337 -0
- package/cli/lib/site.mjs +6617 -0
- package/cli/lib/skill-proposals.mjs +2046 -0
- package/cli/lib/suggest.mjs +66 -0
- package/cli/lib/workspace.mjs +1056 -0
- package/commands/README.md +25 -0
- package/commands/component-spec.md +34 -0
- package/commands/conversational.md +44 -0
- package/commands/design-from-brief.md +141 -0
- package/commands/design-review.md +62 -0
- package/commands/document-from-brief.md +47 -0
- package/commands/extract-tokens.md +38 -0
- package/commands/game-ui.md +40 -0
- package/commands/illustration.md +37 -0
- package/commands/iterate.md +167 -0
- package/commands/motion-design.md +54 -0
- package/commands/palette-from-brand.md +50 -0
- package/commands/print.md +49 -0
- package/commands/slide-deck.md +46 -0
- package/commands/spatial.md +47 -0
- package/commands/stability-review.md +74 -0
- package/commands/video.md +42 -0
- package/commands/website-improvement.md +77 -0
- package/docs/AGENT-DEVELOPMENT.md +658 -0
- package/docs/AI-LEARNING.md +429 -0
- package/docs/AIDER-INTEGRATION.md +224 -0
- package/docs/ARCHITECTURE.ko.md +183 -0
- package/docs/ARCHITECTURE.md +105 -0
- package/docs/CODEX-INTEGRATION.md +311 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
- package/docs/CONTRIBUTING.ko.md +203 -0
- package/docs/CONTRIBUTING.md +242 -0
- package/docs/CURSOR-INTEGRATION.md +220 -0
- package/docs/DISTRIBUTION.ko.md +248 -0
- package/docs/DISTRIBUTION.md +253 -0
- package/docs/DOGFOOD-FINDINGS.md +180 -0
- package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
- package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
- package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
- package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
- package/docs/FIGMA-INTEGRATION.md +222 -0
- package/docs/MCP-INTEGRATION.md +243 -0
- package/docs/MIGRATION-v4.md +121 -0
- package/docs/PLUGIN-PACKAGING.md +240 -0
- package/docs/PRODUCT-READINESS.md +66 -0
- package/docs/QUICKSTART.ko.md +178 -0
- package/docs/QUICKSTART.md +179 -0
- package/docs/RELEASE-CHECKLIST.md +292 -0
- package/docs/ROADMAP.md +19495 -0
- package/docs/SESSION-LOG.md +940 -0
- package/docs/TOKEN-SYNC.md +237 -0
- package/docs/USING.ko.md +206 -0
- package/docs/USING.md +218 -0
- package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
- package/docs/WEBSITE-IMPROVEMENT.md +89 -0
- package/docs/announcements/README.md +56 -0
- package/docs/announcements/dev-to-korea.md +206 -0
- package/docs/announcements/hashnode-post.ko.md +232 -0
- package/docs/announcements/okky-post.ko.md +158 -0
- package/docs/announcements/press-kit.md +101 -0
- package/docs/announcements/reddit-r-korea.md +196 -0
- package/docs/announcements/show-hn.md +114 -0
- package/docs/announcements/twitter-thread.md +255 -0
- package/docs/external-status.md +34 -0
- package/docs/integrations/aider-walkthrough.ko.md +275 -0
- package/docs/integrations/aider-walkthrough.md +274 -0
- package/docs/integrations/codex-walkthrough.ko.md +297 -0
- package/docs/integrations/codex-walkthrough.md +297 -0
- package/docs/integrations/cursor-walkthrough.ko.md +281 -0
- package/docs/integrations/cursor-walkthrough.md +284 -0
- package/docs/integrations/design-ai-mcp-server.md +169 -0
- package/docs/integrations/figma-mcp.md +149 -0
- package/docs/integrations/github-mcp.md +178 -0
- package/docs/integrations/linear-mcp.md +215 -0
- package/docs/integrations/notion-mcp.md +174 -0
- package/docs/integrations/sdk-walkthrough.ko.md +375 -0
- package/docs/integrations/sdk-walkthrough.md +375 -0
- package/docs/integrations/slack-mcp.md +208 -0
- package/docs/integrations/vscode-walkthrough.ko.md +202 -0
- package/docs/integrations/vscode-walkthrough.md +205 -0
- package/docs/requirements.txt +16 -0
- package/docs/site-overrides/extra.css +83 -0
- package/docs/site-overrides/favicon.svg +4 -0
- package/docs/site-overrides/logo.svg +10 -0
- package/docs/site-overrides/main.html +18 -0
- package/docs/website-console/app.js +2540 -0
- package/docs/website-console/index.html +24 -0
- package/docs/website-console/styles.css +975 -0
- package/examples/README.md +252 -0
- package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
- package/examples/component-accordion-actions.md +153 -0
- package/examples/component-accordion-details.md +147 -0
- package/examples/component-accordion-summary.md +180 -0
- package/examples/component-accordion.md +229 -0
- package/examples/component-account-card.md +284 -0
- package/examples/component-address-input.md +260 -0
- package/examples/component-affix.md +190 -0
- package/examples/component-alert-dialog.md +210 -0
- package/examples/component-alert-title.md +77 -0
- package/examples/component-alert.md +192 -0
- package/examples/component-amount-input.md +278 -0
- package/examples/component-anchor.md +198 -0
- package/examples/component-app-bar.md +249 -0
- package/examples/component-aspect-ratio.md +156 -0
- package/examples/component-auto-complete.md +199 -0
- package/examples/component-avatar-group.md +170 -0
- package/examples/component-avatar.md +191 -0
- package/examples/component-back-top.md +123 -0
- package/examples/component-backdrop.md +148 -0
- package/examples/component-badge.md +181 -0
- package/examples/component-banner.md +237 -0
- package/examples/component-biometric-gate.md +281 -0
- package/examples/component-blockquote.md +153 -0
- package/examples/component-border-beam.md +207 -0
- package/examples/component-bottom-navigation.md +226 -0
- package/examples/component-box.md +112 -0
- package/examples/component-breadcrumb.md +222 -0
- package/examples/component-button-base.md +190 -0
- package/examples/component-button-group.md +117 -0
- package/examples/component-button.md +213 -0
- package/examples/component-calendar.md +280 -0
- package/examples/component-callout.md +131 -0
- package/examples/component-card-actions.md +101 -0
- package/examples/component-card-content.md +90 -0
- package/examples/component-card-header.md +122 -0
- package/examples/component-card-media.md +79 -0
- package/examples/component-card.md +233 -0
- package/examples/component-carousel.md +266 -0
- package/examples/component-cascader.md +135 -0
- package/examples/component-category-picker.md +271 -0
- package/examples/component-chart.md +237 -0
- package/examples/component-chat-interface.md +399 -0
- package/examples/component-checkbox.md +149 -0
- package/examples/component-click-away-listener.md +87 -0
- package/examples/component-code.md +213 -0
- package/examples/component-collapsible.md +219 -0
- package/examples/component-color-picker.md +110 -0
- package/examples/component-combobox.md +267 -0
- package/examples/component-command.md +299 -0
- package/examples/component-config-provider.md +190 -0
- package/examples/component-context-menu.md +179 -0
- package/examples/component-css-baseline.md +148 -0
- package/examples/component-date-picker.md +249 -0
- package/examples/component-descriptions.md +242 -0
- package/examples/component-dialog-actions.md +111 -0
- package/examples/component-dialog-content-text.md +76 -0
- package/examples/component-dialog-content.md +105 -0
- package/examples/component-dialog-title.md +104 -0
- package/examples/component-dialog.md +176 -0
- package/examples/component-divider.md +182 -0
- package/examples/component-doc-page.md +217 -0
- package/examples/component-drawer.md +257 -0
- package/examples/component-dropdown.md +220 -0
- package/examples/component-email-layout.md +253 -0
- package/examples/component-empty-state.md +269 -0
- package/examples/component-empty.md +172 -0
- package/examples/component-fade.md +87 -0
- package/examples/component-feature-grid.md +201 -0
- package/examples/component-field.md +266 -0
- package/examples/component-filled-input.md +114 -0
- package/examples/component-flex.md +117 -0
- package/examples/component-float-button.md +214 -0
- package/examples/component-form-control-label.md +134 -0
- package/examples/component-form-control.md +113 -0
- package/examples/component-form-controls.md +251 -0
- package/examples/component-form-group.md +86 -0
- package/examples/component-form-helper-text.md +95 -0
- package/examples/component-form-label.md +98 -0
- package/examples/component-form.md +291 -0
- package/examples/component-game-hud.md +362 -0
- package/examples/component-game-menu.md +327 -0
- package/examples/component-grid.md +140 -0
- package/examples/component-grow.md +79 -0
- package/examples/component-hero-block.md +252 -0
- package/examples/component-hover-card.md +211 -0
- package/examples/component-icon-button.md +142 -0
- package/examples/component-icon.md +102 -0
- package/examples/component-illustration.md +280 -0
- package/examples/component-image-list.md +107 -0
- package/examples/component-image.md +282 -0
- package/examples/component-input-adornment.md +101 -0
- package/examples/component-input-base.md +134 -0
- package/examples/component-input-number.md +141 -0
- package/examples/component-input-otp.md +271 -0
- package/examples/component-input.md +213 -0
- package/examples/component-item.md +243 -0
- package/examples/component-kbd.md +197 -0
- package/examples/component-krw-amount.md +219 -0
- package/examples/component-label.md +118 -0
- package/examples/component-layout.md +217 -0
- package/examples/component-link.md +223 -0
- package/examples/component-list-item-avatar.md +72 -0
- package/examples/component-list-item-button.md +139 -0
- package/examples/component-list-item-icon.md +82 -0
- package/examples/component-list-item-text.md +98 -0
- package/examples/component-list-item.md +116 -0
- package/examples/component-list-subheader.md +70 -0
- package/examples/component-list.md +198 -0
- package/examples/component-loading-button.md +125 -0
- package/examples/component-loading-sequence.md +254 -0
- package/examples/component-lottie-player.md +279 -0
- package/examples/component-masonry.md +191 -0
- package/examples/component-mentions.md +189 -0
- package/examples/component-menu-item.md +102 -0
- package/examples/component-menu-list.md +98 -0
- package/examples/component-menu.md +139 -0
- package/examples/component-menubar.md +259 -0
- package/examples/component-message.md +162 -0
- package/examples/component-mobile-stepper.md +155 -0
- package/examples/component-modal.md +220 -0
- package/examples/component-navigation-menu.md +295 -0
- package/examples/component-notification.md +166 -0
- package/examples/component-otp-countdown.md +245 -0
- package/examples/component-outlined-input.md +145 -0
- package/examples/component-page-transition.md +281 -0
- package/examples/component-pagination.md +226 -0
- package/examples/component-paper.md +199 -0
- package/examples/component-pass-auth.md +265 -0
- package/examples/component-payment-brand-button.md +253 -0
- package/examples/component-payment-method-selector.md +272 -0
- package/examples/component-payment-receipt.md +277 -0
- package/examples/component-popconfirm.md +144 -0
- package/examples/component-popover.md +239 -0
- package/examples/component-popper.md +129 -0
- package/examples/component-pricing-cards.md +247 -0
- package/examples/component-progress.md +195 -0
- package/examples/component-qr-code.md +201 -0
- package/examples/component-radio.md +167 -0
- package/examples/component-rate.md +202 -0
- package/examples/component-resizable.md +163 -0
- package/examples/component-result.md +270 -0
- package/examples/component-scroll-area.md +199 -0
- package/examples/component-scroll-reveal.md +320 -0
- package/examples/component-segmented.md +178 -0
- package/examples/component-select.md +258 -0
- package/examples/component-separator.md +177 -0
- package/examples/component-sheet.md +277 -0
- package/examples/component-sidebar.md +257 -0
- package/examples/component-skeleton.md +178 -0
- package/examples/component-slide.md +89 -0
- package/examples/component-slider.md +208 -0
- package/examples/component-snackbar-content.md +92 -0
- package/examples/component-snackbar.md +121 -0
- package/examples/component-sonner.md +165 -0
- package/examples/component-space.md +125 -0
- package/examples/component-spatial-locomotion.md +373 -0
- package/examples/component-spatial-panel.md +330 -0
- package/examples/component-speed-dial-action.md +78 -0
- package/examples/component-speed-dial.md +177 -0
- package/examples/component-spin.md +173 -0
- package/examples/component-spinner.md +204 -0
- package/examples/component-splitter.md +210 -0
- package/examples/component-stack.md +130 -0
- package/examples/component-statistic.md +282 -0
- package/examples/component-step-button.md +157 -0
- package/examples/component-step-connector.md +157 -0
- package/examples/component-step-content.md +121 -0
- package/examples/component-step-icon.md +115 -0
- package/examples/component-step-label.md +101 -0
- package/examples/component-step.md +84 -0
- package/examples/component-steps.md +264 -0
- package/examples/component-stock-chart.md +251 -0
- package/examples/component-swipeable-drawer.md +149 -0
- package/examples/component-switch.md +99 -0
- package/examples/component-tab-scroll-button.md +180 -0
- package/examples/component-tab.md +120 -0
- package/examples/component-table-body.md +82 -0
- package/examples/component-table-cell.md +118 -0
- package/examples/component-table-container.md +75 -0
- package/examples/component-table-footer.md +72 -0
- package/examples/component-table-head.md +78 -0
- package/examples/component-table-pagination.md +137 -0
- package/examples/component-table-row.md +113 -0
- package/examples/component-table-sort-label.md +109 -0
- package/examples/component-table.md +202 -0
- package/examples/component-tabs.md +184 -0
- package/examples/component-tag-badge.md +309 -0
- package/examples/component-tag.md +102 -0
- package/examples/component-testimonial-carousel.md +218 -0
- package/examples/component-textarea-autosize.md +114 -0
- package/examples/component-textarea.md +173 -0
- package/examples/component-time-picker.md +205 -0
- package/examples/component-timeline.md +170 -0
- package/examples/component-toast.md +224 -0
- package/examples/component-toggle-button.md +129 -0
- package/examples/component-toggle.md +220 -0
- package/examples/component-toolbar.md +104 -0
- package/examples/component-tooltip.md +178 -0
- package/examples/component-tour.md +176 -0
- package/examples/component-transaction-list-item.md +243 -0
- package/examples/component-transfer.md +156 -0
- package/examples/component-tree-select.md +202 -0
- package/examples/component-tree.md +297 -0
- package/examples/component-typography.md +215 -0
- package/examples/component-upload.md +295 -0
- package/examples/component-video-hero.md +409 -0
- package/examples/component-video-player.md +340 -0
- package/examples/component-voice-input.md +408 -0
- package/examples/component-watermark.md +217 -0
- package/examples/component-zoom.md +92 -0
- package/examples/doc-explanation-example.md +196 -0
- package/examples/doc-how-to-example.md +205 -0
- package/examples/doc-tutorial-example.md +162 -0
- package/examples/dogfood-korean-fintech-system.md +433 -0
- package/examples/email-transactional-example.md +259 -0
- package/examples/palette-saas-violet.md +235 -0
- package/examples/print-business-card-spec.md +205 -0
- package/examples/print-packaging-spec.md +285 -0
- package/examples/report-example.md +228 -0
- package/examples/slide-deck-example.md +237 -0
- package/examples/website-improvement-report.md +128 -0
- package/examples/website-improvement-workspace.json +126 -0
- package/install.sh +189 -0
- package/knowledge/COVERAGE.md +740 -0
- package/knowledge/PRINCIPLES.md +108 -0
- package/knowledge/a11y/contrast.md +70 -0
- package/knowledge/a11y/keyboard-and-focus.md +108 -0
- package/knowledge/colors/color-theory.md +90 -0
- package/knowledge/colors/mui-palette-structure.md +105 -0
- package/knowledge/colors/palettes-by-product-type.md +876 -0
- package/knowledge/components/INDEX.md +231 -0
- package/knowledge/components/index.json +1470 -0
- package/knowledge/components/shadcn-registry.md +159 -0
- package/knowledge/conversational/ai-chat-interfaces.md +323 -0
- package/knowledge/conversational/chatbot-design.md +312 -0
- package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
- package/knowledge/conversational/korean-voice-conventions.md +281 -0
- package/knowledge/conversational/voice-ui-patterns.md +297 -0
- package/knowledge/design-tokens/ant-design.md +124 -0
- package/knowledge/design-tokens/material-3.md +235 -0
- package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
- package/knowledge/design-tokens/tailwind-v4.md +284 -0
- package/knowledge/game-ui/game-accessibility.md +317 -0
- package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
- package/knowledge/game-ui/hud-design.md +324 -0
- package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
- package/knowledge/game-ui/menu-systems.md +388 -0
- package/knowledge/i18n/korean-app-store-visual.md +223 -0
- package/knowledge/i18n/korean-document-style.md +301 -0
- package/knowledge/i18n/korean-payments.md +211 -0
- package/knowledge/i18n/korean-product-conventions.md +96 -0
- package/knowledge/i18n/korean-publishing.md +139 -0
- package/knowledge/i18n/korean-typography.md +123 -0
- package/knowledge/icons/curated-sets.md +225 -0
- package/knowledge/illustration/hero-illustrations.md +234 -0
- package/knowledge/illustration/illustration-systems.md +221 -0
- package/knowledge/illustration/mascot-design.md +208 -0
- package/knowledge/illustration/spot-illustrations.md +246 -0
- package/knowledge/illustration/svg-optimization.md +308 -0
- package/knowledge/layout/spacing-and-grid.md +119 -0
- package/knowledge/motion/app-loading-sequences.md +277 -0
- package/knowledge/motion/choreography-depth.md +297 -0
- package/knowledge/motion/marketing-motion.md +223 -0
- package/knowledge/motion/micro-interactions.md +266 -0
- package/knowledge/motion/motion-tools.md +281 -0
- package/knowledge/motion/principles.md +126 -0
- package/knowledge/patterns/auth-flow-design.md +316 -0
- package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
- package/knowledge/patterns/brand-identity.md +238 -0
- package/knowledge/patterns/brand-references.md +97 -0
- package/knowledge/patterns/chart-color-encoding.md +269 -0
- package/knowledge/patterns/chart-types.md +344 -0
- package/knowledge/patterns/dashboard-composition.md +299 -0
- package/knowledge/patterns/design-system-qa.md +356 -0
- package/knowledge/patterns/document-typography.md +248 -0
- package/knowledge/patterns/email-design.md +338 -0
- package/knowledge/patterns/empty-states.md +263 -0
- package/knowledge/patterns/error-states.md +318 -0
- package/knowledge/patterns/form-design.md +237 -0
- package/knowledge/patterns/information-architecture.md +341 -0
- package/knowledge/patterns/landing-hero-design.md +283 -0
- package/knowledge/patterns/landing-page-patterns.md +681 -0
- package/knowledge/patterns/list-and-feed.md +371 -0
- package/knowledge/patterns/mobile-navigation.md +278 -0
- package/knowledge/patterns/money-and-amount.md +301 -0
- package/knowledge/patterns/onboarding.md +300 -0
- package/knowledge/patterns/pricing-page-design.md +261 -0
- package/knowledge/patterns/realtime-data.md +280 -0
- package/knowledge/patterns/report-design.md +330 -0
- package/knowledge/patterns/search-ux.md +373 -0
- package/knowledge/patterns/settings-page.md +325 -0
- package/knowledge/patterns/slide-deck-design.md +316 -0
- package/knowledge/patterns/styles-catalog.md +2599 -0
- package/knowledge/patterns/technical-writing.md +306 -0
- package/knowledge/patterns/ui-reasoning.md +1853 -0
- package/knowledge/patterns/ux-guidelines.md +1454 -0
- package/knowledge/platforms/react-native.md +395 -0
- package/knowledge/print/brochures-and-flyers.md +276 -0
- package/knowledge/print/korean-print-conventions.md +284 -0
- package/knowledge/print/packaging.md +321 -0
- package/knowledge/print/print-fundamentals.md +238 -0
- package/knowledge/print/signage-and-posters.md +235 -0
- package/knowledge/print/stationery.md +262 -0
- package/knowledge/spatial/ar-patterns.md +253 -0
- package/knowledge/spatial/comfort-and-accessibility.md +245 -0
- package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
- package/knowledge/spatial/spatial-ui-elements.md +343 -0
- package/knowledge/spatial/vr-patterns.md +302 -0
- package/knowledge/typography/font-pairings.md +332 -0
- package/knowledge/typography/mui-type-scale.md +57 -0
- package/knowledge/typography/type-scale-fundamentals.md +105 -0
- package/knowledge/video/in-product-video.md +277 -0
- package/knowledge/video/korean-video-conventions.md +247 -0
- package/knowledge/video/marketing-video.md +258 -0
- package/knowledge/video/social-and-short-form.md +257 -0
- package/knowledge/video/video-fundamentals.md +296 -0
- package/package.json +106 -0
- package/skills/README.md +39 -0
- package/skills/color-palette/PLAYBOOK.md +175 -0
- package/skills/color-palette/SKILL.md +6 -0
- package/skills/color-palette/TEMPLATE.md +103 -0
- package/skills/component-spec-writer/PLAYBOOK.md +169 -0
- package/skills/component-spec-writer/SKILL.md +6 -0
- package/skills/component-spec-writer/TEMPLATE.md +115 -0
- package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
- package/skills/conversational-ui-designer/SKILL.md +6 -0
- package/skills/design-broadcast/PLAYBOOK.md +146 -0
- package/skills/design-broadcast/SKILL.md +6 -0
- package/skills/design-critique/PLAYBOOK.md +137 -0
- package/skills/design-critique/SKILL.md +6 -0
- package/skills/design-pr-review/PLAYBOOK.md +171 -0
- package/skills/design-pr-review/SKILL.md +6 -0
- package/skills/design-system-builder/PLAYBOOK.md +218 -0
- package/skills/design-system-builder/SKILL.md +6 -0
- package/skills/design-system-qa/PLAYBOOK.md +163 -0
- package/skills/design-system-qa/SKILL.md +6 -0
- package/skills/document-author/PLAYBOOK.md +167 -0
- package/skills/document-author/SKILL.md +6 -0
- package/skills/figma-token-sync/PLAYBOOK.md +149 -0
- package/skills/figma-token-sync/SKILL.md +6 -0
- package/skills/game-ui-designer/PLAYBOOK.md +209 -0
- package/skills/game-ui-designer/SKILL.md +6 -0
- package/skills/handoff-spec/PLAYBOOK.md +170 -0
- package/skills/handoff-spec/SKILL.md +6 -0
- package/skills/illustration-designer/PLAYBOOK.md +166 -0
- package/skills/illustration-designer/SKILL.md +6 -0
- package/skills/motion-designer/PLAYBOOK.md +223 -0
- package/skills/motion-designer/SKILL.md +6 -0
- package/skills/print-designer/PLAYBOOK.md +209 -0
- package/skills/print-designer/SKILL.md +6 -0
- package/skills/slide-deck-author/PLAYBOOK.md +198 -0
- package/skills/slide-deck-author/SKILL.md +6 -0
- package/skills/spatial-designer/PLAYBOOK.md +238 -0
- package/skills/spatial-designer/SKILL.md +6 -0
- package/skills/ux-audit/PLAYBOOK.md +142 -0
- package/skills/ux-audit/SKILL.md +6 -0
- package/skills/video-designer/PLAYBOOK.md +240 -0
- package/skills/video-designer/SKILL.md +6 -0
- package/skills/website-improvement/PLAYBOOK.md +118 -0
- package/skills/website-improvement/SKILL.md +6 -0
- package/skills/website-improvement/TEMPLATE.md +103 -0
- package/tools/audit/changelog-generate.py +176 -0
- package/tools/audit/check-coverage.py +483 -0
- package/tools/audit/doctor_assertions.py +256 -0
- package/tools/audit/example-qa.py +108 -0
- package/tools/audit/frontmatter-check.py +199 -0
- package/tools/audit/integration-check.py +95 -0
- package/tools/audit/korean-copy-check.py +161 -0
- package/tools/audit/link-check.py +146 -0
- package/tools/audit/local-ci.py +558 -0
- package/tools/audit/package-contents.py +723 -0
- package/tools/audit/package-smoke.py +22443 -0
- package/tools/audit/raw-hex-check.py +252 -0
- package/tools/audit/registry-smoke.py +8188 -0
- package/tools/audit/release-metadata.py +9832 -0
- package/tools/audit/run-all.py +351 -0
- package/tools/audit/smoke_assertions.py +12742 -0
- package/tools/audit/stability-review.py +332 -0
- package/tools/audit/stale-check.py +156 -0
- package/tools/migrations/add-version-frontmatter.py +132 -0
- package/tools/migrations/bump-last-updated.py +131 -0
- package/tools/migrations/promote-stability.py +172 -0
- package/tools/preview/README.md +58 -0
- 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.
|