Catalog
affaan-m/ui-to-vue

affaan-m

ui-to-vue

Use when the user has UI screenshots or design exports that need batch conversion into Vue 3 components, especially with Vant, Element Plus, or Ant Design Vue.

New~1.2kUpdated Jul 14, 2026

UI To Vue

Batch-convert UI design screenshots into Vue 3 Composition API component code.

When to Use

  • The user provides a directory of design screenshots or design-export images.
  • The target application is Vue 3.
  • The user wants a first pass of page components, shared components, and router wiring.
  • The user specifies Vant, Element Plus, or Ant Design Vue as the component library.

When Not to Use

  • The user has only one screenshot and wants a bespoke component.
  • The target project is not Vue.
  • The design requires detailed interaction logic, data flow, or accessibility review.
  • The screenshots contain private customer data that cannot be sent to an external model API.

Inputs

Use an input directory that groups screenshots by module and page state:

screenshots/
|-- HomePage/
|   |-- List/
|   |   |-- HomePage-List-Default@3x.png
|   |   `-- cut-images/
|   |-- cut-images/
|   `-- HomePage-Default@3x.png
`-- cut-images/

Supported cut-image directory names include assets, icons, sprites, cut, images, and cut-images.

Conversion Model

  • Page grouping: combine related screenshots into one page component when they represent list, detail, form, loading, or empty states.
  • UI library mapping: map native visual elements to Vant, Element Plus, or Ant Design Vue components where practical.
  • Cut-image priority: prefer page-level assets, then module-level assets, then global shared assets.
  • Component extraction: extract repeated UI regions into shared components when they appear more than once.

CLI Usage

Run the converter with npx so the documented command works without relying on a global binary:

export DASHSCOPE_API_KEY=your_key
npx ui-to-vue-converter@1.0.2 --input ./screenshots --ui vant --output ./src

For desktop UI libraries:

npx ui-to-vue-converter@1.0.2 --input ./designs --ui element-plus --output ./src
npx ui-to-vue-converter@1.0.2 --input ./designs --ui antd-vue --output ./src

If the package is installed globally, the ui-to-vue binary can be used directly:

npm install -g ui-to-vue-converter@1.0.2
ui-to-vue --input ./screenshots --ui vant --output ./src

Options

Option Description Default
--input Design image directory ./screenshots
--ui UI library: vant, element-plus, or antd-vue vant
--output Output directory ./src
--config Config file path ./.ui-to-vue.config.json

API Key Handling

The converter can read DashScope credentials from a config file or from the environment. Prefer an environment variable in repositories:

export DASHSCOPE_API_KEY=your_key

If a local config file is required, keep it out of version control:

{
  "apiKey": "your_dashscope_key",
  "input": "./designs",
  "ui": "vant",
  "output": "./src"
}
.ui-to-vue.config.json

Security and Privacy

  • Treat design screenshots as source material that may be sent to an external model API.
  • Do not run this flow on private customer designs without permission.
  • Pin the converter version in repeatable workflows instead of using @latest.
  • Review generated Vue code before committing it.
  • Do not commit .ui-to-vue.config.json, API keys, generated secrets, or customer screenshots.

Output Review Checklist

  • Page components were generated under views/ or the chosen output directory.
  • Repeated UI regions were extracted into components/ only when reuse is clear.
  • Router output is compatible with the target project's router style.
  • Generated components use the requested UI library consistently.
  • Generated CSS units match the design baseline.
  • The code passes the project's formatter, linter, type checker, and build.
  • Placeholder copy, mock data, and generated assets were reviewed before commit.

Troubleshooting

Issue Check
401 or authentication error Confirm DASHSCOPE_API_KEY is set in the shell running the command.
command not found: ui-to-vue Use the npx ui-to-vue-converter@1.0.2 form or install the package globally.
Cut images are ignored Confirm the asset directory name is supported and nested under the matching page or module.
Components ignore the requested UI library Re-run with an explicit --ui value and inspect the generated imports.
Generated layout dimensions look wrong Confirm the screenshot export width matches the target library baseline.

References

  • npm package: ui-to-vue-converter
Files1
1 files · 1.0 KB

Select a file to preview

Overall Score

78/100

Grade

B

Good

Safety

75

Quality

82

Clarity

86

Completeness

70

Summary

This skill guides agents to batch-convert UI design screenshots into Vue 3 Composition API components using an external CLI tool (ui-to-vue-converter). It maps native visual elements to Vant, Element Plus, or Ant Design Vue components, extracts reusable UI regions, and generates page structures with router wiring. The skill emphasizes API credential handling, security boundaries around private data, and output review before commit.

Detected Capabilities

external CLI execution (ui-to-vue-converter)environment variable read (DASHSCOPE_API_KEY)file write (Vue components to output directory)config file read (.ui-to-vue.config.json)directory traversal and grouping (screenshots/ structure)external API call (DashScope model API via CLI)

Trigger Keywords

Phrases that MCP clients use to match this skill to user intent.

screenshot to vuedesign to componentui export batchvant component conversionelement plus from designantd-vue generationpage component from screenshot

Risk Signals

INFO

External API credential handling via environment variable and config file

API Key Handling section
WARNING

Design screenshots sent to external model API (DashScope)

Security and Privacy section
WARNING

Config file with plaintext API key (though gitignored)

.ui-to-vue.config.json example
INFO

File write to output directory with generated code

CLI Usage and Options sections
WARNING

No documented guardrail preventing execution on sensitive customer data

When Not to Use section

Use Cases

  • Convert design screenshots to Vue 3 components in batch
  • Generate page and shared component structure from UI exports
  • Map design elements to Vant component library
  • Map design elements to Element Plus component library
  • Map design elements to Ant Design Vue component library
  • Extract repeated UI patterns into reusable Vue components
  • Generate initial router configuration from design modules

Quality Notes

  • Clear 'When to Use' and 'When Not to Use' sections establish scope boundaries
  • Security and Privacy section explicitly warns about data sensitivity and customer designs
  • Comprehensive CLI options table with defaults
  • Structured troubleshooting guide addresses common failure modes
  • Input directory structure clearly documented with example tree
  • Output review checklist helps users validate generated code before commit
  • API key handling explains both environment variable (preferred) and config file (with gitignore warning)
  • Conversion model section explains the mapping logic (page grouping, UI library mapping, asset priority)
  • Skill correctly delegates execution to external tool rather than implementing conversion logic directly
  • Missing: explicit documentation of data retention policy for DashScope API calls, no guidance on validating API key scope
Model: claude-haiku-4-5-20251001Analyzed: Jul 14, 2026

Reviews

Add this skill to your library to leave a review.

No reviews yet

Be the first to share your experience.

Version History

  1. v1.1

    Content updated

    ✦ AINo behavioral changes detected.

    2026-07-14

    Latest
  2. v1.0

    2026-05-15

    View This VersionInitial version

Use affaan-m/ui-to-vue in your dev environment

Command Palette

Search for a command to run...