Skip to content
Skillpedia
Interfaces (UI/UX)280k · #303

ui-to-vue

Helps your agent convert UI screenshots into Vue 3 components. Useful when you have designs and need to turn them into code.

What it does

This tool converts app screen images (or designs) into code for the Vue.js framework. It helps create the basic structure for pages and components.

When to use it

  • ✓You have multiple app screen images you want to turn into code.
  • ✓Your project uses Vue.js version 3.
  • ✓You want to use component libraries like Vant, Element Plus, or Ant Design Vue.

Example of what to ask your AI

“Convert these screenshots into Vue 3 components using the Vant library.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/affaan-m/ECC/blob/main/skills/ui-to-vue/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/affaan-m/ECC/blob/main/skills/ui-to-vue/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

You provide the images in a folder and specify which component library to use. The tool analyzes the images and generates the corresponding Vue code, attempting to group similar screens and create reusable components.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add affaan-m/ECC --skill ui-to-vue

Or download just the file:

curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/skills/ui-to-vue/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

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.

…

FAQ

Can I use it with any image?

It's best to use design export images or screenshots organized by app page or module.

What if the images have sensitive data?

Do not use images with private data, as they will be sent to an external service for processing.

Is the generated code ready to use?

The tool generates a foundation. You will need to review and adjust the code, especially interaction logic and accessibility.

Details

Original description by the author

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.

repo: affaan-m/ECC

Popularity

GitHub stars
280k
Ranking position
#303
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills