From wix-cli
Wix Design System component reference. Use when building UI with @wix/design-system, choosing components, or checking props and examples. Triggers on "what component", "how do I make", "WDS", "show me props", component names like Button, Card, Modal, Box, Text, or when importing from @wix/design-system or @wix/wix-ui-icons-common. Also use when looking up spacing tokens (SP1-SP6) or icon names.
npx claudepluginhub wix-playground/skills-architecture-test --plugin wix-cliThis skill uses the workspace's default tool permissions.
**Docs path:** `node_modules/@wix/design-system/dist/docs/`
Provides CLI lookups for Wix Design System (@wix/design-system) components, props, examples, testkits, and icons. Use when selecting React UI components, checking APIs, or writing tests with drivers for unidriver, puppeteer, or playwright.
Generates design systems with tokens, atomic components, WCAG accessibility, theming, and docs. Provides React templates for consistent, scalable UI.
Builds UI components, pages, and styles with Montage (Wanted Design System) in React/Next.js using MCP server for specs, tokens, icons, and guidelines. Triggers on UI tasks in @wanteddev/wds projects.
Share bugs, ideas, or general feedback.
Docs path: node_modules/@wix/design-system/dist/docs/
Files are 200-900+ lines. Follow the staged discovery flow below.
Goal: Search for component by feature/keyword
Grep: "table" in components.md
Grep: "form\|input\|validation" in components.md
Grep: "modal\|dialog\|popup" in components.md
Output: Component name + description + do/don'ts
Next: Go to Stage 2 with component name
Goal: Get props AND discover available examples
# 2a. Get props (small files OK to read, large files grep)
Read: components/ButtonProps.md # OK if <100 lines
Grep: "### disabled" in components/BoxProps.md -A 3 # Box is huge
# 2b. List available examples (ALWAYS grep, never read)
Grep: "^### " in components/ButtonExamples.md -n
Output from 2b:
5:### Size
17:### Skin
71:### Affix
123:### Disabled
183:### Loading state
Next: Pick example(s) from list, go to Stage 3
Goal: Read only the example you need (~30-50 lines)
# Option A: Read with offset (line number from Stage 2)
Read: components/ButtonExamples.md offset=183 limit=40
# Option B: Grep with context
Grep: "### Loading state" in components/ButtonExamples.md -A 40
Output: JSX code example for that specific feature
Grep: "Add\|Edit\|Delete\|Search" in icons.md
┌─────────────────────────────────────────────────────────┐
│ Stage 1: Grep components.md for keyword │
│ → finds: Button, Card, Table... │
└────────────────────┬────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Stage 2a: Read/Grep {Component}Props.md │
│ → gets: props with types & descriptions │
│ │
│ Stage 2b: Grep "^### " in {Component}Examples.md │
│ → gets: example names + line numbers │
│ "5:### Size, 71:### Affix, 183:### Loading" │
└────────────────────┬────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Stage 3: Read offset=183 limit=40 │
│ → gets: specific example JSX code │
└────────────────────────────────────────────────────────┘
# Stage 1: Find components
Grep: "image\|card\|price" in components.md
→ Image, Card, Text found
# Stage 2a: Get Card props
Read: components/CardProps.md
# Stage 2b: List Card examples
Grep: "^### " in components/CardExamples.md -n
→ 5:### Basic, 25:### With media, 60:### Clickable
# Stage 3: Fetch "With media" example
Read: components/CardExamples.md offset=25 limit=35
→ Gets Card with Image example code
# Repeat Stage 2-3 for other components as needed
Result: ~80 lines read instead of 1500+
| Stage | Command | Output |
|---|---|---|
| 1. Find | Grep: "keyword" in components.md | Component name |
| 2a. Props | Read: {Name}Props.md | Props list |
| 2b. Examples | Grep: "^### " in {Name}Examples.md | Example names + lines |
| 3. Fetch | Read: offset=N limit=40 | Example code |
| 4. Icons | Grep: "IconName" in icons.md | Icon exists |
| File | Lines | Strategy |
|---|---|---|
| components.md | ~970 | Grep, never read fully |
| icons.md | ~400 | Grep for specific icon |
| Most Props.md | 30-100 | Read fully OK |
| BoxProps.md | 8000+ | Grep only! |
| Most Examples.md | 100-600 | Grep → offset read |
| PageExamples.md | 940 | Grep → offset read |
# Forms
Grep: "form\|input\|validation" in components.md
# Layout
Grep: "layout\|page\|card\|box" in components.md
# Data display
Grep: "table\|list\|badge" in components.md
# Feedback
Grep: "notification\|toast\|loader" in components.md
| Design Element | WDS Component | Notes |
|---|---|---|
| Rectangle/container | <Box> | Layout wrapper |
| Text button | <TextButton> | Secondary actions |
| Input with label | <FormField> + <Input> | Wrap inputs |
| Toggle | <ToggleSwitch> | On/off settings |
| Modal | <Modal> + <CustomModalLayout> | Use together |
| Grid | <Layout> + <Cell> | Responsive |
When designer specifies pixels, convert to the nearest SP token:
| Token | Classic | Studio |
|---|---|---|
SP1 | 6px | 4px |
SP2 | 12px | 8px |
SP3 | 18px | 12px |
SP4 | 24px | 16px |
SP5 | 30px | 20px |
SP6 | 36px | 24px |
<Box gap="SP2" padding="SP3">
Only use SP tokens for gap, padding, margin - not for width/height.
import { Button, Card, Image } from '@wix/design-system';
import { Add, Edit, Delete } from '@wix/wix-ui-icons-common';