gdu/skills/tailwind/SKILL.md
Tailwind CSS v4 + Nuxt UI v4 semantic design system. Activates on .vue and .css files to enforce semantic tokens, CSS variables, Tailwind Variants, and automatic dark mode. Use when styling components to ensure design system compliance and dark mode support.
npx skillsauth add murillodutt/cellm gdu/skills/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.
Nuxt UI v4 provides a complete semantic layer on top of Tailwind CSS v4. Use it.
| Category | Use | Never |
|----------|-----|-------|
| Colors | text-primary, bg-error, text-warning | text-blue-500, bg-red-600 |
| Text | text-dimmed, text-muted, text-toned, text-default, text-highlighted | text-gray-400, text-neutral-500 |
| Background | bg-default, bg-muted, bg-elevated, bg-accented, bg-inverted | bg-white, bg-gray-50 |
| Border | border-default, border-muted, border-accented, border-inverted | border-gray-200 |
| Radius | rounded-sm through rounded-3xl (driven by --ui-radius) | rounded-[12px] |
--ui-*)In Tailwind v4, the primary source of tokens is app/assets/css/main.css using the @theme directive. tailwind.config.ts is only maintained as a fallback for v3 compatibility:
@import "tailwindcss";
@import "@nuxt/ui";
@theme {
--font-sans: 'Public Sans', sans-serif;
}
Customize shades per mode in :root / .dark:
:root { --ui-primary: var(--ui-color-primary-500); }
.dark { --ui-primary: var(--ui-color-primary-400); }
Dark mode is automatic via CSS variables. Nuxt UI components handle light/dark internally.
bg-default text-default) — dark mode comes freedark: variants for non-Nuxt-UI elements with hardcoded valuesNuxt UI uses Tailwind Variants with slots, variants, and compoundVariants.
ui prop overrides slots: <UCard :ui="{ body: 'p-8' }" />app.config.ts under ui.{component} keyclass prop: overrides root/base slot onlyMobile-first: class then sm: md: lg:. No arbitrary values (w-[347px]).
blue-500, #hex, rgb()--ui-*tailwind.config.ts as primary source — Tailwind v4 uses @theme in app/assets/css/main.css as the primary source of tokens. tailwind.config.ts is just a fallback for v3.w-[347px], p-[13px]data-ai
Prose override — temporarily disable quantization and respond in readable prose. Use when relational density matters, for safety-critical explanations, onboarding handoffs, or when token economy is not the priority.
development
Govern explicit weekly Super PRs or maintainer-requested PR merges. Evaluates a 10-criterion readiness checklist and performs governed merge only when a user-requested PR is READY. Never creates or keeps permanent PRs. Use when: 'pr-check', 'pr-merge', 'merge this PR safely', 'is PR ready', 'guard merge', or /sk-git delegates pr-merge.
data-ai
Operational surface for the compress-llm Layer-1 token I/O compressor. Enable, disable, switch mode, and inspect status without editing config files. Use when tuning compression pressure for the current session or project.
tools
Generate structured upstream feedback for the CELLM engineering team. Produces evidence-first Markdown at docs/evidence/<date>-cellm-feedback-*.md for bugs, anti-patterns, deprecation gaps, and harness surprises, with optional atom registration via knowledge_ops. Use when: 'feedback for CELLM', 'send to CELLM team', 'register this as atom', 'document this anti-pattern', 'report this bug upstream'. Trigger proactively on MCP schema/runtime mismatches, mechanical edit loops (>=3 sequential edits), short deprecation windows (<6 weeks), or reusable harness surprises. Do NOT trigger for routine feature work or project-local bugs.