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

Installs 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.
240 chars✓ has a “when” trigger
Intermediate

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

You give it
UI component requirements
You get back
Accessible Vue component code

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 to lucide), returns i-{prefix}-{name} names
  • get-component — full component documentation with usage examples
  • get-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)

  1. Always wrap the app in UApp — required for toasts, tooltips, and programmatic overlays. Accepts a locale prop for i18n.
  2. Always use semantic colorstext-default, bg-elevated, border-muted, etc. Never use raw Tailwind palette colors like text-gray-500.
  3. 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.
  4. Override priority (highest wins): ui prop / class prop → global config → theme defaults.
  5. Icons use i-{collection}-{name} formatlucide is the default collection. Use the MCP search-icons tool 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 ui prop
  • 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

TaskLoad these references
Build a landing pagedesign-system, conventions, landing
Build a dashboard / admin UIconventions, component-selection, dashboard
Add a settings pageconventions, forms
Create a login / signup formconventions, forms, auth
Display data in a tableconventions, component-selection, data-tables
Customize theme / brand colorsdesign-system
Add a chat interfaceconventions, chat
Add a modal, slideover, or drawerconventions, component-selection, overlays
Build site navigationconventions, component-selection, navigation
Build a documentation siteconventions, docs
Render markdowncomponent-selection, components, docs
Add a rich text editorconventions, editor
General UI workconventions, 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"> in index.html. For Inertia: use ui({ router: 'inertia' }) in vite.config.ts.

When not to use it

  • Using raw Tailwind palette colors
  • Building without UApp wrapper

Prerequisites

Nuxt UI MCP server configuration

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.

SkillInstallsUpdatedSafetyDifficulty
ui (this skill)41moReviewIntermediate
visual-design-foundations55moNo flagsBeginner
frontend-design06moReviewIntermediate
ui-ux-pro-max02moReviewBeginner

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.

547

frontend-design

darthlinuxer

Design thinking and decision-making for web UI. Use when designing components,

00

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

00

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

00

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.

204389

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.

613

Search skills

Search the agent skills registry