mcpField
T
tailwind-v4-best-practices

tailwind-v4-best-practices

github.com/jenishshresthaデザイン・UI082 回インストール28 週間前に更新
リポジトリ

tailwind-v4-best-practices について

保守しやすくテーマを切り替えられる UI を作る開発者向けの、Tailwind CSS v4 のスキルです。デザイントークン、ユーティリティクラスの運用、設定、移行を扱います。

主な機能

  1. 01セマンティックなデザイントークン
  2. 02ユーティリティクラスの規約
  3. 03CSS による @theme 設定
  4. 04OKLCH カラーの指針
  5. 05v3 から v4 へのクラス名変更
  6. 06Vite の設定案内

活用シーン

  1. 01テーマ切り替え可能なデザインシステムの構築
  2. 02コンポーネント用ユーティリティの選定
  3. 03Vite での Tailwind CSS v4 設定
  4. 04v3 のクラス名の移行

インストール

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

$npx skills add https://github.com/jenishshrestha/ai-skills --skill tailwind-v4-best-practices

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
evals.json
references/
advanced-patterns.md
design-tokens.md
migration.md
theming.md

詳細

Tailwind CSS v4 のベストプラクティス

デザインシステムの考え方、保守性、パフォーマンスを重視した、本番環境向けの Tailwind CSS v4 です。

基本原則

1. 直接色ではなく、デザイントークンを使う

Tailwind のデフォルトのカラーパレットではなく、セマンティックトークンを使用します。これにより、コンポーネントに手を加えずにテーマを切り替えられます。


<button class="bg-blue-500 text-white hover:bg-blue-600">
<span class="text-red-600">Error</span>


<button class="bg-primary text-primary-foreground hover:bg-primary-hover">
<span class="text-error">Error</span>
2. 任意の値より、セマンティックなユーティリティを使う

組み込みのスケールを使用します。任意の値は、本当に一度しか使わない場合に限って使用します。


<h1 class="text-[20px]">
<div class="p-[16px] gap-[24px]">


<h1 class="text-2xl">
<div class="p-4 gap-6">
3. 完全なクラス名のみを使う

Tailwind のコンパイラーは、ビルド時に完全なクラス名を必要とします。クラス名を動的に組み立てないでください。

// ❌ Tailwind can't detect these
<div className={`bg-${color}-500`}>

// ✅ Complete class names or CSS variables
<div className={color === 'blue' ? 'bg-blue-500' : 'bg-red-500'}>
<div className="bg-[var(--dynamic-color)]">
4. @apply を避ける

Tailwind v4 では @apply の使用が推奨されません。テンプレートでユーティリティクラスを直接使用するか、カスタムコンポーネントクラスが必要な場合は CSS で theme() を使用してください。

/* ❌ v3 pattern */
.button { @apply px-4 py-2 bg-blue-500 text-white rounded; }

/* ✅ v4 — use theme() if you need CSS */
.button {
  padding-inline: theme(spacing.4);
  background-color: theme(colors.primary);
}

@theme の設定

Tailwind v4 では、設定を JavaScript から CSS に移行しています。@theme を使ってデザイントークンを定義します。

@import "tailwindcss";

@theme {
  /* Semantic colors using OKLCH */
  --color-primary: oklch(0.55 0.25 250);
  --color-primary-hover: oklch(0.50 0.25 250);
  --color-primary-foreground: oklch(0.98 0 0);

  --color-error: oklch(0.60 0.22 25);
  --color-success: oklch(0.65 0.18 145);

  /* Surface colors */
  --color-background: oklch(1.0 0 0);
  --color-foreground: oklch(0.20 0.01 250);
  --color-surface: oklch(0.98 0.01 250);
  --color-border: oklch(0.90 0.01 250);

  /* Typography */
  --font-family-heading: "Inter", sans-serif;
  --font-family-body: "Inter", sans-serif;
  --font-family-mono: "Fira Code", monospace;
}

トークンアーキテクチャ全体(プリミティブ → セマンティック → コンポーネントのレイヤー)については、references/design-tokens.md を参照してください。

OKLCH カラー

Tailwind v4 では、知覚的な均一性を高めるため、デフォルトで OKLCH を使用します。

oklch(lightness chroma hue / alpha)
  • 明度:0(黒)から 1(白)
  • 彩度:0(灰色)から約 0.4(鮮やか)
  • 色相:0〜360 度
  • アルファ:0〜1(任意)
--color-brand: oklch(0.55 0.25 270);      /* vivid purple */
--color-subtle: oklch(0.96 0.02 250);     /* muted gray */
--color-overlay: oklch(0.0 0 0 / 0.5);   /* translucent black */

v3 から v4 へのクラス名の変更

v3                     →  v4
───────────────────────────────
bg-gradient-to-r       →  bg-linear-to-r
bg-gradient-to-br      →  bg-linear-to-br
flex-shrink-0          →  shrink-0
flex-grow              →  grow
decoration-clone       →  box-decoration-clone
decoration-slice       →  box-decoration-slice

自動アップグレードを実行します:npx @tailwindcss/upgrade

Vite のセットアップ(最速)

import tailwindcss from '@tailwindcss/vite'

export default {
  plugins: [tailwindcss()],
}

v4 はコンテンツを自動検出するため、コンテンツパスを設定する必要はありません。本番環境では、未使用のユーティリティが自動的にツリーシェイクされます。

リファレンス

現在のタスクに必要なものだけを読み込みます。

リファレンス読み込むタイミング
design-tokens.mdトークンアーキテクチャ、コンポーネントトークン、ステータスカラーのパターンを設定するとき
theming.mdダークモード、実行時のテーマ切り替え、ブランドのバリエーション、ユーザー設定の検出
advanced-patterns.mdアニメーション、グリッドレイアウト、コンテナークエリー、カスタムユーティリティ、プラグイン、パフォーマンス
migration.mdTailwind v3 から v4 にプロジェクトを移行するとき

コメント