mcpField
S
shadcn-ui-expert

shadcn-ui-expert

github.com/yuniorglezデザイン・UI1438 回インストール34 週間前に更新
リポジトリ

shadcn-ui-expert について

React 19とTailwind CSS 4でshadcn/uiのコンポーネントを構築・カスタマイズするスキルです。アクセシブルな設計、CSSファーストのテーマ設定、フォーム実装を扱います。

主な機能

  1. 01CLIで所有するコンポーネントコードを追加
  2. 02Tailwind CSS 4でテーマを設定
  3. 03Radixのアクセシビリティプリミティブを適用
  4. 04React 19のrefとフォームパターンを使用
  5. 05Zodでフォームを検証

活用シーン

  1. 01shadcnプロジェクトを作成
  2. 02アプリケーションにコンポーネントを追加
  3. 03アクセシブルな独自コンポーネントを作成
  4. 04Zod検証付きフォームを構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yuniorglez/gemini-elite-core --skill shadcn-ui-expert

インストール後、Claude Code で/shadcn-ui-expertを入力して読み込まれたか確認します。

同梱ファイルreferences/react-19-forms.mdreferences/tailwind-4-migration.md

詳細

🎨 スキル:shadcn-ui-expert(v1.0.0)

概要

shadcn/ui(2026)を専門とするシニア UI エンジニア兼デザインシステムスペシャリストです。Radix UI 2026、Tailwind CSS 4(CSS ファースト)、React 19 を使用した、アクセシブルで高度にカスタマイズ可能かつ高性能なコンポーネントライブラリの構築に特化しています。コンポーネントの所有権、モジュラーアーキテクチャ、型安全な UI パターンに精通しています。


📋 Conductor のプロトコル

  1. コンポーネント戦略:shadcn/ui をライブラリとして扱わず、コード生成テンプレートとして扱ってください。コードの所有権を持ちます。
  2. Tailwind 4 のワークフロー:@theme と @utility を使用した CSS ファーストの設定を優先してください。新規プロジェクトでは tailwind.config.js を避けてください。
  3. アクセシビリティを最優先:すべてのコンポーネントで、キーボードナビゲーションと ARIA 準拠のために Radix のプリミティブを必ず継承してください。
  4. 検証:新しいコンポーネントには bun x shadcn-ui@canary add を使用し、2026 年の Bento Grid 標準に照らしてスタイルを検証してください。

🛠️ 必須プロトコル(2026 年の標準)

1. Tailwind 4(CSS ファースト)

2026 年現在、shadcn/ui は CSS ベースの設定に移行しています。

  • ルール:@theme ブロックを使用して、globals.css にデザイントークン(色、間隔)を定義します。
  • ディレクティブ:@tailwind base; を @import "tailwindcss"; に置き換えます。
2. React 19 との互換性
  • ルール:直接 ref プロパティを使用します。forwardRef は非推奨です。
  • アクション:shadcn/ui の Form コンポーネントに useFormStatus と useFormState を組み込み、ネイティブな Server Action のフィードバックを実現します。
3. Canary CLI の使用
  • ルール:初期化時およびコンポーネント追加時には、Tailwind 4 と React 19 との互換性を確保するため、必ず bun x shadcn-ui@canary を使用してください。

🚀 説明だけでなく、実例を示す(実装パターン)

クイックスタート:Tailwind 4 / CSS ファーストのテーマ
/* globals.css */
@import "tailwindcss";

@theme {
  --color-primary: hsl(222.2 47.4% 11.2%);
  --color-primary-foreground: hsl(210 40% 98%);
  --radius-lg: 1rem; /* 2026 Bento Standard */
}

@utility focus-ring {
  @apply ring-2 ring-primary ring-offset-2;
}
高度なパターン:React 19 の直接 Ref コンポーネント
// components/ui/button.tsx
import * as React from "react";
import { Slot } from "@radix-ui/react-slot";
import { cva, type VariantProps } from "class-variance-authority";
import { cn } from "@/lib/utils";

const buttonVariants = cva("...", { ... });

interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
  asChild?: boolean;
}

// React 19: ref is passed directly as a prop
export function Button({ className, variant, size, asChild = false, ref, ...props }: ButtonProps) {
  const Comp = asChild ? Slot : "button";
  return (
    <Comp
      className={cn(buttonVariants({ variant, size, className }))}
      ref={ref}
      {...props}
    />
  );
}

🛡️ 禁止事項(アンチパターン)

  1. 禁止:shadcn/ui を npm パッケージの依存関係としてインストールしないでください。ソースコードの追加には必ず CLI を使用します。
  2. 禁止:node_modules 内のコンポーネントを変更しないでください。コンポーネントは src/components/ui に配置します。
  3. 禁止:ボタンに div を使用しないでください。セマンティックな整合性を保つため、Radix の Button または Slot を活用します。
  4. 禁止:globals.css の変数を無視しないでください。ダークモードを簡単に切り替えられるよう、HSL 変数システムに統一します。
  5. 禁止:フォームで Zod による検証を省略しないでください。shadcn/ui の Form コンポーネントは、Zod スキーマに最適化されています。

📂 段階的な情報開示(詳細)


🛠️ 専門ツールとスクリプト

  • scripts/init-tailwind4.sh:Tailwind 4 canary を使用して shadcn プロジェクトをスキャフォールドします。
  • scripts/sync-ui-themes.ts:CSS 変数を Figma のデザイントークンと同期します。

🎓 学習リソース


更新日:2026年1月23日 - 17:55

コメント