.claude/skills/tailwind/SKILL.md
TailwindCSS utility-first styling and dynamic theme system for Luxia e-commerce frontend. Use when: styling React components, creating responsive layouts, implementing the dynamic theme system, working with design tokens, or building admin/storefront UI.
npx skillsauth add kaxuna1/ecomsite tailwindInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Luxia uses Tailwind CSS with a dynamic theme system where CSS variables are injected at runtime from the backend database. This enables admin-configurable themes without redeployment. The project combines static Tailwind utilities (brand colors, fonts) with dynamic CSS custom properties for theme-aware components.
// Use brand colors defined in tailwind.config.ts
<div className="bg-midnight text-champagne hover:text-jade">
Luxury brand styling
</div>
// Use CSS variables injected by ThemeContext
<div className="bg-bg-primary text-text-primary border-border-default">
Theme-aware component
</div>
// Mobile-first: base → sm → md → lg → xl
<div className="flex flex-col md:flex-row gap-4 lg:gap-8 p-4 md:p-6 lg:p-8">
<main className="flex-1">Content</main>
<aside className="hidden lg:block w-64">Sidebar</aside>
</div>
| Concept | Usage | Example |
|---------|-------|---------|
| Brand colors | Static theme tokens | bg-midnight, text-champagne, border-jade |
| Theme vars | Dynamic from backend | bg-bg-primary, text-text-inverse |
| Opacity modifiers | Subtle variations | bg-white/10, text-champagne/60 |
| Group hover | Parent-child interaction | group + group-hover:opacity-100 |
| Responsive hiding | Mobile-first visibility | hidden lg:flex |
| Backdrop blur | Glass morphism | backdrop-blur-xl bg-midnight/80 |
<article className="group relative overflow-hidden rounded-3xl border border-border-default/40
bg-bg-primary shadow-lg transition-shadow hover:shadow-2xl">
<button className="absolute bottom-4 opacity-0 group-hover:opacity-100 transition-opacity">
Quick Add
</button>
</article>
<nav className="sticky top-0 z-50 bg-bg-primary/95 backdrop-blur-xl border-b border-border-default">
<div className="mx-auto max-w-7xl px-4">
<button className="lg:hidden">Mobile Menu</button>
<div className="hidden lg:flex lg:gap-8">Desktop Nav</div>
</div>
</nav>
For React component patterns, see the react skill. For form styling with validation states, see the react-hook-form skill. For TypeScript interfaces for design tokens, see the typescript skill.
tools
Zustand lightweight state management with persistence and middleware. Use when: managing client-side state (cart, auth, UI preferences), replacing React Context with simpler API, accessing state outside React components, implementing localStorage persistence
development
Zod schema validation and TypeScript integration for runtime type safety. Use when: Validating API payloads, form inputs, environment variables, or any external data boundaries where TypeScript types alone cannot guarantee safety.
tools
Configures Vite 5.x build tool, dev server, and frontend asset optimization for the Luxia e-commerce platform. Use when: configuring builds, adding environment variables, optimizing bundle size, setting up testing, debugging HMR issues, or adding Vite plugins.
development
Enforces strict TypeScript types across frontend and backend codebases. Use when: Writing new services, DTOs, interfaces, type guards, debugging type errors, or ensuring type safety at API boundaries.