An interface design tool using Nuxt UI components to build accessible, branded web interfaces.
Install
mkdir -p .claude/skills/ui && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1775" && unzip -o skill.zip -d .claude/skills/ui && rm skill.zipInstalls to .claude/skills/ui
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Build UIs with @nuxt/ui v4 — 125+ accessible Vue components with Tailwind CSS theming. Use when creating interfaces, customizing themes to match a brand, building forms, or composing layouts like dashboards, docs sites, and chat interfaces.Key capabilities
- →Compose accessible UI layouts
- →Apply semantic Tailwind CSS colors
- →Search and implement components via MCP
- →Configure theme overrides
- →Integrate with Nuxt, Vue, or Vite
How it works
It provides a library of accessible components built on Reka UI and Tailwind, with an MCP server for retrieving component metadata and examples.
Inputs & outputs
When to use ui
- →Building a dashboard interface
- →Creating accessible forms
- →Styling components with Tailwind
- →Composing a documentation site layout
About this skill
Nuxt UI
Vue component library built on Reka UI + Tailwind CSS + Tailwind Variants. Works with Nuxt, Vue (Vite), Laravel (Vite + Inertia), and AdonisJS (Vite + Inertia).
MCP Server
For component API details (props, slots, events, full documentation, examples), use the Nuxt UI MCP server. If not already configured, add it:
Cursor — .cursor/mcp.json:
{ "mcpServers": { "nuxt-ui": { "type": "http", "url": "https://ui.nuxt.com/mcp" } } }
Claude Code:
claude mcp add --transport http nuxt-ui https://ui.nuxt.com/mcp
Key MCP tools:
search-components— find components by name, category, or intent (no params = list all)search-composables— find composables by name or description (no params = list all)search-icons— search Iconify icons (defaults tolucide), returnsi-{prefix}-{name}namesget-component— full component documentation with usage examplesget-component-metadata— props, slots, events (lightweight, no docs content)get-example— real-world code examples
When you need to know what a component accepts or how its API works, use the MCP. This skill teaches you when to use which component and how to build well.
Core rules (always apply)
- Always wrap the app in
UApp— required for toasts, tooltips, and programmatic overlays. Accepts alocaleprop for i18n. - Always use semantic colors —
text-default,bg-elevated,border-muted, etc. Never use raw Tailwind palette colors liketext-gray-500. - Read generated theme files for slot names — Nuxt:
.nuxt/ui/<component>.ts, Vue:node_modules/.nuxt-ui/ui/<component>.ts. These show every slot, variant, and default class for any component. - Override priority (highest wins):
uiprop /classprop → global config → theme defaults. - Icons use
i-{collection}-{name}format —lucideis the default collection. Use the MCPsearch-iconstool to find icons, or browse at icones.js.org.
How to use this skill
Based on the task, load the relevant reference files before writing any code. Don't load everything — only what's needed.
Reference files
Guidelines — design decisions and conventions:
- design-system — semantic colors, theming, brand customization, variants, the
uiprop - component-selection — decision matrices: when to use Modal vs Slideover, Select vs SelectMenu, Toast vs Alert, etc.
- conventions — coding patterns, slot naming, items arrays, composables, keyboard shortcuts
- forms — form validation, field layout, error handling, Standard Schema
Layouts — full page structure patterns:
- landing — landing pages, blog, changelog, pricing
- dashboard — admin UI with sidebar and panels
- docs — documentation sites with navigation and TOC
- chat — AI chat with Vercel AI SDK
- editor — rich text editor with toolbars
Recipes — complete patterns for common tasks:
- data-tables — tables with filters, pagination, sorting, selection
- auth — login, signup, forgot password forms
- overlays — modals, slideovers, drawers, command palette
- navigation — headers, sidebars, breadcrumbs, tabs
Quick reference:
- components — categorized component index for finding the right component name
Routing table
| Task | Load these references |
|---|---|
| Build a landing page | design-system, conventions, landing |
| Build a dashboard / admin UI | conventions, component-selection, dashboard |
| Add a settings page | conventions, forms |
| Create a login / signup form | conventions, forms, auth |
| Display data in a table | conventions, component-selection, data-tables |
| Customize theme / brand colors | design-system |
| Add a chat interface | conventions, chat |
| Add a modal, slideover, or drawer | conventions, component-selection, overlays |
| Build site navigation | conventions, component-selection, navigation |
| Build a documentation site | conventions, docs |
| Render markdown | component-selection, components, docs |
| Add a rich text editor | conventions, editor |
| General UI work | conventions, component-selection |
Installation
Nuxt
pnpm add @nuxt/ui tailwindcss
// nuxt.config.ts
export default defineNuxtConfig({
modules: ['@nuxt/ui'],
css: ['~/assets/css/main.css']
})
/* app/assets/css/main.css */
@import "tailwindcss";
@import "@nuxt/ui";
<!-- app.vue -->
<template>
<UApp>
<NuxtPage />
</UApp>
</template>
Vue (Vite)
pnpm add @nuxt/ui tailwindcss
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'
export default defineConfig({
plugins: [
vue(),
ui()
]
})
// src/main.ts
import './assets/css/main.css'
import { createApp } from 'vue'
import { createRouter, createWebHistory } from 'vue-router'
import ui from '@nuxt/ui/vue-plugin'
import App from './App.vue'
const app = createApp(App)
const router = createRouter({
routes: [],
history: createWebHistory()
})
app.use(router)
app.use(ui)
app.mount('#app')
/* src/assets/css/main.css */
@import "tailwindcss";
@import "@nuxt/ui";
<!-- src/App.vue -->
<template>
<UApp>
<RouterView />
</UApp>
</template>
Add
class="isolate"to your root<div id="app">inindex.html. For Inertia: useui({ router: 'inertia' })invite.config.ts.
When not to use it
- →Using raw Tailwind palette colors
- →Building without UApp wrapper
Prerequisites
Limitations
- →Requires UApp wrapper for overlays and toasts
- →Must load specific reference files for different UI tasks
How it compares
It enforces semantic color usage and specific layout patterns rather than allowing arbitrary Tailwind class combinations.
Compared to similar skills
ui side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| ui (this skill) | 4 | 1mo | Review | Intermediate |
| visual-design-foundations | 5 | 5mo | No flags | Beginner |
| frontend-design | 0 | 6mo | Review | Intermediate |
| ui-ux-pro-max | 0 | 2mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
visual-design-foundations
wshobson
Apply typography, color theory, spacing systems, and iconography principles to create cohesive visual designs. Use when establishing design tokens, building style guides, or improving visual hierarchy and consistency.
frontend-design
darthlinuxer
Design thinking and decision-making for web UI. Use when designing components,
ui-ux-pro-max
darkmatter
UI/UX design intelligence for web and mobile. Includes 50+ styles, 161 color palettes, 57 font pairings, 161 product types, 99 UX guidelines, and 25 chart types across 10 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, and HTML/CSS). Actions: plan, build, cr
ui-ux-pro-max
majiayu000
Frontend UI/UX design intelligence - activate FIRST when user requests beautiful, stunning, gorgeous, or aesthetic interfaces. The primary skill for design decisions before implementation. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Nati
screenshot-to-code
OneWave-AI
Convert UI screenshots into working HTML/CSS/React/Vue code. Detects design patterns, components, and generates responsive layouts. Use this when users provide screenshots of websites, apps, or UI designs and want code implementation.
shadcn-vue-admin
Whbbit1999
Build and maintain the shadcn-vue-admin Vue 3 + Vite + TypeScript admin dashboard with shadcn-vue, Tailwind, Pinia, Vue Router, i18n, and TanStack Query. Use for UI/layout changes, page additions, routing updates, theme/auth work, and component integration in this repo.