tailwind-v4-shadcn

Tailwind v4 + shadcn/ui setup with Vite. Prevents 8+ theming and configuration errors. Production-tested gold standard.

View on GitHub
Author Jeremy Dawes
Namespace @jezweb/claude-skills
Category frontend
Version 1.0.0
Stars 79
Downloads 57
self.md verified
Table of content

Tailwind v4 + shadcn/ui setup with Vite. Prevents 8+ theming and configuration errors. Production-tested gold standard.

Installation

npx claude-plugins install @jezweb/claude-skills/tailwind-v4-shadcn

Contents

Folders: commands, references, rules, templates

Files: README.md, SKILL.md

Documentation

Status: Production Ready ✅ Last Updated: 2026-01-03 Production Tested: WordPress Auditor (https://wordpress-auditor.webfonts.workers.dev )


Auto-Trigger Keywords

This skill should be invoked when user mentions ANY of:

Primary Triggers:

Secondary Triggers:

Error-Based Triggers:


What This Skill Does

Sets up production-ready Vite + React + Tailwind CSS v4 + shadcn/ui with:

Correct v4 architecture - @theme inline pattern, no config file ✅ Dark mode - ThemeProvider with system/light/dark support ✅ Error prevention - Fixes tw-animate-css, duplicate @layer, @apply deprecation ✅ Semantic colors - Full color palette with proper CSS variables ✅ Path aliases - @/* imports configured ✅ TypeScript - Full type safety ✅ Templates - Proven file templates ready to copy


Known Issues This Skill Prevents

IssueWhy It HappensHow Skill Fixes It
tw-animate-css import errorshadcn init adds non-existent importProvides clean CSS template
Duplicate @layer baseshadcn init adds second block with @applySingle clean @layer block
Colors don’t workMissing @theme inline mappingComplete mapping provided
Dark mode brokenNo ThemeProvider or wrong setupFull ThemeProvider template
Wrong configtailwind.config.ts used for themeEmpty config, CSS-only theme
Double hsl() wrappingCommon pattern mistakeCorrect variable usage
Wrong plugin syntaxUsing @import or require() for pluginsCorrect @plugin directive documented

When to Use This Skill

✅ Use When:

❌ Don’t Use When:


Template Structure

~/.claude/skills/tailwind-v4-shadcn/
├── README.md                  # This file - auto-trigger keywords
├── SKILL.md                   # Complete documentation (623 lines)
├── templates/                 # Ready-to-copy file templates
│   ├── index.css              # v4 CSS architecture
│   ├── components.json        # shadcn/ui v4 config
│   ├── vite.config.ts         # Vite + Tailwind plugin
│   ├── tsconfig.app.json      # TypeScript with aliases
│   ├── theme-provider.tsx     # Dark mode provider
│   └── utils.ts               # cn() utility
└── reference/                 # Deep-dive docs
    ├── architecture.md
    ├── dark-mode.md
    ├── common-gotchas.md
    └── migration-guide.md

Quick Usage

When Claude detects trigger keywords, it should:

  1. Confirm with user: “I found the tailwind-v4-shadcn skill. Use it?”
  2. Explain benefits: “This prevents tw-animate-css errors and includes dark mode”
  3. Use templates: Copy from templates/ directory
  4. Follow SKILL.md: Complete step-by-step in SKILL.md
  5. Verify: Test dev server, check dark mode toggle

Token Efficiency

ApproachTokens UsedErrors
Manual setup (no skill)~65,0002-3 common errors
With this skill~20,0000 (prevented)
Savings~70%100% reduction

Dependencies Installed

{
  "dependencies": {
    "tailwindcss": "^4.1.18",
    "@tailwindcss/vite": "^4.1.18",
    "clsx": "^2.1.1",
    "tailwind-merge": "^3.4.0",
    "react": "^19.2.0",
    "react-dom": "^19.2.0"
  },
  "devDependencies": {
    "@types/node": "^25.0.3",
    "@vitejs/plugin-react": "^5.1.2",
    "vite": "^7.3.0",
    "typescript": "~5.9.0",
    "tw-animate-css": "^1.4.0"
  }
}

Example Skill Invocation

User: "Set up a new Vite + React project with Tailwind v4"
Claude: [Checks ~/.claude/skills/tailwind-v4-shadcn/]
Claude: "I found the tailwind-v4-shadcn skill. Use it?
        (Prevents tw-animate-css error, includes dark mode)"
User: "Yes"
Claude: [Uses templates/ + follows SKILL.md]
Result: Working project in ~1 minute, 0 errors

Skil

…(truncated)

Source

View on GitHub

Tags: frontend tailwindshadcnvitereacttheminguicomponents