Système de design Vapor UI
Guide complet du système de design Vapor UI avec catalogue de composants, recherche d'icônes, générateur de maquettes et convertisseur Figma vers code production.
name: vapor-ui description: Vapor UI design system component and icon guide, UI mockup generator, and Figma design converter. Provides component catalog, icon lookup, usage patterns, props documentation, and converts Figma designs to production-ready vapor-ui code. Use when user asks "vapor-ui components", "vapor-ui icons", "아이콘 찾기", "vapor-ui 사용법", "vapor-ui를 사용해서 시안 구현", "convert figma", "figma to code", "implement design from figma", provides a Figma URL, or mentions specific components like "Button", "Input", "Modal".
Vapor UI Design Skill
Instructions
Step 1: Identify User Intent & Detect Version
Run these checks in parallel:
-
Determine user intent:
- Component lookup: User wants to know available components or specific component details
- Usage guidance: User needs props, variants, or example code
- Mockup generation: User wants to create a UI prototype
- Figma conversion: User wants to convert Figma design to code
-
Determine Vapor UI version (in order of priority):
- User-provided version: If user specifies a version, use it directly
- Auto-detect from codebase:
Output:node scripts/detect-version.mjs [start-path]CORE: x.x.xandICONS: x.x.x
Use
COREversion for component scripts,ICONSversion for icon scripts.
Step 2: Component Information
Get component list:
node scripts/get-component-list.mjs <VERSION>
Example: node scripts/get-component-list.mjs 1.0.0-beta.12
Get component details (props, description):
node scripts/get-component-info.mjs <VERSION> <COMPONENT> [PART]
Example: node scripts/get-component-info.mjs 1.0.0-beta.12 avatar
For detailed component structure, refer to references/component-structure.md.
Step 3: Component Examples
Get example code:
node scripts/get-component-examples.mjs <VERSION> <COMPONENT> [EXAMPLE_NAME]
Example: node scripts/get-component-examples.mjs 1.0.0-beta.12 avatar default-avatar
Step 3.5: Icon Lookup
Get icon list:
node scripts/get-icon-list.mjs <ICONS_VERSION> [search-keyword]
Examples:
node scripts/get-icon-list.mjs 1.0.0-beta.12- List all iconsnode scripts/get-icon-list.mjs 1.0.0-beta.12 arrow- Search icons containing "arrow"node scripts/get-icon-list.mjs 1.0.0-beta.12 --outline- List only outline iconsnode scripts/get-icon-list.mjs 1.0.0-beta.12 --filled- List only filled icons
Note: Use ICONS version from detect-version.mjs output for icon queries.
Step 4: Mockup Generation
For mockup requests:
- Run
get-component-list.mjsto identify available components - Run
get-component-info.mjsfor each needed component's props - Run
get-component-examples.mjsfor usage patterns - Generate code using Vapor UI components only
- Provide complete, copy-paste ready code
Step 5: Figma Design Conversion
For Figma conversion requests:
-
Parse Figma URL to extract
file_keyandnode_id:https://www.figma.com/design/{file_key}/...?node-id={node_id} -
Get design context using MCP:
mcp__figma-dev-mode-mcp-server__get_design_context - file_key: extracted from URL - node_id: extracted from URL (format: "X-Y" or "X:Y") - depth: 5 (or higher for complex designs) -
Analyze node tree:
- 💙 prefix nodes: Design system components (see
references/design-system-recognition.md) - Auto-layout frames: Convert to VStack/HStack/Box/Grid (see
references/figma-layout-mapping.md) - TEXT nodes: Extract text content
- 💙 prefix nodes: Design system components (see
-
Convert layout properties:
layoutMode: VERTICAL→ VStacklayoutMode: HORIZONTAL→ HStackitemSpacing→ gap tokenpadding*→ padding tokens- See
references/token-mapping.mdfor full mapping
-
Recognize design system components:
- Nodes starting with 💙 are vapor-ui components
- Extract
componentPropertiesfor variant → props mapping - Example:
💙ButtonwithSize: md, ColorPalette: primary→<Button size="md" colorPalette="primary"> - Important: Layout props (
gap,padding,margin,backgroundColor, etc.) must be inside$cssprop
-
Generate code:
- Build JSX from node tree (bottom-up)
- Apply style utility props using design tokens
- Output production-ready code
Examples
Example 1: Component Usage Query
User: "How do I use the Button component?"
Action:
- Run
node scripts/get-component-info.mjs 1.0.0-beta.12 button - Run
node scripts/get-component-examples.mjs 1.0.0-beta.12 button - Provide props, variants, and example code
Result: Complete Button usage guide with code examples
Example 2: Mockup Generation
User: "Create a login page mockup"
Action:
- Run
get-component-list.mjsto check available components - Run
get-component-info.mjsfor text-input, button, card, form - Run
get-component-examples.mjsfor form patterns - Generate responsive layout using Vapor UI
Result: Production-ready login page code
Example 3: Component Discovery
User: "What form components are available?"
Action:
- Run
node scripts/get-component-list.mjs 1.0.0-beta.12 - Filter output for form-related components (text-input, textarea, checkbox, radio, select, etc.)
Result: Categorized list of form-related components
For Figma conversion examples, see references/conversion-examples.md.
Troubleshooting
| Error | Cause | Solution |
| ------------------------- | -------------------------------- | ----------------------------------------------- |
| Component not found | Name mismatch or version error | Run get-component-list.mjs, verify version |
| Script fetch error | Invalid version or network issue | Re-run detect-version.mjs, check network |
| Figma node not recognized | No 💙 prefix | Treat as custom layout (Box/VStack/HStack/Grid) |
| Spacing mismatch | Non-standard values | Round to nearest token (see token-mapping.md) |
References
Component Documentation
references/url-patterns.md: GitHub URL patterns for fetching component datareferences/component-structure.md: Component file structure and JSON schema
Figma Conversion
references/figma-layout-mapping.md: Auto-layout to component mappingreferences/design-system-recognition.md: 💙 prefix component recognitionreferences/token-mapping.md: Figma values to vapor-ui tokensreferences/conversion-examples.md: Figma to code conversion examples
Scripts
| Script | Purpose |
| ---------------------------- | -------------------------------------------------------------------- |
| detect-version.mjs | Detect @vapor-ui/core and @vapor-ui/icons versions from package.json |
| get-component-list.mjs | List all available components |
| get-component-info.mjs | Get component props and documentation |
| get-component-examples.mjs | Get component example code |
| get-icon-list.mjs | List and search icons (supports --outline, --filled, keyword search) |
MCP Tools
| Tool | Purpose |
| ---------------------------------------------------- | ---------------------------- |
| mcp__figma-dev-mode-mcp-server__get_design_context | Fetch Figma design node tree |
| mcp__figma-dev-mode-mcp-server__get_screenshot | Get visual reference image |
| mcp__figma-dev-mode-mcp-server__get_metadata | Get Figma file metadata |
Skills similaires
Audit UI/UX Design
Auditez l'interface et l'experience utilisateur de vos produits digitaux.
Generateur de Design System
Creez et documentez les composants de votre design system.
Specification Design-to-Dev
Traduisez vos maquettes en specifications techniques pour les developpeurs.