What problem does it solve?
Tailwind 4 projects are hard to set up and customize when you keep reaching for Tailwind 3 patterns like tailwind.config.js and plugin-style utilities. This Skill solves the confusion by guiding you through Tailwind 4’s CSS-first workflow, modern variant system, and token-driven theming so your styling stays consistent and maintainable.
Core Features & Use Cases
- CSS-first configuration (Tailwind 4): Use @import "tailwindcss" and define tokens in @theme instead of using tailwind.config.js, covering setup for Vite and PostCSS pipelines.
- Design tokens with oklch + semantic theming: Create brand palettes and map them into semantic tokens for robust light/dark switching (e.g., background/foreground, ring, primary).
- Modern Tailwind 4 variants + container queries: Apply has-/not-/starting: variants and build component-level responsiveness using native @container and @sm:/@lg: prefixes.
- React/shadcn integration patterns: Use clsx + tailwind-merge for cn(), integrate with shadcn/ui, and structure classes to avoid dynamic scanning pitfalls.
Quick Start
Configure Tailwind 4 in a Vite React project using @import "tailwindcss", define your colors and radius in @theme with oklch, and enable dark mode via @custom-variant dark (&:where(.dark, .dark *)).