T

tailwind-v4

by @existential-birdsv
4.8(20)

Tailwind CSS v4のベストプラクティスとクイックリファレンスを提供し、Viteプラグインの構成設定を含みます。

Tailwind CSSUtility-First CSSFrontend DevelopmentUI FrameworksResponsive DesignGitHub
インストール方法
npx skills add existential-birds/beagle --skill tailwind-v4
compare_arrows

Before / After 効果比較

1
使用前

大量のCSSスタイルを手動で記述するため、開発効率が低く、一貫性を保つのが難しい。新しいバージョンへのアップグレードや設定時に、互換性の問題が頻繁に発生します。

使用後

Tailwind CSS v4のベストプラクティスを迅速に適用し、スタイル開発を簡素化します。フロントエンド開発の効率を向上させ、UIの一貫性と保守性を確保します。

description SKILL.md

tailwind-v4

Tailwind CSS v4 Best Practices

Quick Reference

Vite Plugin Setup:

// vite.config.ts
import tailwindcss from '@tailwindcss/vite';
import { defineConfig } from 'vite';

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

CSS Entry Point:

/* src/index.css */
@import 'tailwindcss';

@theme Inline Directive:

@theme inline {
  --color-primary: oklch(60% 0.24 262);
  --color-surface: oklch(98% 0.002 247);
}

Key Differences from v3

Feature v3 v4

Configuration tailwind.config.js @theme in CSS

Build Tool PostCSS plugin @tailwindcss/vite

Colors rgb() / hsl() oklch() (default)

Theme Extension extend: {} in JS CSS variables

Dark Mode darkMode config option CSS variants

@theme Directive Modes

default (standard mode)

Generates CSS variables that can be referenced elsewhere:

@theme {
  --color-brand: oklch(60% 0.24 262);
}

/* Generates: :root { --color-brand: oklch(...); } */
/* Usage: text-brand → color: var(--color-brand) */

Note: You can also use @theme default explicitly to mark theme values that can be overridden by non-default @theme declarations.

inline

Inlines values directly without CSS variables (better performance):

@theme inline {
  --color-brand: oklch(60% 0.24 262);
}

/* Usage: text-brand → color: oklch(60% 0.24 262) */

reference

Inlines values as fallbacks without emitting CSS variables:

@theme reference {
  --color-internal: oklch(50% 0.1 180);
}

/* No :root variable, but utilities use fallback */
/* Usage: bg-internal → background-color: var(--color-internal, oklch(50% 0.1 180)) */

OKLCH Color Format

OKLCH provides perceptually uniform colors with better consistency across hues:

oklch(L% C H)

  • L (Lightness): 0% (black) to 100% (white)

  • C (Chroma): 0 (gray) to ~0.4 (vibrant)

  • H (Hue): 0-360 degrees (red → yellow → green → blue → magenta)

Examples:

--color-sky-500: oklch(68.5% 0.169 237.323);  /* Bright blue */
--color-red-600: oklch(57.7% 0.245 27.325);   /* Vibrant red */
--color-zinc-900: oklch(21% 0.006 285.885);   /* Near-black gray */

CSS Variable Naming

Tailwind v4 uses double-dash CSS variable naming conventions:

@theme {
  /* Colors: --color-{name}-{shade} */
  --color-primary-500: oklch(60% 0.24 262);

  /* Spacing: --spacing multiplier */
  --spacing: 0.25rem;  /* Base unit for spacing scale */

  /* Fonts: --font-{family} */
  --font-display: 'Inter Variable', system-ui, sans-serif;

  /* Breakpoints: --breakpoint-{size} */
  --breakpoint-lg: 64rem;

  /* Custom animations: --animate-{name} */
  --animate-fade-in: fade-in 0.3s ease-out;
}

No Config Files Needed

Tailwind v4 eliminates configuration files:

  • No tailwind.config.js - Use @theme in CSS instead

  • No postcss.config.js - Use @tailwindcss/vite plugin

  • TypeScript support - Add @types/node for path resolution

{
  "devDependencies": {
    "@tailwindcss/vite": "^4.0.0",
    "@types/node": "^22.0.0",
    "tailwindcss": "^4.0.0",
    "vite": "^6.0.0"
  }
}

Progressive Disclosure

  • Setup & Installation: See references/setup.md for Vite plugin configuration, package setup, TypeScript config

  • Theming & Design Tokens: See references/theming.md for @theme modes, color palettes, custom fonts, animations

  • Dark Mode Strategies: See references/dark-mode.md for media queries, class-based, attribute-based approaches

Decision Guide

When to use @theme inline vs default

Use @theme inline:

  • Better performance (no CSS variable overhead)

  • Static color values that won't change

  • Animation keyframes with multiple values

  • Utilities that need direct value inlining

Use @theme (default):

  • Dynamic theming with JavaScript

  • CSS variable references in custom CSS

  • Values that change based on context

  • Better debugging (inspect CSS variables in DevTools)

When to use @theme reference

Use @theme reference:

  • Provide fallback values without CSS variable overhead

  • Values that should work even if variable isn't defined

  • Reducing :root bloat while maintaining utility support

  • Combining with inline for direct value substitution

Common Patterns

Two-Tier Variable System

Semantic variables that map to design tokens:

@theme {
  /* Design tokens (OKLCH colors) */
  --color-blue-600: oklch(54.6% 0.245 262.881);
  --color-slate-800: oklch(27.9% 0.041 260.031);

  /* Semantic mappings */
  --color-primary: var(--color-blue-600);
  --color-surface: var(--color-slate-800);
}

/* Usage: bg-primary, bg-surface */

Custom Font Configuration

@theme {
  --font-display: 'Inter Variable', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  --font-display--font-variation-settings: 'wght' 400;
  --font-display--font-feature-settings: 'cv02', 'cv03', 'cv04';
}

/* Usage: font-display, font-mono */

Animation Keyframes

@theme inline {
  --animate-beacon: beacon 2s ease-in-out infinite;

  @keyframes beacon {
    0%, 100% {
      opacity: 1;
      transform: scale(1);
    }
    50% {
      opacity: 0.5;
      transform: scale(1.05);
    }
  }
}

/* Usage: animate-beacon */

Weekly Installs421Repositoryexistential-birds/beagleGitHub Stars40First SeenJan 20, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode302gemini-cli289codex279github-copilot264claude-code259cursor229

forumユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数2.0K
評価4.8 / 5.0
バージョン
更新日2026年3月17日
比較事例1 件

ユーザー評価

4.8(20)
5
0%
4
0%
3
0%
2
0%
1
0%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

タイムライン

作成2026年3月17日
最終更新2026年3月17日