@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,218 @@
|
|
|
1
|
+
# design-system-builder — playbook
|
|
2
|
+
|
|
3
|
+
Bootstrap a complete design system from a brand brief. Output is a directory of design tokens, foundational guidelines, and a starter component set.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- "We're starting a new product, build the design system."
|
|
8
|
+
- "Migrate our hardcoded styles into a token system."
|
|
9
|
+
- "I have these brand colors and fonts — turn it into a system."
|
|
10
|
+
|
|
11
|
+
## Inputs (ask if missing)
|
|
12
|
+
|
|
13
|
+
1. **Product type / category** — SaaS, e-commerce, fintech, etc. Use to seed palette and density.
|
|
14
|
+
2. **Brand inputs**:
|
|
15
|
+
- Primary brand color (hex).
|
|
16
|
+
- Optional: secondary color, font preferences, mood words.
|
|
17
|
+
3. **Target framework** — `tailwind v4`, `shadcn-ui`, `mui`, `antd`, `css variables`, `style dictionary`.
|
|
18
|
+
4. **Content language(s)** — affects type system (Korean line-height, RTL).
|
|
19
|
+
5. **Density default** — comfortable / compact.
|
|
20
|
+
6. **Light + dark, or light only?** — default both.
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
### 1. Seed from a curated row
|
|
25
|
+
|
|
26
|
+
Open [`knowledge/colors/palettes-by-product-type.md`](../../knowledge/colors/palettes-by-product-type.md). Find the closest product-type row. Use it as a reference shape — not values to copy. The user's brand color overrides the primary.
|
|
27
|
+
|
|
28
|
+
### 2. Build tokens — color
|
|
29
|
+
|
|
30
|
+
Invoke the `color-palette` skill (or its playbook) with the brand color as seed. Get back:
|
|
31
|
+
- Brand ramps (primary, accent, neutrals)
|
|
32
|
+
- Semantic aliases (light + dark)
|
|
33
|
+
- Contrast matrix
|
|
34
|
+
|
|
35
|
+
### 3. Build tokens — typography
|
|
36
|
+
|
|
37
|
+
- Pick a font pairing from [`knowledge/typography/font-pairings.md`](../../knowledge/typography/font-pairings.md) by mood.
|
|
38
|
+
- Build the type scale using base 14 (product UI) or 16 (marketing). Ratio 1.25 (major third) is the safe default. See [`knowledge/typography/type-scale-fundamentals.md`](../../knowledge/typography/type-scale-fundamentals.md).
|
|
39
|
+
- Define 5–7 named variants: `display`, `heading-lg`, `heading-md`, `heading-sm`, `body-lg`, `body`, `caption`.
|
|
40
|
+
- Each variant has: family, weight, size, line-height, letter-spacing, casing.
|
|
41
|
+
|
|
42
|
+
For Korean content: bump line-heights by 10%.
|
|
43
|
+
|
|
44
|
+
### 4. Build tokens — spacing, radius, elevation, motion
|
|
45
|
+
|
|
46
|
+
Spacing: 4-base scale, 9 stops (`4, 8, 12, 16, 20, 24, 32, 40, 48, 64`). See [`knowledge/layout/spacing-and-grid.md`](../../knowledge/layout/spacing-and-grid.md).
|
|
47
|
+
|
|
48
|
+
Radius:
|
|
49
|
+
- `radius-none: 0`
|
|
50
|
+
- `radius-sm: 4px`
|
|
51
|
+
- `radius-md: 6–8px` (system default)
|
|
52
|
+
- `radius-lg: 12px`
|
|
53
|
+
- `radius-full: 9999px`
|
|
54
|
+
|
|
55
|
+
Elevation (4 levels):
|
|
56
|
+
- `elevation-0`: `none`
|
|
57
|
+
- `elevation-1`: `0 1px 2px rgba(0,0,0,0.06)`
|
|
58
|
+
- `elevation-2`: `0 4px 8px rgba(0,0,0,0.08)`
|
|
59
|
+
- `elevation-3`: `0 12px 24px rgba(0,0,0,0.12)`
|
|
60
|
+
|
|
61
|
+
In dark mode, replace shadow with subtle border + elevated background.
|
|
62
|
+
|
|
63
|
+
Motion:
|
|
64
|
+
- `motion-fast: 150ms`
|
|
65
|
+
- `motion-default: 250ms`
|
|
66
|
+
- `motion-slow: 400ms`
|
|
67
|
+
- `easing-default: cubic-bezier(0.4, 0, 0.2, 1)` (standard)
|
|
68
|
+
- `easing-emphasized: cubic-bezier(0.2, 0, 0, 1)` (emphasized accelerate)
|
|
69
|
+
|
|
70
|
+
Cite Ant Design's motion easings ([`knowledge/design-tokens/ant-design.md`](../../knowledge/design-tokens/ant-design.md)) — they ship a tested set.
|
|
71
|
+
|
|
72
|
+
### 5. Define foundations document
|
|
73
|
+
|
|
74
|
+
Write a `FOUNDATIONS.md` with:
|
|
75
|
+
- Color usage rules (when to use primary vs accent).
|
|
76
|
+
- Typography hierarchy rules.
|
|
77
|
+
- Iconography (set choice — Material symbols, Lucide, custom — and stroke/size rules).
|
|
78
|
+
- Voice and tone (1 paragraph or skip).
|
|
79
|
+
- Layout grid (12-col, 24px gutter, 24px margin scaling).
|
|
80
|
+
- Density modes if applicable.
|
|
81
|
+
|
|
82
|
+
### 6. Pick component baseline
|
|
83
|
+
|
|
84
|
+
Recommend a baseline based on the framework choice:
|
|
85
|
+
- **shadcn-ui** for new React projects with Tailwind. Copy the components, adapt tokens.
|
|
86
|
+
- **MUI** for React projects needing rich pre-built widgets (date pickers, data grids).
|
|
87
|
+
- **Ant Design** for enterprise/dense/Chinese-market or where Form, Table, Tree need to be production-grade out of the box.
|
|
88
|
+
- **Custom (Radix + Tailwind)** if the team has senior FE bandwidth.
|
|
89
|
+
|
|
90
|
+
Don't recommend more than one — pick the strongest fit and explain why.
|
|
91
|
+
|
|
92
|
+
### 7. List the starter component set
|
|
93
|
+
|
|
94
|
+
Pick the right starter set for the product category. Don't ship a 30-component v1 if 12 will do. Don't ship a 12-component v1 if you're building a fintech that needs AmountInput on day 1.
|
|
95
|
+
|
|
96
|
+
#### Always-needed core (every system, no exceptions)
|
|
97
|
+
|
|
98
|
+
- Button (3 sizes × 4 intents)
|
|
99
|
+
- Input, Textarea
|
|
100
|
+
- Select / Combobox
|
|
101
|
+
- Checkbox, Radio, Switch
|
|
102
|
+
- Card
|
|
103
|
+
- Modal / Sheet
|
|
104
|
+
- Toast
|
|
105
|
+
- Form (Field/Label/Control composition — see [examples/component-form.md](../../examples/component-form.md))
|
|
106
|
+
- Alert (4 intents: info, success, warning, error)
|
|
107
|
+
- Skeleton, EmptyState
|
|
108
|
+
- Tooltip
|
|
109
|
+
- Badge, Tag
|
|
110
|
+
|
|
111
|
+
#### Category-specific extensions
|
|
112
|
+
|
|
113
|
+
| Category | Add to core |
|
|
114
|
+
| --- | --- |
|
|
115
|
+
| **Consumer mobile (B2C)** | Bottom-tab-bar, top-app-bar, list item primitives, pull-to-refresh, swipe actions, quick action sheet, biometric gate (KR fintech) |
|
|
116
|
+
| **B2B SaaS / dashboard** | Table (TanStack), advanced filter bar, column visibility menu, bulk-action bar, breadcrumb, pagination, sidebar nav, command palette (`Cmd+K`) |
|
|
117
|
+
| **Fintech consumer** | All consumer mobile + AmountInput, AmountDisplay (hero), TransactionListItem, AccountCard, CategoryPicker, PaymentMethodSelector, biometric gate, 본인인증 modal |
|
|
118
|
+
| **E-commerce** | Product card grid, AddToCart button, QuantityStepper, Price (with discount), ImageGallery, ProductOptionPicker (size/color), CartSummary, Address autocomplete (Daum Postcode for KR) |
|
|
119
|
+
| **Content / Publishing** | Article header, byline, table-of-contents, share menu, comment thread, reaction bar, related-articles list |
|
|
120
|
+
| **Marketing / Landing** | Hero block, FeatureGrid, TestimonialCarousel, PricingCards, FAQ accordion, NewsletterCTA, Banner (announcement bar) |
|
|
121
|
+
| **Productivity / Tools** | Sidebar with collapsible nav, command palette, keyboard-shortcut display, progress bar, activity log, mention picker |
|
|
122
|
+
| **Social / Community** | Post composer, FeedItem, reactions, comment thread, mention/hashtag autocomplete, infinite-scroll feed, follow button |
|
|
123
|
+
| **Health / Wellness** | Tracker chart (line + area), goal progress ring, streak indicator, reminder card, log entry list |
|
|
124
|
+
|
|
125
|
+
#### Marked component status
|
|
126
|
+
|
|
127
|
+
Format the list as:
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
| Component | Status | Source |
|
|
131
|
+
| --- | --- | --- |
|
|
132
|
+
| Button | derived | shadcn-ui baseline + token override |
|
|
133
|
+
| Input | derived | shadcn-ui baseline |
|
|
134
|
+
| AmountInput | custom | spec via `component-spec-writer` (Phase 2) |
|
|
135
|
+
| TransactionListItem | custom | spec via `component-spec-writer` (Phase 2) |
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
The custom ones go on the **Phase 2** spec list to be authored next via `component-spec-writer`.
|
|
139
|
+
|
|
140
|
+
#### Worked example
|
|
141
|
+
|
|
142
|
+
For a Korean fintech consumer app, the starter set is articulated in [`examples/dogfood-korean-fintech-system.md`](../../examples/dogfood-korean-fintech-system.md). Use it as a structural reference.
|
|
143
|
+
|
|
144
|
+
### 8. Output structure
|
|
145
|
+
|
|
146
|
+
Produce a directory:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
design-system/
|
|
150
|
+
├── tokens/
|
|
151
|
+
│ ├── color.css # all color tokens, light + dark
|
|
152
|
+
│ ├── typography.css
|
|
153
|
+
│ ├── spacing.css
|
|
154
|
+
│ ├── radius.css
|
|
155
|
+
│ ├── elevation.css
|
|
156
|
+
│ ├── motion.css
|
|
157
|
+
│ └── tokens.json # Style Dictionary source
|
|
158
|
+
├── foundations/
|
|
159
|
+
│ ├── color.md
|
|
160
|
+
│ ├── typography.md
|
|
161
|
+
│ ├── spacing.md
|
|
162
|
+
│ ├── iconography.md
|
|
163
|
+
│ └── motion.md
|
|
164
|
+
├── components/
|
|
165
|
+
│ └── README.md # baseline choice + starter set list
|
|
166
|
+
├── README.md # how to consume the system
|
|
167
|
+
└── CHANGELOG.md # versioned token changes (start at v0.1.0)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
If the user just wants a single document instead of a directory, condense into one markdown file in the same order.
|
|
171
|
+
|
|
172
|
+
### 9. Validate
|
|
173
|
+
|
|
174
|
+
Before declaring done, verify:
|
|
175
|
+
- Every semantic color token has a contrast number.
|
|
176
|
+
- Light and dark are both populated.
|
|
177
|
+
- Type scale has line-heights AND letter-spacing.
|
|
178
|
+
- Motion has both duration and easing.
|
|
179
|
+
- README explains how to consume (CSS import / Tailwind config / MUI ThemeProvider).
|
|
180
|
+
|
|
181
|
+
## Source files this skill reads
|
|
182
|
+
|
|
183
|
+
- [`knowledge/colors/color-theory.md`](../../knowledge/colors/color-theory.md)
|
|
184
|
+
- [`knowledge/colors/palettes-by-product-type.md`](../../knowledge/colors/palettes-by-product-type.md)
|
|
185
|
+
- [`knowledge/typography/type-scale-fundamentals.md`](../../knowledge/typography/type-scale-fundamentals.md)
|
|
186
|
+
- [`knowledge/typography/font-pairings.md`](../../knowledge/typography/font-pairings.md)
|
|
187
|
+
- [`knowledge/typography/mui-type-scale.md`](../../knowledge/typography/mui-type-scale.md)
|
|
188
|
+
- [`knowledge/layout/spacing-and-grid.md`](../../knowledge/layout/spacing-and-grid.md)
|
|
189
|
+
- [`knowledge/design-tokens/ant-design.md`](../../knowledge/design-tokens/ant-design.md)
|
|
190
|
+
- [`knowledge/components/INDEX.md`](../../knowledge/components/INDEX.md)
|
|
191
|
+
- [`knowledge/motion/principles.md`](../../knowledge/motion/principles.md)
|
|
192
|
+
- [`knowledge/i18n/korean-typography.md`](../../knowledge/i18n/korean-typography.md) (Korean content)
|
|
193
|
+
- [`knowledge/i18n/korean-product-conventions.md`](../../knowledge/i18n/korean-product-conventions.md) (Korean content)
|
|
194
|
+
- [`knowledge/platforms/react-native.md`](../../knowledge/platforms/react-native.md) (RN target)
|
|
195
|
+
|
|
196
|
+
## Verification phase (run before declaring done)
|
|
197
|
+
|
|
198
|
+
- [ ] Did I cite at least one knowledge file per major domain (color, typography, spacing, motion)?
|
|
199
|
+
- [ ] Are tokens named by **role** in the semantic layer, not by hex value?
|
|
200
|
+
- [ ] Does the contrast matrix flag pass/fail for every UI-relevant pair?
|
|
201
|
+
- [ ] Light AND dark are both populated (when both requested)?
|
|
202
|
+
- [ ] Type scale has line-height AND weight AND letter-spacing?
|
|
203
|
+
- [ ] If Korean content: did I apply +10% line-height bump? Recommend Pretendard?
|
|
204
|
+
- [ ] If RN target: did I provide tokens as numbers (not strings)?
|
|
205
|
+
- [ ] Did I pick exactly **one** component baseline with rationale (not multiple)?
|
|
206
|
+
- [ ] Is the starter set sized for the product category (consumer mobile vs B2B SaaS)?
|
|
207
|
+
- [ ] Does each starter component have a status (derived / custom)?
|
|
208
|
+
- [ ] Did I include foundations docs (color, type, spacing, motion, iconography)?
|
|
209
|
+
- [ ] Is the engineering hand-off list specific (commands, configs, vendor SDKs)?
|
|
210
|
+
|
|
211
|
+
## Done when
|
|
212
|
+
|
|
213
|
+
- Token files in the requested format(s).
|
|
214
|
+
- Foundations docs cover color, type, spacing, motion, iconography.
|
|
215
|
+
- Component baseline is named with one-paragraph rationale.
|
|
216
|
+
- Starter component list with derived/custom labels and category-appropriate scope.
|
|
217
|
+
- A consumer (frontend dev) can import and start building without questions.
|
|
218
|
+
- The verification phase checklist passes.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-system-builder
|
|
3
|
+
description: Bootstrap a complete design system — tokens (color, type, spacing, radius, elevation, motion), foundations docs, component baseline choice, and starter component list — from a brand brief.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
See [PLAYBOOK.md](PLAYBOOK.md).
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# design-system-qa — playbook
|
|
2
|
+
|
|
3
|
+
Audit a design system for drift, regression, and inconsistency. Output is a prioritized findings list with concrete CI/lint integration recommendations.
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- "Audit our design system QA"
|
|
8
|
+
- "We have visual bugs slipping into prod — set up testing"
|
|
9
|
+
- "Tokens are drifting — how do we lock this down?"
|
|
10
|
+
- Pre-release: "Is the design system ready to ship?"
|
|
11
|
+
|
|
12
|
+
## Inputs (ask if missing)
|
|
13
|
+
|
|
14
|
+
1. **Current QA state**: existing tests? CI pipeline? Visual regression? A11y testing?
|
|
15
|
+
2. **Stack**: React + Storybook + Tailwind? React Native + Detox? Vue + Vitest?
|
|
16
|
+
3. **Scale**: number of components, number of consuming products, team size.
|
|
17
|
+
4. **Pain points**: what's been breaking? Tokens? Visual? A11y? API?
|
|
18
|
+
5. **Budget**: free tools only or willing to pay (Chromatic, Percy)?
|
|
19
|
+
|
|
20
|
+
## Steps
|
|
21
|
+
|
|
22
|
+
### 1. Inventory current QA coverage
|
|
23
|
+
|
|
24
|
+
For each layer, document what exists:
|
|
25
|
+
|
|
26
|
+
| Layer | Tools currently in use? |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| TypeScript / type safety | tsc, strict mode? |
|
|
29
|
+
| Token drift | lint rule? Stylelint? |
|
|
30
|
+
| Component contract tests | Jest/Vitest + Testing Library? |
|
|
31
|
+
| A11y | axe-core, storybook-addon-a11y? |
|
|
32
|
+
| Visual regression | Chromatic, Percy, Playwright snapshots? |
|
|
33
|
+
| Figma sync diff | Manual? Tokens Studio? Custom script? |
|
|
34
|
+
|
|
35
|
+
Cite [`knowledge/patterns/design-system-qa.md`](../../knowledge/patterns/design-system-qa.md) for the canonical layer model.
|
|
36
|
+
|
|
37
|
+
### 2. Identify gaps
|
|
38
|
+
|
|
39
|
+
For each missing layer, document:
|
|
40
|
+
- What it would catch
|
|
41
|
+
- Estimated setup effort (S/M/L)
|
|
42
|
+
- Recurring cost (free / paid)
|
|
43
|
+
- Recommended tool
|
|
44
|
+
|
|
45
|
+
### 3. Audit existing tests for quality
|
|
46
|
+
|
|
47
|
+
Existing tests aren't necessarily good tests. Run:
|
|
48
|
+
|
|
49
|
+
- **Coverage report**: which components have any tests?
|
|
50
|
+
- **Story inventory**: how many stories per component? Cover all variants × states?
|
|
51
|
+
- **A11y violations**: run axe on all stories. Count current violations.
|
|
52
|
+
- **Visual snapshot age**: how recent are baselines? Many old snapshots might mask real bugs.
|
|
53
|
+
|
|
54
|
+
### 4. Priority-order the gaps
|
|
55
|
+
|
|
56
|
+
Use this severity:
|
|
57
|
+
|
|
58
|
+
| Severity | Gap |
|
|
59
|
+
| --- | --- |
|
|
60
|
+
| 🔴 Critical | No a11y testing, raw hex in component code, no TypeScript |
|
|
61
|
+
| 🟠 High | No contract tests, no Storybook stories, manual visual review only |
|
|
62
|
+
| 🟡 Medium | Visual regression incomplete, Figma sync not automated |
|
|
63
|
+
| 🟢 Low | Edge case stories missing, dark mode not snapshot-tested |
|
|
64
|
+
|
|
65
|
+
### 5. Recommend a tactical setup
|
|
66
|
+
|
|
67
|
+
Based on stack + budget, propose:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
Stack: React + Tailwind + Storybook
|
|
71
|
+
Budget: free tier OK
|
|
72
|
+
|
|
73
|
+
Recommended Phase 1:
|
|
74
|
+
1. Add storybook-addon-a11y (free) — catches ~80% of a11y issues at story level
|
|
75
|
+
2. Set up axe-playwright for page-level a11y (free)
|
|
76
|
+
3. Configure Stylelint with no-color-literal rule (free)
|
|
77
|
+
4. Set up TypeScript strict mode if not already (free)
|
|
78
|
+
5. Write contract tests for top 5 components (Button, Input, Modal, etc.)
|
|
79
|
+
|
|
80
|
+
Phase 2 (later):
|
|
81
|
+
6. Chromatic for visual regression (paid: $149/mo for Pro tier)
|
|
82
|
+
OR: Playwright + image-snapshot if free is required
|
|
83
|
+
7. Token drift Figma sync diff
|
|
84
|
+
8. Per-component QA checklist enforcement
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 6. Write the report
|
|
88
|
+
|
|
89
|
+
Use the structure:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
# Design System QA Audit
|
|
93
|
+
|
|
94
|
+
> Reviewed: <date>
|
|
95
|
+
> System: <name>
|
|
96
|
+
> Reviewer: design-system-qa skill
|
|
97
|
+
|
|
98
|
+
## Summary
|
|
99
|
+
- Critical gaps: <n>
|
|
100
|
+
- High: <n>
|
|
101
|
+
- Medium: <n>
|
|
102
|
+
- Low: <n>
|
|
103
|
+
- Recommended tools to adopt: <n>
|
|
104
|
+
|
|
105
|
+
## Layer 1: TypeScript / type safety
|
|
106
|
+
- Status: ✓ in place / ⚠ partial / ✗ missing
|
|
107
|
+
- Findings: ...
|
|
108
|
+
|
|
109
|
+
## Layer 2: Token drift detection
|
|
110
|
+
- Status: ...
|
|
111
|
+
- Recommendation: Add Stylelint `color-no-hex` rule (free, 30min setup)
|
|
112
|
+
- Example config: ...
|
|
113
|
+
|
|
114
|
+
## Layer 3: Component contract tests
|
|
115
|
+
...
|
|
116
|
+
|
|
117
|
+
## Layer 4: A11y regression
|
|
118
|
+
...
|
|
119
|
+
|
|
120
|
+
## Layer 5: Visual regression
|
|
121
|
+
...
|
|
122
|
+
|
|
123
|
+
## Layer 6: Figma sync diff
|
|
124
|
+
...
|
|
125
|
+
|
|
126
|
+
## CI pipeline integration
|
|
127
|
+
- Recommended GitHub Actions workflow: ...
|
|
128
|
+
|
|
129
|
+
## Phased rollout
|
|
130
|
+
- Phase 1 (this sprint): ...
|
|
131
|
+
- Phase 2 (next quarter): ...
|
|
132
|
+
|
|
133
|
+
## Cited sources
|
|
134
|
+
- knowledge/patterns/design-system-qa.md
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Verification phase (run before declaring done)
|
|
138
|
+
|
|
139
|
+
- [ ] Did I cite `knowledge/patterns/design-system-qa.md` for the layer model?
|
|
140
|
+
- [ ] Does every gap have a specific recommended tool with cost + setup effort?
|
|
141
|
+
- [ ] Is each Critical issue actionable within one sprint?
|
|
142
|
+
- [ ] Did I propose a CI pipeline (or extend an existing one)?
|
|
143
|
+
- [ ] Did I include a phased rollout (not "do everything at once")?
|
|
144
|
+
- [ ] Did I distinguish between layers a tool catches and what still needs human review?
|
|
145
|
+
- [ ] Did I tailor recommendations to the user's stack and budget (not generic)?
|
|
146
|
+
|
|
147
|
+
## Source files this skill reads
|
|
148
|
+
|
|
149
|
+
- [`knowledge/patterns/design-system-qa.md`](../../knowledge/patterns/design-system-qa.md) — full layer model
|
|
150
|
+
- [`docs/TOKEN-SYNC.md`](../../docs/TOKEN-SYNC.md) — token sync workflows
|
|
151
|
+
- [`docs/FIGMA-INTEGRATION.md`](../../docs/FIGMA-INTEGRATION.md) — Figma side
|
|
152
|
+
- [`knowledge/a11y/contrast.md`](../../knowledge/a11y/contrast.md) — what a11y tests catch
|
|
153
|
+
- [`knowledge/a11y/keyboard-and-focus.md`](../../knowledge/a11y/keyboard-and-focus.md) — what keyboard tests catch
|
|
154
|
+
- The component specs in [`examples/README.md`](../../examples/README.md) — what contract tests should verify per component
|
|
155
|
+
|
|
156
|
+
## Done when
|
|
157
|
+
|
|
158
|
+
- One audit report file.
|
|
159
|
+
- Every gap rated by severity.
|
|
160
|
+
- Every recommendation has tool + cost + setup effort.
|
|
161
|
+
- Phased rollout (Phase 1 = this sprint, Phase 2 = next quarter).
|
|
162
|
+
- CI pipeline recommendation with specific GitHub Actions / GitLab CI config.
|
|
163
|
+
- Verification checklist passes.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: design-system-qa
|
|
3
|
+
description: Audit a design system for drift, regression, and inconsistency. Outputs a prioritized findings list with concrete CI/lint integration recommendations across 5 testing layers (TypeScript, token drift, contract tests, a11y, visual regression).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
See [PLAYBOOK.md](PLAYBOOK.md).
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# document-author — playbook
|
|
2
|
+
|
|
3
|
+
Write and structure technical or product documentation. Outputs ready-to-publish markdown matching one of the four Diátaxis types (tutorial / how-to / reference / explanation).
|
|
4
|
+
|
|
5
|
+
## When to use
|
|
6
|
+
|
|
7
|
+
- "Write a tutorial for getting started with our API"
|
|
8
|
+
- "Document the deployment process"
|
|
9
|
+
- "Create a reference for our SDK"
|
|
10
|
+
- "Write the 'why we chose Postgres' explainer"
|
|
11
|
+
- Any documentation work, technical or product-facing.
|
|
12
|
+
|
|
13
|
+
## Inputs (ask if missing)
|
|
14
|
+
|
|
15
|
+
1. **Type** — tutorial / how-to / reference / explanation. If unsure, see decision rules below.
|
|
16
|
+
2. **Topic** — what's being documented.
|
|
17
|
+
3. **Audience** — beginner / intermediate / advanced; technical / non-technical.
|
|
18
|
+
4. **Length** — under 500 words / standard (~1500) / long-form (~3000+).
|
|
19
|
+
5. **Locale** — Korean / English / both.
|
|
20
|
+
6. **Existing system** — design system / docs site to match style with.
|
|
21
|
+
|
|
22
|
+
## Steps
|
|
23
|
+
|
|
24
|
+
### 1. Pick the right Diátaxis type
|
|
25
|
+
|
|
26
|
+
If the user says "documentation," they often mean specifically:
|
|
27
|
+
|
|
28
|
+
| User says | They probably want |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| "How do I [verb a goal]?" | **How-to guide** |
|
|
31
|
+
| "Walk me through [feature]" | **Tutorial** |
|
|
32
|
+
| "What does [API/component/method] do?" | **Reference** |
|
|
33
|
+
| "Why did we [decision]?" | **Explanation** |
|
|
34
|
+
|
|
35
|
+
If genuinely mixed: **split into multiple docs** rather than one mongrel.
|
|
36
|
+
|
|
37
|
+
Cite [`knowledge/patterns/information-architecture.md`](../../knowledge/patterns/information-architecture.md) for type definitions.
|
|
38
|
+
|
|
39
|
+
### 2. Apply the right template
|
|
40
|
+
|
|
41
|
+
Open the template for the chosen type from [`knowledge/patterns/information-architecture.md`](../../knowledge/patterns/information-architecture.md):
|
|
42
|
+
|
|
43
|
+
- Tutorial: time estimate + audience + prerequisites + numbered steps + "what's next"
|
|
44
|
+
- How-to: TL;DR + steps + variations + pitfalls
|
|
45
|
+
- Reference: signature + parameters + returns + throws + examples per item
|
|
46
|
+
- Explanation: problem + alternatives + decision + tradeoffs
|
|
47
|
+
|
|
48
|
+
### 3. Write per voice rules
|
|
49
|
+
|
|
50
|
+
Cite [`knowledge/patterns/technical-writing.md`](../../knowledge/patterns/technical-writing.md):
|
|
51
|
+
|
|
52
|
+
- Active voice, second person, imperative for instructions.
|
|
53
|
+
- Sentences ≤ 25 words; one idea each.
|
|
54
|
+
- Cut throat-clearing on every pass.
|
|
55
|
+
- Concrete over abstract.
|
|
56
|
+
- Verb-strong.
|
|
57
|
+
|
|
58
|
+
For **Korean docs**: cite [`knowledge/i18n/korean-document-style.md`](../../knowledge/i18n/korean-document-style.md):
|
|
59
|
+
- 합쇼체 (~합니다) for formal / B2B / technical.
|
|
60
|
+
- 해요체 (~해요) for friendly / consumer / tutorials.
|
|
61
|
+
- Korean prose + English code identifiers.
|
|
62
|
+
- No italic on Hangul.
|
|
63
|
+
|
|
64
|
+
### 4. Add code samples
|
|
65
|
+
|
|
66
|
+
Cite [`knowledge/patterns/technical-writing.md`](../../knowledge/patterns/technical-writing.md) on code samples:
|
|
67
|
+
- Must run.
|
|
68
|
+
- Strip noise.
|
|
69
|
+
- Show context, not full files.
|
|
70
|
+
- Comment surprising lines inline.
|
|
71
|
+
- Simplest example that demonstrates.
|
|
72
|
+
|
|
73
|
+
For Korean docs: prose Korean, code English. Example:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
이 함수는 사용자 정보를 조회합니다.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
const user = await getUserById("u_123");
|
|
80
|
+
console.log(user.email);
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
`getUserById`은 `User | null`을 반환합니다. 사용자가 존재하지 않으면 `null`입니다.
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 5. Add the right embellishments
|
|
87
|
+
|
|
88
|
+
| Type | Add | Skip |
|
|
89
|
+
| --- | --- | --- |
|
|
90
|
+
| Tutorial | Screenshots, "what you'll build" preview, encouraging callouts | Reference tables, dense API docs |
|
|
91
|
+
| How-to | TL;DR snippet, numbered steps, "common pitfalls" | Long preamble, motivation |
|
|
92
|
+
| Reference | Tables, code per signature, exhaustive | Narrative, "why we built this" |
|
|
93
|
+
| Explanation | Comparison tables, prose, citations | Step-by-step instructions |
|
|
94
|
+
|
|
95
|
+
Use `Callout` for important asides. See [`examples/component-callout.md`](../../examples/component-callout.md).
|
|
96
|
+
|
|
97
|
+
### 6. Layout for the medium
|
|
98
|
+
|
|
99
|
+
If the doc renders on a doc site (Docusaurus / Nextra / etc.): use MDX with the site's components.
|
|
100
|
+
|
|
101
|
+
If standalone markdown: plain markdown that renders on GitHub.
|
|
102
|
+
|
|
103
|
+
For long docs: include in-page TOC pattern that the [`component-doc-page.md`](../../examples/component-doc-page.md) describes (most doc sites auto-generate from h2/h3).
|
|
104
|
+
|
|
105
|
+
### 7. Write the metadata
|
|
106
|
+
|
|
107
|
+
Every doc page should have:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
---
|
|
111
|
+
title: <title>
|
|
112
|
+
description: <1-2 sentence lede>
|
|
113
|
+
type: tutorial | how-to | reference | explanation
|
|
114
|
+
audience: <who>
|
|
115
|
+
last_updated: 2026-05-08
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
# <Title>
|
|
119
|
+
|
|
120
|
+
<Lede paragraph — 1-2 sentences. What this doc is about.>
|
|
121
|
+
|
|
122
|
+
<Body...>
|
|
123
|
+
|
|
124
|
+
## Cross-reference
|
|
125
|
+
|
|
126
|
+
- [Related doc 1](path)
|
|
127
|
+
- [Related doc 2](path)
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 8. Cross-reference + cite
|
|
131
|
+
|
|
132
|
+
Every doc should:
|
|
133
|
+
- Link to **related docs** in the same site (cross-reference section at end).
|
|
134
|
+
- Cite **knowledge files** (in design-ai's case) or other authoritative sources.
|
|
135
|
+
- Link to upstream / official docs (e.g., MDN for web APIs).
|
|
136
|
+
|
|
137
|
+
## Verification phase (run before declaring done)
|
|
138
|
+
|
|
139
|
+
- [ ] Did I pick the right Diátaxis type, or split into multiple docs?
|
|
140
|
+
- [ ] Did I follow the type's template?
|
|
141
|
+
- [ ] Did I cite relevant knowledge files (`knowledge/patterns/document-typography.md`, etc.)?
|
|
142
|
+
- [ ] Are sentences ≤ 25 words and one-idea-each?
|
|
143
|
+
- [ ] Are code samples runnable + minimal?
|
|
144
|
+
- [ ] If Korean: is voice level (~합니다 vs ~해요) consistent throughout?
|
|
145
|
+
- [ ] Do I have a "Cross-reference" section linking related docs?
|
|
146
|
+
- [ ] Did I avoid throat-clearing intros / conclusions?
|
|
147
|
+
- [ ] Is the lede answer-led, not preamble?
|
|
148
|
+
|
|
149
|
+
## Source files this skill reads
|
|
150
|
+
|
|
151
|
+
- [`knowledge/patterns/document-typography.md`](../../knowledge/patterns/document-typography.md)
|
|
152
|
+
- [`knowledge/patterns/information-architecture.md`](../../knowledge/patterns/information-architecture.md)
|
|
153
|
+
- [`knowledge/patterns/technical-writing.md`](../../knowledge/patterns/technical-writing.md)
|
|
154
|
+
- [`knowledge/patterns/report-design.md`](../../knowledge/patterns/report-design.md) — for report-style docs
|
|
155
|
+
- [`knowledge/i18n/korean-document-style.md`](../../knowledge/i18n/korean-document-style.md) — Korean conventions
|
|
156
|
+
- [`examples/component-callout.md`](../../examples/component-callout.md) — for callouts
|
|
157
|
+
- [`examples/component-doc-page.md`](../../examples/component-doc-page.md) — for layout
|
|
158
|
+
|
|
159
|
+
## Done when
|
|
160
|
+
|
|
161
|
+
- One markdown file (or set of files for a multi-doc deliverable).
|
|
162
|
+
- Frontmatter complete.
|
|
163
|
+
- Lede paragraph leads with the answer / what this is.
|
|
164
|
+
- Body matches the chosen Diátaxis template.
|
|
165
|
+
- Code samples are runnable.
|
|
166
|
+
- Cross-reference section links related docs.
|
|
167
|
+
- Verification phase passes.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: document-author
|
|
3
|
+
description: Write and structure technical or product documentation. Picks the right Diátaxis type (tutorial / how-to / reference / explanation), applies its template, follows technical-writing voice rules, includes runnable code samples, and links related docs. Korean-aware.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
See [PLAYBOOK.md](PLAYBOOK.md).
|