@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,198 @@
|
|
|
1
|
+
# slide-deck-author — playbook
|
|
2
|
+
|
|
3
|
+
Design and outline a slide deck (talk / pitch / reading deck). Outputs slide-by-slide content + design specs that a human or framework (Keynote, Figma Slides, reveal.js / Slidev) can render.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- "Make a 10-min talk on X"
|
|
8
|
+
- "Pitch deck for our seed round"
|
|
9
|
+
- "Internal review deck for the new feature"
|
|
10
|
+
- "Conference talk on design tokens"
|
|
11
|
+
|
|
12
|
+
## Inputs (ask if missing)
|
|
13
|
+
|
|
14
|
+
1. **Type**:
|
|
15
|
+
- **Talk deck** — presented live, supports speaker
|
|
16
|
+
- **Pitch / sales deck** — sent + presented
|
|
17
|
+
- **Reading deck** — sent only, read alone (warning: probably should be a doc)
|
|
18
|
+
2. **Topic + thesis** — what's the deck about? What's the one-line takeaway?
|
|
19
|
+
3. **Length** — minutes (talk) or slide count (pitch).
|
|
20
|
+
4. **Audience** — who's watching/reading?
|
|
21
|
+
5. **Brand** — color, font, logo, voice (or link to brand kit).
|
|
22
|
+
6. **Locale** — Korean / English / both.
|
|
23
|
+
|
|
24
|
+
## Steps
|
|
25
|
+
|
|
26
|
+
### 1. Pick the archetype
|
|
27
|
+
|
|
28
|
+
If unsure, decision rules from [`knowledge/patterns/slide-deck-design.md`](../../knowledge/patterns/slide-deck-design.md):
|
|
29
|
+
|
|
30
|
+
| Will it be sent + read alone? | Should be a doc, not a deck |
|
|
31
|
+
| Will it support a live presenter? | Talk deck (low density) |
|
|
32
|
+
| Will it be both sent + presented? | Pitch deck (medium density) |
|
|
33
|
+
|
|
34
|
+
If user insists on a "reading deck": warn that documents render better, then proceed.
|
|
35
|
+
|
|
36
|
+
### 2. Draft the outline
|
|
37
|
+
|
|
38
|
+
Slide-by-slide. Each entry has:
|
|
39
|
+
- Slide number
|
|
40
|
+
- Title (the message, not the topic)
|
|
41
|
+
- Visual (chart / image / mockup / nothing)
|
|
42
|
+
- Body text or speaker notes
|
|
43
|
+
|
|
44
|
+
For **talk deck** (10–25 slides typical):
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
1. Title slide — "Design Tokens, From First Principles"
|
|
48
|
+
2. Hook — the audience problem ("designers and devs say different colors")
|
|
49
|
+
3. Personal credibility (~5 sec, optional)
|
|
50
|
+
4. Argument 1 — "Tokens unify the language"
|
|
51
|
+
- Chart / before-after image
|
|
52
|
+
5. Argument 2 — "Three-tier architecture"
|
|
53
|
+
- Diagram
|
|
54
|
+
6. Argument 3 — ...
|
|
55
|
+
...
|
|
56
|
+
N. Conclusion / call to action
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
For **pitch deck** — Sequoia-style 12 slides:
|
|
60
|
+
```
|
|
61
|
+
1. Hero (company + tagline)
|
|
62
|
+
2. Problem
|
|
63
|
+
3. Solution
|
|
64
|
+
4. Why now
|
|
65
|
+
5. Product (demo screenshot)
|
|
66
|
+
6. Traction (chart)
|
|
67
|
+
7. Business model
|
|
68
|
+
8. Competition
|
|
69
|
+
9. Team
|
|
70
|
+
10. Financials / Ask
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### 3. Headline-as-message
|
|
74
|
+
|
|
75
|
+
For each slide, the title states the **takeaway**, not the topic.
|
|
76
|
+
|
|
77
|
+
| Topic title (bad) | Message title (good) |
|
|
78
|
+
| --- | --- |
|
|
79
|
+
| "Revenue" | "Revenue tripled in Q4" |
|
|
80
|
+
| "Architecture" | "We chose 3-tier for upgrade safety" |
|
|
81
|
+
| "Onboarding flow" | "Onboarding completes in 30 seconds" |
|
|
82
|
+
| "Tokens" | "Tokens cut design-dev rework by 40%" |
|
|
83
|
+
|
|
84
|
+
If the audience reads only the slide titles, they get the deck's argument.
|
|
85
|
+
|
|
86
|
+
### 4. Choose visuals per slide
|
|
87
|
+
|
|
88
|
+
For each slide, pick **one** primary visual:
|
|
89
|
+
- Chart (per [`knowledge/patterns/chart-color-encoding.md`](../../knowledge/patterns/chart-color-encoding.md))
|
|
90
|
+
- Screenshot of product (with annotations)
|
|
91
|
+
- Diagram (architecture, workflow, hierarchy)
|
|
92
|
+
- Photo (for emotion / human moment, sparingly)
|
|
93
|
+
- Just text (when the message is the visual)
|
|
94
|
+
|
|
95
|
+
Don't combine multiple visuals on one slide. The visual proves the title.
|
|
96
|
+
|
|
97
|
+
### 5. Apply visual / brand
|
|
98
|
+
|
|
99
|
+
Cite [`knowledge/patterns/brand-identity.md`](../../knowledge/patterns/brand-identity.md):
|
|
100
|
+
- Logo top-left or bottom-right (small).
|
|
101
|
+
- Brand color for accents (highlights, callouts, chart series).
|
|
102
|
+
- One typographic family (display + body if pairing).
|
|
103
|
+
- Background: neutral white or branded solid (no gradient noise).
|
|
104
|
+
|
|
105
|
+
For Korean-audience decks, cite [`knowledge/i18n/korean-document-style.md`](../../knowledge/i18n/korean-document-style.md):
|
|
106
|
+
- Pretendard or similar.
|
|
107
|
+
- Slightly more text density than Western decks (Korean business convention).
|
|
108
|
+
- Numbered hierarchical sections.
|
|
109
|
+
|
|
110
|
+
### 6. Output spec
|
|
111
|
+
|
|
112
|
+
Two outputs:
|
|
113
|
+
|
|
114
|
+
#### A. Outline markdown (for review)
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
# Deck: [title]
|
|
118
|
+
|
|
119
|
+
## Meta
|
|
120
|
+
- Type: talk deck
|
|
121
|
+
- Length: 10 min (~15 slides)
|
|
122
|
+
- Audience: senior designers
|
|
123
|
+
- Brand: design-ai
|
|
124
|
+
|
|
125
|
+
## Outline
|
|
126
|
+
|
|
127
|
+
### 1. Title
|
|
128
|
+
- Visual: company logo + tagline
|
|
129
|
+
- Notes: [what speaker says]
|
|
130
|
+
|
|
131
|
+
### 2. Hook — "Why design tokens matter"
|
|
132
|
+
- Visual: side-by-side photo (chaotic palette vs unified)
|
|
133
|
+
- Body text: none — image speaks
|
|
134
|
+
- Notes: [opening anecdote]
|
|
135
|
+
|
|
136
|
+
### 3. Argument 1 — "Tokens unify the design-dev handoff"
|
|
137
|
+
- Visual: chart of design-dev rework hours, before vs after tokens
|
|
138
|
+
- Body text: "Rework hours: -40% after token rollout"
|
|
139
|
+
- Notes: [story behind the chart]
|
|
140
|
+
|
|
141
|
+
...
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
#### B. Render-ready format (optional — based on tool)
|
|
145
|
+
|
|
146
|
+
For Figma Slides / Keynote: outline + visual spec is enough; designer renders.
|
|
147
|
+
|
|
148
|
+
For reveal.js / Slidev (markdown-based decks): generate the actual `.md` file:
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
---
|
|
152
|
+
theme: default
|
|
153
|
+
title: Design Tokens
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
# Design Tokens
|
|
157
|
+
From First Principles
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
# The problem
|
|
162
|
+
[image: chaotic-palette.png]
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
# Tokens unify the language
|
|
167
|
+
[chart: rework-hours.png]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Verification phase (run before declaring done)
|
|
171
|
+
|
|
172
|
+
- [ ] Did I pick the right archetype (warn if reading-deck)?
|
|
173
|
+
- [ ] Is the title of every slide a **message** (not a topic)?
|
|
174
|
+
- [ ] Each slide has one visual + one message — no mixed?
|
|
175
|
+
- [ ] Brand applied (logo, color, type)?
|
|
176
|
+
- [ ] Slide count appropriate for length (15-25 for 20-min talk)?
|
|
177
|
+
- [ ] If Korean: voice level consistent (~합니다 vs ~해요)?
|
|
178
|
+
- [ ] Speaker notes for live talks?
|
|
179
|
+
- [ ] No 3D charts / clipart / stock photos of people pointing at laptops?
|
|
180
|
+
|
|
181
|
+
## Source files this skill reads
|
|
182
|
+
|
|
183
|
+
- [`knowledge/patterns/slide-deck-design.md`](../../knowledge/patterns/slide-deck-design.md) — full deck rules
|
|
184
|
+
- [`knowledge/patterns/brand-identity.md`](../../knowledge/patterns/brand-identity.md) — brand application
|
|
185
|
+
- [`knowledge/patterns/chart-color-encoding.md`](../../knowledge/patterns/chart-color-encoding.md) — charts on slides
|
|
186
|
+
- [`knowledge/patterns/document-typography.md`](../../knowledge/patterns/document-typography.md) — when reading-deck → doc
|
|
187
|
+
- [`knowledge/i18n/korean-document-style.md`](../../knowledge/i18n/korean-document-style.md)
|
|
188
|
+
- [`knowledge/patterns/information-architecture.md`](../../knowledge/patterns/information-architecture.md) — section structure for long decks
|
|
189
|
+
|
|
190
|
+
## Done when
|
|
191
|
+
|
|
192
|
+
- Outline markdown delivered, slide-by-slide.
|
|
193
|
+
- Each slide title is a message.
|
|
194
|
+
- Each slide has one visual concept + body text.
|
|
195
|
+
- Brand applied consistently.
|
|
196
|
+
- Speaker notes for live decks.
|
|
197
|
+
- (Optional) render-ready format for declarative tools (reveal.js / Slidev).
|
|
198
|
+
- Verification phase passes.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: slide-deck-author
|
|
3
|
+
description: Design and outline a slide deck (talk / pitch / reading deck). Picks archetype, drafts slide-by-slide content with message-led titles, applies brand, outputs outline + render-ready markdown for declarative deck tools. Korean-aware.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
See [PLAYBOOK.md](PLAYBOOK.md).
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
# spatial-designer — playbook
|
|
2
|
+
|
|
3
|
+
Design and spec spatial / AR / VR / MR experiences. Output is a markdown spec covering platform, anchoring, locomotion, UI elements, comfort, and accessibility.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- "Design a Vision Pro productivity app."
|
|
8
|
+
- "Spec the locomotion for our VR game."
|
|
9
|
+
- "Plan a mobile AR product visualization."
|
|
10
|
+
- "Build a HoloLens training app."
|
|
11
|
+
- "Design a WebXR experience for our website."
|
|
12
|
+
|
|
13
|
+
## Inputs (ask if missing)
|
|
14
|
+
|
|
15
|
+
1. **Mode** — VR (immersive) / AR (mobile) / MR (passthrough headset) / WebXR / hybrid.
|
|
16
|
+
2. **Platform** — Vision Pro / Quest / HoloLens / iOS ARKit / Android ARCore / WebXR.
|
|
17
|
+
3. **Use case** — productivity / game / training / social / cinema / commerce AR.
|
|
18
|
+
4. **Audience** — first-time VR / experienced / Korean / international.
|
|
19
|
+
5. **Session length** — minutes (mobile AR) / hours (productivity).
|
|
20
|
+
6. **Locomotion needed?** — none (room-scale only) / teleport / smooth / hybrid.
|
|
21
|
+
7. **Input methods** — hand tracking / controllers / gaze / voice / mixed.
|
|
22
|
+
8. **Existing brand voice** — for visual / interaction style.
|
|
23
|
+
|
|
24
|
+
## Steps
|
|
25
|
+
|
|
26
|
+
### 1. Pick the mode + platform
|
|
27
|
+
|
|
28
|
+
| Mode | Read |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| VR (immersive) | [`vr-patterns.md`](../../knowledge/spatial/vr-patterns.md) |
|
|
31
|
+
| AR (mobile / headset MR) | [`ar-patterns.md`](../../knowledge/spatial/ar-patterns.md) |
|
|
32
|
+
| All — UI elements | [`spatial-ui-elements.md`](../../knowledge/spatial/spatial-ui-elements.md) |
|
|
33
|
+
| All — comfort + a11y | [`comfort-and-accessibility.md`](../../knowledge/spatial/comfort-and-accessibility.md) |
|
|
34
|
+
|
|
35
|
+
Always read [`spatial-design-fundamentals.md`](../../knowledge/spatial/spatial-design-fundamentals.md).
|
|
36
|
+
|
|
37
|
+
### 2. Spec the spatial geometry
|
|
38
|
+
|
|
39
|
+
| Aspect | Decide |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| Coordinate system | Right-handed (Unity) / left-handed (Unreal) / per platform |
|
|
42
|
+
| Default user height | 1.7m typical adult; allow calibration |
|
|
43
|
+
| Comfort distance for primary UI | 1.2-1.5m |
|
|
44
|
+
| Eye-level reference | 0° (eye level), -10° (slightly below for reading) |
|
|
45
|
+
| Field of view design | ±30° comfort zone |
|
|
46
|
+
|
|
47
|
+
### 3. Spec anchoring
|
|
48
|
+
|
|
49
|
+
For each UI element:
|
|
50
|
+
- **World-locked** (fixed in space).
|
|
51
|
+
- **Wrist-locked** (Vision Pro Home, quick menu).
|
|
52
|
+
- **Hand-locked** (held tools).
|
|
53
|
+
- **Head-locked** (sparingly — reticle, brief alerts).
|
|
54
|
+
- **Object-locked** (AR — pinned to recognized object).
|
|
55
|
+
- **Image-locked** (AR — triggered by marker).
|
|
56
|
+
|
|
57
|
+
Document each: when, where, why.
|
|
58
|
+
|
|
59
|
+
### 4. Spec locomotion (VR / immersive)
|
|
60
|
+
|
|
61
|
+
| Mode | Default for |
|
|
62
|
+
| --- | --- |
|
|
63
|
+
| Room-scale only | Stationary games (Beat Saber, vehicle sims) |
|
|
64
|
+
| Teleport | First-time users; accessible default |
|
|
65
|
+
| Snap turn | New + most users |
|
|
66
|
+
| Smooth move (with comfort options) | Hardcore VR; opt-in |
|
|
67
|
+
| Smooth turn | Opt-in advanced |
|
|
68
|
+
| Hybrid | Most action games |
|
|
69
|
+
|
|
70
|
+
Apply comfort vignette, fade transitions, and frame-rate guarantees (90+ fps).
|
|
71
|
+
|
|
72
|
+
### 5. Spec input methods
|
|
73
|
+
|
|
74
|
+
For each interaction:
|
|
75
|
+
- **Hand tracking** (pinch, point, grab, push).
|
|
76
|
+
- **Controllers** (trigger, grip, joystick, buttons).
|
|
77
|
+
- **Gaze + pinch** (Vision Pro signature).
|
|
78
|
+
- **Voice commands**.
|
|
79
|
+
- **Eye tracking** (where supported).
|
|
80
|
+
- **Hardware inputs** (face touch, head tap).
|
|
81
|
+
|
|
82
|
+
Don't make any single input mode mandatory. Provide alternatives.
|
|
83
|
+
|
|
84
|
+
### 6. Spec UI elements
|
|
85
|
+
|
|
86
|
+
For each panel / button / menu:
|
|
87
|
+
- **Anchoring** mode.
|
|
88
|
+
- **Distance + size** (visual angle preferred).
|
|
89
|
+
- **Billboarding** behavior.
|
|
90
|
+
- **Visual states** (idle / hover / pressed / selected).
|
|
91
|
+
- **Audio feedback** for state changes.
|
|
92
|
+
- **Occlusion** (real / virtual).
|
|
93
|
+
|
|
94
|
+
Use `SpatialPanel` primitive where applicable.
|
|
95
|
+
|
|
96
|
+
### 7. Plan comfort options
|
|
97
|
+
|
|
98
|
+
Comfort options menu (mandatory for VR):
|
|
99
|
+
|
|
100
|
+
- Locomotion mode (teleport / smooth / hybrid).
|
|
101
|
+
- Turn mode (snap / smooth) + angle.
|
|
102
|
+
- Comfort vignette strength.
|
|
103
|
+
- Smooth move speed.
|
|
104
|
+
- Camera motion control (allow / limit / none).
|
|
105
|
+
- Reduce flashing / particles.
|
|
106
|
+
|
|
107
|
+
### 8. Plan accessibility
|
|
108
|
+
|
|
109
|
+
- **Vision**: large text option, high contrast, color-blind, screen reader / VoiceOver.
|
|
110
|
+
- **Hearing**: subtitles + visual sound indicators.
|
|
111
|
+
- **Motor**: one-handed mode, voice nav, dwell-click.
|
|
112
|
+
- **Cognitive**: clear instructions, pause anywhere, save often.
|
|
113
|
+
- **Photosensitive**: no flashing > 3Hz; reduce particles option.
|
|
114
|
+
- **Mobility**: seated mode, smaller play area option, auto-walk.
|
|
115
|
+
|
|
116
|
+
### 9. Plan onboarding (first-run)
|
|
117
|
+
|
|
118
|
+
For users new to spatial:
|
|
119
|
+
- **Calibration** (eye height, IPD, hand tracking).
|
|
120
|
+
- **Tutorial** for unique gestures (pinch, teleport).
|
|
121
|
+
- **Comfort defaults** (most accessible).
|
|
122
|
+
- **Skip** for repeat users.
|
|
123
|
+
|
|
124
|
+
For AR mobile:
|
|
125
|
+
- **Surface detection** prompt.
|
|
126
|
+
- **Permission grant** for camera.
|
|
127
|
+
- **Visual instructions** to scan environment.
|
|
128
|
+
|
|
129
|
+
### 10. Korean / regional
|
|
130
|
+
|
|
131
|
+
| Aspect | Notes |
|
|
132
|
+
| --- | --- |
|
|
133
|
+
| Korean text | Pretendard / NanumSquare; ~1.5× Latin equivalent for readability at low PPD |
|
|
134
|
+
| Voice / TTS | Korean voice for assistant; 해요체 default |
|
|
135
|
+
| Privacy | 개인정보보호법 — disclose camera + body data use |
|
|
136
|
+
| Galaxy XR (upcoming) | Samsung XR ecosystem when launches |
|
|
137
|
+
| Cross-platform | Web XR or Unity / Unreal multi-platform |
|
|
138
|
+
|
|
139
|
+
### 11. Performance
|
|
140
|
+
|
|
141
|
+
- 90Hz minimum (VR); 120Hz preferred.
|
|
142
|
+
- 60Hz for mobile AR.
|
|
143
|
+
- Frame budget per device.
|
|
144
|
+
- Foveated rendering where supported.
|
|
145
|
+
- Polygon / texture budgets per platform.
|
|
146
|
+
- Battery / heat for mobile AR — limit session length.
|
|
147
|
+
|
|
148
|
+
### 12. Output
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
# Spatial design spec: <experience name>
|
|
152
|
+
|
|
153
|
+
> Mode: <VR / AR / MR / WebXR>
|
|
154
|
+
> Platform: <Vision Pro / Quest / HoloLens / iOS ARKit / WebXR>
|
|
155
|
+
> Use case: <productivity / game / training / social / cinema / commerce AR>
|
|
156
|
+
> Audience: <first-time / experienced / Korean / international>
|
|
157
|
+
> Session length: <minutes / hours>
|
|
158
|
+
|
|
159
|
+
## Spatial geometry
|
|
160
|
+
<coordinate system, height, comfort distance, FOV>
|
|
161
|
+
|
|
162
|
+
## Anchoring
|
|
163
|
+
<per UI element: world / wrist / hand / head / object>
|
|
164
|
+
|
|
165
|
+
## Locomotion (if VR)
|
|
166
|
+
<modes, defaults, comfort options>
|
|
167
|
+
|
|
168
|
+
## Input methods
|
|
169
|
+
<hand / controller / gaze / voice; alternatives for accessibility>
|
|
170
|
+
|
|
171
|
+
## UI elements
|
|
172
|
+
<panels, buttons, menus with sizing + states>
|
|
173
|
+
|
|
174
|
+
## Comfort options
|
|
175
|
+
<locomotion / turn / vignette / motion / flashing>
|
|
176
|
+
|
|
177
|
+
## Accessibility
|
|
178
|
+
<vision / hearing / motor / cognitive / photosensitive / mobility>
|
|
179
|
+
|
|
180
|
+
## Onboarding
|
|
181
|
+
<calibration / tutorial / skip>
|
|
182
|
+
|
|
183
|
+
## Korean / regional (if applicable)
|
|
184
|
+
<text, voice, privacy, Galaxy XR>
|
|
185
|
+
|
|
186
|
+
## Performance budget
|
|
187
|
+
<fps, polygons, textures, battery>
|
|
188
|
+
|
|
189
|
+
## UI components needed
|
|
190
|
+
<reference SpatialPanel, SpatialLocomotion, etc>
|
|
191
|
+
|
|
192
|
+
## Don't
|
|
193
|
+
<2-3 specific misuses>
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Source files this skill reads
|
|
197
|
+
|
|
198
|
+
- [`knowledge/spatial/spatial-design-fundamentals.md`](../../knowledge/spatial/spatial-design-fundamentals.md)
|
|
199
|
+
- [`knowledge/spatial/vr-patterns.md`](../../knowledge/spatial/vr-patterns.md)
|
|
200
|
+
- [`knowledge/spatial/ar-patterns.md`](../../knowledge/spatial/ar-patterns.md)
|
|
201
|
+
- [`knowledge/spatial/spatial-ui-elements.md`](../../knowledge/spatial/spatial-ui-elements.md)
|
|
202
|
+
- [`knowledge/spatial/comfort-and-accessibility.md`](../../knowledge/spatial/comfort-and-accessibility.md)
|
|
203
|
+
- [`knowledge/game-ui/game-accessibility.md`](../../knowledge/game-ui/game-accessibility.md) — broader a11y
|
|
204
|
+
- [`knowledge/motion/principles.md`](../../knowledge/motion/principles.md) — motion
|
|
205
|
+
- [`knowledge/i18n/korean-typography.md`](../../knowledge/i18n/korean-typography.md) — Hangul fonts
|
|
206
|
+
- [`examples/component-spatial-panel.md`](../../examples/component-spatial-panel.md)
|
|
207
|
+
- [`examples/component-spatial-locomotion.md`](../../examples/component-spatial-locomotion.md)
|
|
208
|
+
|
|
209
|
+
## Verification phase (run before declaring done)
|
|
210
|
+
|
|
211
|
+
- [ ] Is the mode (VR / AR / MR / WebXR) explicit?
|
|
212
|
+
- [ ] Is the platform (Vision Pro / Quest / etc) explicit?
|
|
213
|
+
- [ ] Are anchoring choices documented per UI element?
|
|
214
|
+
- [ ] If VR: are locomotion options + comfort defaults specified?
|
|
215
|
+
- [ ] Are input methods + alternatives documented?
|
|
216
|
+
- [ ] Are UI elements specified with sizing + states + audio?
|
|
217
|
+
- [ ] Are comfort options addressed (locomotion, turn, vignette, motion, flashing)?
|
|
218
|
+
- [ ] Is accessibility addressed across vision / hearing / motor / cognitive / photosensitive / mobility?
|
|
219
|
+
- [ ] Is performance budget (fps, polygons) explicit?
|
|
220
|
+
- [ ] Is onboarding planned?
|
|
221
|
+
- [ ] If Korean: is Korean text size + 개인정보보호법 addressed?
|
|
222
|
+
- [ ] Does "Don't" catch 2-3 specific misuses?
|
|
223
|
+
|
|
224
|
+
## Done when
|
|
225
|
+
|
|
226
|
+
- One markdown spec, < 500 lines.
|
|
227
|
+
- Mode + platform + use case + audience explicit.
|
|
228
|
+
- Spatial geometry defined.
|
|
229
|
+
- Anchoring per UI element.
|
|
230
|
+
- Locomotion (if VR).
|
|
231
|
+
- Input methods.
|
|
232
|
+
- UI elements with states + sizing.
|
|
233
|
+
- Comfort options.
|
|
234
|
+
- Accessibility plan.
|
|
235
|
+
- Performance budget.
|
|
236
|
+
- Onboarding plan.
|
|
237
|
+
- "Don't" section.
|
|
238
|
+
- Verification passes.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: spatial-designer
|
|
3
|
+
description: Design and spec spatial / AR / VR / MR experiences. Picks platform (Vision Pro / Quest / HoloLens / mobile AR / WebXR), anchoring (world / wrist / hand / head), locomotion (teleport / smooth / snap turn), comfort options, accessibility. Korean Galaxy XR and KR market context.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
See [PLAYBOOK.md](PLAYBOOK.md).
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# ux-audit — playbook
|
|
2
|
+
|
|
3
|
+
Audit a screen, flow, or page against UX best practices and accessibility. Output is a prioritized list of issues with severity, citation, and fix recommendation.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- "Review this signup flow."
|
|
8
|
+
- "What's wrong with our settings page?"
|
|
9
|
+
- "Audit the checkout."
|
|
10
|
+
- Pre-ship gate before release.
|
|
11
|
+
|
|
12
|
+
## Inputs (ask if missing)
|
|
13
|
+
|
|
14
|
+
1. **Artifact** — screenshot, Figma link, live URL, or HTML/code.
|
|
15
|
+
2. **Context** — who the user is, what they're trying to accomplish, what step in the flow this is.
|
|
16
|
+
3. **Platform** — web, iOS, Android, responsive web. Affects platform conventions.
|
|
17
|
+
4. **Specific concerns?** — sometimes the user already suspects an area; deep-dive that.
|
|
18
|
+
|
|
19
|
+
## Steps
|
|
20
|
+
|
|
21
|
+
### 1. Establish the user goal
|
|
22
|
+
|
|
23
|
+
Before evaluating, name the **primary user goal** for the artifact in one sentence. Every issue is rated against whether it helps or hurts that goal.
|
|
24
|
+
|
|
25
|
+
### 2. Walk the issue catalog
|
|
26
|
+
|
|
27
|
+
Open [`knowledge/patterns/ux-guidelines.md`](../../knowledge/patterns/ux-guidelines.md). For each category that applies (Navigation, Forms, Feedback, Loading, etc.), check the artifact against the listed do/don't pairs. Mark each as: **pass / fail / N/A**.
|
|
28
|
+
|
|
29
|
+
### 3. Run the a11y pass
|
|
30
|
+
|
|
31
|
+
For every interactive element on the artifact:
|
|
32
|
+
- Is it reachable by keyboard? (Cite [`knowledge/a11y/keyboard-and-focus.md`](../../knowledge/a11y/keyboard-and-focus.md))
|
|
33
|
+
- Does the focus indicator clear 3:1 contrast and 2px thickness?
|
|
34
|
+
- Is the touch target ≥ 44×44 (mobile) or ≥ 24×24 (web AA)?
|
|
35
|
+
- Does it have a label that a screen reader can announce?
|
|
36
|
+
|
|
37
|
+
For every text element:
|
|
38
|
+
- Does it clear 4.5:1 (body) or 3:1 (large)? Cite [`knowledge/a11y/contrast.md`](../../knowledge/a11y/contrast.md).
|
|
39
|
+
- Is meaning conveyed by anything other than color alone?
|
|
40
|
+
|
|
41
|
+
### 4. Check the visual style consistency
|
|
42
|
+
|
|
43
|
+
- Is spacing on the 4-px grid?
|
|
44
|
+
- Are font sizes from a defined scale, or random?
|
|
45
|
+
- Are colors from a defined palette, or one-offs?
|
|
46
|
+
- Are corner radii consistent across components on the page?
|
|
47
|
+
- Are interactive elements visually distinct from static elements?
|
|
48
|
+
|
|
49
|
+
### 5. Check the cognitive load
|
|
50
|
+
|
|
51
|
+
- How many decisions does the user face at once?
|
|
52
|
+
- Is the primary action visually dominant? (1 per screen.)
|
|
53
|
+
- Are required fields marked, errors specific, success acknowledged?
|
|
54
|
+
- Is the back/escape path obvious?
|
|
55
|
+
- Reading load: can the user accomplish the goal without reading more than ~50 words?
|
|
56
|
+
|
|
57
|
+
### 6. Check the platform conventions
|
|
58
|
+
|
|
59
|
+
| Platform | Watch for |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| iOS | Native back gesture, system fonts, sheet presentation, safe-area, dynamic type |
|
|
62
|
+
| Android | Material elevation, FAB placement, system-back, gesture nav inset |
|
|
63
|
+
| Web | Browser back behavior, deep linking, copy-pastable URLs, refresh resilience |
|
|
64
|
+
| Responsive web | Touch on touchscreens, hover only as enhancement |
|
|
65
|
+
|
|
66
|
+
### 7. Score each issue
|
|
67
|
+
|
|
68
|
+
| Severity | Definition | Action |
|
|
69
|
+
| --- | --- | --- |
|
|
70
|
+
| 🔴 Critical | Blocks the goal OR fails WCAG AA | **Must fix before ship.** |
|
|
71
|
+
| 🟠 High | Significantly slows or confuses users | **Fix this cycle.** |
|
|
72
|
+
| 🟡 Medium | Inconsistency, minor friction | **Schedule.** |
|
|
73
|
+
| 🟢 Low | Polish, suggestion | **Backlog.** |
|
|
74
|
+
|
|
75
|
+
A11y failures (contrast < 4.5:1 for body text, missing labels, inaccessible keyboard paths) are **always Critical**, regardless of how minor they look.
|
|
76
|
+
|
|
77
|
+
### 8. Output
|
|
78
|
+
|
|
79
|
+
A structured report:
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
# UX Audit: <artifact name>
|
|
83
|
+
|
|
84
|
+
> User goal: <one sentence>
|
|
85
|
+
> Platform: <platform>
|
|
86
|
+
> Reviewed: <date>
|
|
87
|
+
|
|
88
|
+
## Summary
|
|
89
|
+
<3 bullets: what works, what's at risk, top recommendation>
|
|
90
|
+
|
|
91
|
+
## Critical (n)
|
|
92
|
+
1. **<title>** — <where>
|
|
93
|
+
- Issue: <what's wrong>
|
|
94
|
+
- Why: <impact on user>
|
|
95
|
+
- Fix: <specific recommendation>
|
|
96
|
+
- Reference: <citation to knowledge/ or WCAG>
|
|
97
|
+
|
|
98
|
+
## High (n)
|
|
99
|
+
...
|
|
100
|
+
|
|
101
|
+
## Medium (n)
|
|
102
|
+
...
|
|
103
|
+
|
|
104
|
+
## Low (n)
|
|
105
|
+
...
|
|
106
|
+
|
|
107
|
+
## Things that work well
|
|
108
|
+
<2–4 bullets, genuine praise — keeps the report constructive>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Source files this skill reads
|
|
112
|
+
|
|
113
|
+
- [`knowledge/patterns/ux-guidelines.md`](../../knowledge/patterns/ux-guidelines.md)
|
|
114
|
+
- [`knowledge/a11y/contrast.md`](../../knowledge/a11y/contrast.md)
|
|
115
|
+
- [`knowledge/a11y/keyboard-and-focus.md`](../../knowledge/a11y/keyboard-and-focus.md)
|
|
116
|
+
- [`knowledge/colors/color-theory.md`](../../knowledge/colors/color-theory.md)
|
|
117
|
+
- [`knowledge/typography/type-scale-fundamentals.md`](../../knowledge/typography/type-scale-fundamentals.md)
|
|
118
|
+
- [`knowledge/layout/spacing-and-grid.md`](../../knowledge/layout/spacing-and-grid.md)
|
|
119
|
+
- [`knowledge/patterns/form-design.md`](../../knowledge/patterns/form-design.md) — when auditing forms
|
|
120
|
+
- [`knowledge/patterns/list-and-feed.md`](../../knowledge/patterns/list-and-feed.md) — when auditing feeds/lists
|
|
121
|
+
- [`knowledge/patterns/mobile-navigation.md`](../../knowledge/patterns/mobile-navigation.md) — when auditing mobile nav
|
|
122
|
+
- [`knowledge/i18n/korean-product-conventions.md`](../../knowledge/i18n/korean-product-conventions.md) — Korean apps
|
|
123
|
+
|
|
124
|
+
## Verification phase (run before declaring done)
|
|
125
|
+
|
|
126
|
+
- [ ] Did I name the user goal at the top of the report?
|
|
127
|
+
- [ ] Does every issue have a citation to a knowledge/ file or WCAG section?
|
|
128
|
+
- [ ] Does every CRITICAL issue cite a specific WCAG criterion (e.g., 1.4.3, 2.4.7)?
|
|
129
|
+
- [ ] Are issues sorted within each severity (most blocking first)?
|
|
130
|
+
- [ ] Did I include a "things that work well" section (constructive balance)?
|
|
131
|
+
- [ ] Is each fix recommendation actionable (not "consider improving")?
|
|
132
|
+
- [ ] If platform-specific (mobile / KR): did I check the relevant convention file?
|
|
133
|
+
- [ ] Are duplicate issues merged (not listed in both a11y and UX)?
|
|
134
|
+
|
|
135
|
+
## Done when
|
|
136
|
+
|
|
137
|
+
- One report file with summary + 4 severity sections + "things that work well".
|
|
138
|
+
- Every issue has: where, what, why, fix, citation.
|
|
139
|
+
- Every Critical issue has at least one knowledge/ or WCAG citation.
|
|
140
|
+
- The report names the user goal up top.
|
|
141
|
+
- The report is **specific** — no "could be improved" without a stated alternative.
|
|
142
|
+
- The verification phase checklist passes.
|