nuxt-ui
@nuxt/ui v4を使ったUI構築を支援するスキルです。Tailwind CSSテーマに対応した125以上のアクセシブルなVueコンポーネントを活用し、インターフェースの作成、ブランドに合わせたテーマカスタマイズ、フォーム構築、ダッシュボード・ドキュメントサイト・チャット画面などのレイアウト設計に役立ちます。
description の原文を見る
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.
SKILL.md 本文
Nuxt UI
Reka UI + Tailwind CSS + Tailwind Variants で構築された Vue コンポーネントライブラリ。Nuxt、Vue (Vite)、Laravel (Vite + Inertia)、AdonisJS (Vite + Inertia) に対応します。
MCP サーバー
コンポーネント API の詳細(props、slots、events、完全なドキュメント、例)については、Nuxt UI MCP サーバーを使用してください。まだ設定されていない場合は、以下を追加します。
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
主な MCP ツール:
search_components— 名前、説明、またはカテゴリでコンポーネントを検索(パラメータなし = すべてをリスト表示)search_composables— 名前または説明で composables を検索(パラメータなし = すべてをリスト表示)search_icons— Iconify アイコンを検索(デフォルトはlucide)、i-{prefix}-{name}形式の名前を返すget_component— 使用例付きの完全なコンポーネントドキュメントget_component_metadata— props、slots、events(軽量、ドキュメント内容なし)get_example— 実践的なコード例
コンポーネントが受け付けるものや API がどのように動作するかを知る必要があるときは MCP を使用してください。このスキルはどのコンポーネントを使うべきかと堅牢に構築する方法を教えます。
コアルール(常に適用)
- 常に
UAppでアプリをラップ — トースト、ツールチップ、プログラマティックなオーバーレイに必須。i18n 用のlocaleprop を受け付けます。 - 常にセマンティックカラーを使用 —
text-default、bg-elevated、border-mutedなど。text-gray-500のような生の Tailwind パレットカラーは使用しないでください。 - 生成されたテーマファイルでスロット名を確認 — Nuxt:
.nuxt/ui/<component>.ts、Vue:node_modules/.nuxt-ui/ui/<component>.ts。これらはすべてのスロット、バリアント、およびコンポーネントのデフォルトクラスを表示します。 - オーバーライド優先度(高い順):
uiprop /classprop → グローバル設定 → テーマのデフォルト。 - アイコンは
i-{collection}-{name}形式を使用 —lucideがデフォルトコレクション。MCPsearch_iconsツールでアイコンを検索するか、icones.js.org で閲覧できます。
このスキルの使い方
タスクに基づいて、コードを書く前に関連するリファレンスファイルを読み込みます。すべてを読み込まず、必要なもののみ読み込みます。
リファレンスファイル
ガイドライン — デザイン決定と規約:
design-system— セマンティックカラー、テーマ、ブランドカスタマイズ、バリアント、uipropcomponent-selection— 決定マトリックス:Modal vs Slideover、Select vs SelectMenu、Toast vs Alert など、どのコンポーネントを使うべきかconventions— コーディングパターン、スロット命名、items 配列、composables、キーボードショートカットforms— フォームバリデーション、フィールドレイアウト、エラーハンドリング、Standard Schema
レイアウト — フルページ構造パターン:
landing— ランディングページ、ブログ、チェンジログ、価格設定dashboard— サイドバーとパネル付き管理 UIdocs— ナビゲーションと目次付きドキュメントサイトchat— Vercel AI SDK を使用した AI チャットeditor— ツールバー付きリッチテキストエディタ
レシピ — 一般的なタスク用の完全なパターン:
data-tables— フィルタ、ページネーション、ソート、選択機能付きテーブルauth— ログイン、サインアップ、パスワード忘れフォームoverlays— モーダル、スライドオーバー、ドロワー、コマンドパレットnavigation— ヘッダー、サイドバー、ブレッドクラム、タブ
クイックリファレンス:
components— 適切なコンポーネント名を見つけるためのカテゴリ分類されたコンポーネントインデックス
ルーティングテーブル
| タスク | これらのリファレンスを読み込み |
|---|---|
| ランディングページを構築 | design-system、conventions、landing |
| ダッシュボード / 管理 UI を構築 | conventions、component-selection、dashboard |
| 設定ページを追加 | conventions、forms |
| ログイン / サインアップフォームを作成 | conventions、forms、auth |
| テーブルにデータを表示 | conventions、component-selection、data-tables |
| テーマ / ブランドカラーをカスタマイズ | design-system |
| チャットインターフェースを追加 | conventions、chat |
| モーダル、スライドオーバー、またはドロワーを追加 | conventions、component-selection、overlays |
| サイトナビゲーションを構築 | conventions、component-selection、navigation |
| ドキュメントサイトを構築 | conventions、docs |
| Markdown をレンダリング | component-selection、components、docs |
| リッチテキストエディタを追加 | conventions、editor |
| 一般的な UI 作業 | conventions、component-selection |
インストール
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>
index.htmlのルート<div id="app">にclass="isolate"を追加します。 Inertia の場合:vite.config.tsでui({ router: 'inertia' })を使用します。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
Source: https://github.com/nuxt/ui / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。