tailwind-refactor — Claude Code skill: Tailwind cleanup and v4
A skill for refactoring Tailwind CSS classes: migrating from v3 to v4, replacing deprecated utilities and cleaning up code without changing the visual output.
npx skills add pproenca/dot-skills --skill tailwind-refactor -a claude-codeWhat tailwind-refactor does
The skill packs 50 rules across eight categories, ordered by migration urgency. Configuration comes first: swapping @tailwind for @import, moving tailwind.config.js into a CSS @theme block, switching PostCSS to @tailwindcss/postcss. Then deprecated utilities, renames like bg-gradient-* to bg-linear-*, class consolidation and arbitrary value cleanup.
Every transformation keeps the current look and feel. The skill only touches syntax and v4 compatibility, so it will not redesign anything — the companion skills tailwind-ui-refactor and tailwind-responsive-ui cover visual and responsive work.
Run npx @tailwindcss/upgrade before migrating by hand. The automated tool handles most configuration and renamed utilities; the skill picks up what it misses. Skip that step and you will be redoing work the tool already did.
What it helps with
- move a project from Tailwind CSS v3 to v4
- drop deprecated utilities such as
flex-shrinkandoverflow-ellipsis - shorten long class strings with
size-*andinset-* - replace arbitrary hex colors with theme tokens
- pull bloated
@applyblocks out of CSS files
Example prompts for the agent
- Run tailwind-refactor over the components in
src/componentsand list what changed - Check this file for deprecated Tailwind utilities and swap them for current ones
- Draft a Tailwind v4 migration plan for this project, starting with configuration
How to install tailwind-refactor
1Skills CLI (Vercel)
npx skills add pproenca/dot-skills --skill tailwind-refactor -a claude-code2Manually: put the files in place
~/.claude/skills/tailwind-refactor/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/tailwind-refactor/
1Skills CLI (Vercel)
npx skills add pproenca/dot-skills --skill tailwind-refactor -a codex2Manually: put the files in place
.agents/skills/tailwind-refactor/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add pproenca/dot-skills --skill tailwind-refactor -a cursor2Manually: put the files in place
.cursor/skills/tailwind-refactor/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install pproenca/dot-skills tailwind-refactor2Manually: put the files in place
.github/skills/tailwind-refactor/SKILL.md1Skills CLI (Vercel)
npx skills add pproenca/dot-skills --skill tailwind-refactor -a gemini-cli2Platform CLI
gemini skills install https://github.com/pproenca/dot-skills --path skills/.experimental/tailwind-refactorManually: put the files in place
.devin/skills/tailwind-refactor/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add pproenca/dot-skills --skill tailwind-refactor -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about tailwind-refactor
How do I install tailwind-refactor in Claude?
Run npx skills add pproenca/dot-skills --skill tailwind-refactor -a claude-code. The skill lands at ~/.claude/skills/tailwind-refactor/SKILL.md.
What does tailwind-refactor do?
It runs Tailwind CSS code through a set of refactoring rules: v4 configuration migration, replacement of deprecated and renamed utilities, class consolidation. The visual output stays the same.
Should I do anything before migrating to Tailwind v4?
Yes — the author suggests running npx @tailwindcss/upgrade first, since it handles configuration and renames on its own. Use the skill for the patterns it does not cover.
Source text
SKILL.md · MIT
--- name: tailwind-refactor description: Tailwind CSS code refactoring patterns for v4 migration and anti-pattern cleanup. This skill should be used when refactoring Tailwind utility classes, migrating from v3 to v4, cleaning up deprecated utilities, consolidating verbose class patterns, or removing code smells — all without changing the visual output. Triggers on tasks involving Tailwind CSS cleanup, v4 migration, class refactoring, @apply removal, or utility modernization. --- # Community Tailwind CSS Refactoring Best Practices Comprehensive code quality refactoring guide for Tailwind CSS applications targeting v4. Contains 50 rules across 8 categories, prioritized by migration urgency. Every transformation preserves the existing look and feel — this skill is purely about cleaner code, modern syntax, and v4 compatibility. **Companion skills:** Use [tailwind-ui-refactor](../tailwind-ui-refactor/) for visual design improvements and [tailwind-responsive-ui](../tailwind-responsive-ui/) for responsive layout patterns. ## When to Apply **Before manual migration:** Run `npx @tailwindcss/upgrade` first — it handles most configuration and renamed utility changes automatically. Then use this skill for patterns the automated tool does not cover. Reference these guidelines when: - Migrating a project from Tailwind CSS v3 to v4 - Cleaning up deprecated or renamed utility classes - Consolidating verbose multi-class patterns - Replacing arbitrary values with design tokens - Removing `@apply` overuse in CSS files - Modernizing syntax to v4 conventions ## Rule Categories by Priority | Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Configuration Migration | CRITICAL | `config-` | | 2 | Deprecated Utility Replacement | CRITICAL | `dep-` | | 3 | Renamed Utility Updates | HIGH | `rename-` | | 4 | Class Consolidation | HIGH | `class-` | | 5 | Arbitrary Value Cleanup | MEDIUM-HIGH | `arb-` | | 6 | Syntax Modernization | MEDIUM | `syntax-` | | 7 | @apply & Architecture Cleanup | MEDIUM | `arch-` | | 8 | Modern Feature Adoption | LOW-MEDIUM | `adopt-` | ## Quick Reference ### 1. Configuration Migration (CRITICAL) - [`config-import-directive`](references/config-import-directive.md) - Replace @tailwind directives with @import - [`config-css-theme`](references/config-css-theme.md) - Migrate tailwind.config.js to CSS @theme - [`config-theme-function`](references/config-theme-function.md) - Replace theme() function with CSS variables - [`config-theme-inline`](references/config-theme-inline.md) - Use @theme inline for non-utility design tokens - [`config-utility-directive`](references/config-utility-directive.md) - Replace @layer utilities with @utility - [`config-postcss-plugin`](references/config-postcss-plugin.md) - Update PostCSS plugin to @tailwindcss/postcss - [`config-content-autodetect`](references/config-content-autodetect.md) - Remove manual content configuration - [`config-custom-variant`](references/config-custom-variant.md) - Migrate addVariant to @custom-variant - [`config-preflight-defaults`](references/config-preflight-defaults.md) - Account for Preflight default changes in v4 ### 2. Deprecated Utility Replacement (CRITICAL) - [`dep-opacity-modifiers`](references/dep-opacity-modifiers.md) - Replace *-opacity-* with opacity modifiers (/50) - [`dep-flex-shorthand`](references/dep-flex-shorthand.md) - Replace flex-shrink/flex-grow with shrink/grow - [`dep-text-ellipsis`](references/dep-text-ellipsis.md) - Replace overflow-ellipsis with text-ellipsis - [`dep-decoration-utilities`](references/dep-decoration-utilities.md) - Replace decoration-slice/clone with box-decoration-* - [`dep-transform-composites`](references/dep-transform-composites.md) - Replace transform-none with individual resets - [`dep-transition-properties`](references/dep-transition-properties.md) - Update transition-[transform] to individual properties ### 3. Renamed Utility Updates (HIGH) - [`rename-shadow-scale`](references/rename-shadow-scale.md) - Update shadow utilities to new scale - [`rename-blur-scale`](references/rename-blur-scale.md) - Update blur utilities to new scale - [`rename-rounded-scale`](references/rename-rounded-scale.md) - Update border radius utilities to new scale - [`rename-ring-width`](references/rename-ring-width.md) - Replace ring with ring-3 for v3 default - [`rename-gradient-utilities`](references/rename-gradient-utilities.md) - Replace bg-gradient-* with bg-linear-* - [`rename-outline-hidden`](references/rename-outline-hidden.md) - Replace outline-none with outline-hidden ### 4. Class Consolidation (HIGH) - [`class-size-utility`](references/class-size-utility.md) - Replace matching w-* h-* with size-* - [`class-gap-over-space`](references/class-gap-over-space.md) - Prefer gap-* over space-x/y-* in flex/grid - [`class-inset-shorthand`](references/class-inset-shorthand.md) - Replace top/right/bottom/left with inset-* - [`class-border-color-explicit`](references/class-border-color-explicit.md) - Add explicit border color for v4 default change - [`class-ring-color-explicit`](references/class-ring-color-explicit.md) - Add explicit ring color for v4 default change - [`class-redundant-display`](references/class-redundant-display.md) - Remove redundant display classes - [`class-hidden-priority`](references/class-hidden-priority.md) - Remove display overrides for hidden attribute - [`class-container-utility`](references/class-container-utility.md) - Replace container plugin config with @utility ### 5. Arbitrary Value Cleanup (MEDIUM-HIGH) - [`arb-hex-to-theme`](references/arb-hex-to-theme.md) - Replace arbitrary hex colors with theme tokens - [`arb-spacing-to-scale`](references/arb-spacing-to-scale.md) - Replace arbitrary spacing with theme scale - [`arb-dynamic-classes`](references/arb-dynamic-classes.md) - Avoid dynamic class name construction - [`arb-breakpoint-to-theme`](references/arb-breakpoint-to-theme.md) - Replace arbitrary breakpoints with @theme - [`arb-zindex-to-scale`](references/arb-zindex-to-scale.md) - Replace arbitrary z-index with defined scale ### 6. Syntax Modernization (MEDIUM) - [`syntax-css-variable-parens`](references/syntax-css-variable-parens.md) - Update CSS variable syntax from brackets to parentheses - [`syntax-variant-stacking`](references/syntax-variant-stacking.md) - Update variant stacking to left-to-right order - [`syntax-important-modifier`](references/syntax-important-modifier.md) - Use trailing ! for important modifier - [`syntax-grid-arbitrary`](references/syntax-grid-arbitrary.md) - Use underscores in grid arbitrary values - [`syntax-gradient-preservation`](references/syntax-gradient-preservation.md) - Reset gradient stops explicitly in variants - [`syntax-hover-media-query`](references/syntax-hover-media-query.md) - Account for hover variant media query wrapping ### 7. @apply & Architecture Cleanup (MEDIUM) - [`arch-apply-to-component`](references/arch-apply-to-component.md) - Extract @apply blocks into framework components - [`arch-layer-to-utility`](references/arch-layer-to-utility.md) - Replace @layer components with @utility - [`arch-scoped-reference`](references/arch-scoped-reference.md) - Use @reference for @apply in scoped styles - [`arch-safelist-to-source`](references/arch-safelist-to-source.md) - Replace safelist with @source inline() - [`arch-domain-composition`](references/arch-domain-composition.md) - Reserve Tailwind for primitives, compose for domain ### 8. Modern Feature Adoption (LOW-MEDIUM) - [`adopt-container-queries`](references/adopt-container-queries.md) - Use container queries instead of viewport breakpoints - [`adopt-not-variant`](references/adopt-not-variant.md) - Use not-* variant for negated conditions - [`adopt-in-variant`](references/adopt-in-variant.md) - Use in-* variant to simplify parent-state styling - [`adopt-field-sizing`](references/adopt-field-sizing.md) - Use field-sizing-content for auto-resizing textareas - [`adopt-starting-variant`](references/adopt-starting-variant.md) - Use starting variant for entry animations without JS ## How to Use Read individual reference files for detailed explanations and code examples: - [Section definitions](references/_sections.md) - Category structure and impact levels - [Rule template](assets/templates/_template.md) - Template for adding new rules ## Reference Files | File | Description | |------|-------------| | [references/_sections.md](references/_sections.md) | Category definitions and ordering | | [assets/templates/_template.md](assets/templates/_template.md) | Template for new rules | | [metadata.json](metadata.json) | Version and reference information |
© pproenca · MIT · pproenca/dot-skills