vapor-ui

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".

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "vapor-ui" with this command: npx skills add goorm-dev/vapor-ui/goorm-dev-vapor-ui-vapor-ui

Vapor UI Design Skill

Instructions

Step 1: Identify User Intent & Detect Version

Run these checks in parallel:

  1. 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
  2. Determine Vapor UI version (in order of priority):

    1. User-provided version: If user specifies a version, use it directly
    2. Auto-detect from codebase:
      node scripts/detect-version.mjs [start-path]
      
      Output: CORE: x.x.x and ICONS: x.x.x

    Use CORE version for component scripts, ICONS version 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 icons
  • node 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 icons
  • node 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:

  1. Run get-component-list.mjs to identify available components
  2. Run get-component-info.mjs for each needed component's props
  3. Run get-component-examples.mjs for usage patterns
  4. Generate code using Vapor UI components only
  5. Provide complete, copy-paste ready code

Step 5: Figma Design Conversion

For Figma conversion requests:

  1. Parse Figma URL to extract file_key and node_id:

    https://www.figma.com/design/{file_key}/...?node-id={node_id}
    
  2. 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)
    
  3. 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
  4. Convert layout properties:

    • layoutMode: VERTICAL → VStack
    • layoutMode: HORIZONTAL → HStack
    • itemSpacing → gap token
    • padding* → padding tokens
    • See references/token-mapping.md for full mapping
  5. Recognize design system components:

    • Nodes starting with 💙 are vapor-ui components
    • Extract componentProperties for variant → props mapping
    • Example: 💙Button with Size: md, ColorPalette: primary<Button size="md" colorPalette="primary">
    • Important: Layout props (gap, padding, margin, backgroundColor, etc.) must be inside $css prop
  6. 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:

  1. Run node scripts/get-component-info.mjs 1.0.0-beta.12 button
  2. Run node scripts/get-component-examples.mjs 1.0.0-beta.12 button
  3. 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:

  1. Run get-component-list.mjs to check available components
  2. Run get-component-info.mjs for text-input, button, card, form
  3. Run get-component-examples.mjs for form patterns
  4. Generate responsive layout using Vapor UI

Result: Production-ready login page code


Example 3: Component Discovery

User: "What form components are available?"

Action:

  1. Run node scripts/get-component-list.mjs 1.0.0-beta.12
  2. 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

ErrorCauseSolution
Component not foundName mismatch or version errorRun get-component-list.mjs, verify version
Script fetch errorInvalid version or network issueRe-run detect-version.mjs, check network
Figma node not recognizedNo 💙 prefixTreat as custom layout (Box/VStack/HStack/Grid)
Spacing mismatchNon-standard valuesRound to nearest token (see token-mapping.md)

References

Component Documentation

  • references/url-patterns.md: GitHub URL patterns for fetching component data
  • references/component-structure.md: Component file structure and JSON schema

Figma Conversion

  • references/figma-layout-mapping.md: Auto-layout to component mapping
  • references/design-system-recognition.md: 💙 prefix component recognition
  • references/token-mapping.md: Figma values to vapor-ui tokens
  • references/conversion-examples.md: Figma to code conversion examples

Scripts

ScriptPurpose
detect-version.mjsDetect @vapor-ui/core and @vapor-ui/icons versions from package.json
get-component-list.mjsList all available components
get-component-info.mjsGet component props and documentation
get-component-examples.mjsGet component example code
get-icon-list.mjsList and search icons (supports --outline, --filled, keyword search)

MCP Tools

ToolPurpose
mcp__figma-dev-mode-mcp-server__get_design_contextFetch Figma design node tree
mcp__figma-dev-mode-mcp-server__get_screenshotGet visual reference image
mcp__figma-dev-mode-mcp-server__get_metadataGet Figma file metadata

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

github-tools

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

Archived SourceRecently Updated
Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated
Coding

ai-dating

This skill enables dating and matchmaking workflows. Use it when a user asks to make friends, find a partner, run matchmaking, or provide dating preferences/profile updates. The skill should execute `dating-cli` commands to complete profile setup, task creation/update, match checking, contact reveal, and review.

Archived SourceRecently Updated