
Ui To Vue
Turn a folder of UI screenshots or design exports into a first-pass Vue 3 app with pages, shared components, and router wiring using Vant, Element Plus, or Ant Design Vue.
Overview
ui-to-vue is an agent skill for the Build phase that batch-converts UI screenshot directories into Vue 3 Composition API components with Vant, Element Plus, or Ant Design Vue mapping.
Install
npx skills add https://github.com/affaan-m/everything-claude-code --skill ui-to-vueWhat is this skill?
- Batch-converts grouped screenshot trees (module/page/state folders) into Vue 3 components
- Maps visuals to Vant, Element Plus, or Ant Design Vue primitives you choose up front
- Merges related states (list, detail, form, loading, empty) into single page components
- Honors cut-image folders (`cut-images`, `assets`, `icons`, and similar) for sliced assets
- Produces an initial router and shared component split—not full interaction or data-layer logic
- Supported cut-image directory names include assets, icons, sprites, cut, images, and cut-images
Adoption & trust: 1.2k installs on skills.sh; 210k GitHub stars; 1/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have dozens of design screens on disk but no structured Vue codebase to match them, and manual UI recreation is too slow for a solo ship timeline.
Who is it for?
Vue 3 projects with a full screenshot export tree and a named UI library when you want a scaffold before wiring APIs and interactions.
Skip if: Single-screenshot bespoke builds, React or Svelte targets, deep interaction or a11y audits, or customer-private screenshots you cannot send to an external model.
When should I use this skill?
The user provides a directory of design screenshots or design-export images, the target is Vue 3, and they want a first pass with Vant, Element Plus, or Ant Design Vue.
What do I get? / Deliverables
After the run you get grouped page components, shared UI pieces, and starter router wiring aligned to your chosen Vue component library for further refinement in your repo.
- Vue 3 page and shared components
- Initial router wiring
- Library-mapped layout from grouped screenshots
Recommended Skills
Journey fit
How it compares
Use for bulk screenshot-to-Vue scaffolding instead of one-off “paste this image” component generation in chat.
Common Questions / FAQ
Who is ui-to-vue for?
Solo and indie builders shipping Vue 3 apps who received design exports or screenshot packs and need an agent-driven first implementation pass with a standard component library.
When should I use ui-to-vue?
During Build when you have a directory of screenshots grouped by module and page state, the stack is Vue 3, and you have chosen Vant, Element Plus, or Ant Design Vue for the mapping pass.
Is ui-to-vue safe to install?
Review the Security Audits panel on this Prism page before installing; avoid sending screenshots that contain private customer data if your agent routes images to external model APIs.
SKILL.md
READMESKILL.md - Ui To Vue
# 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: ```text 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: ```bash export DASHSCOPE_API_KEY=your_key npx ui-to-vue-converter@1.0.2 --input ./screenshots --ui vant --output ./src ``` For desktop UI libraries: ```bash 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: ```bash 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: ```bash export DASHSCOPE_API_KEY=your_key ``` If a local config file is required, keep it out of version control: ```json { "apiKey": "your_dashscope_key", "input": "./designs", "ui": "vant", "output": "./src" } ``` ```gitignore .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,