creating-custom-utilities

Create custom Tailwind v4 utilities using the @utility directive.

Updated Nov 21, 2025
One-click install
npx skills add https://github.com/djankies/claude-configs --skill creating-custom-utilities
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: creating-custom-utilities
Source: https://github.com/djankies/claude-configs/tree/main/tailwind-4/skills/creating-custom-utilities
Command: npx skills add https://github.com/djankies/claude-configs --skill creating-custom-utilities

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill shows how to create static, functional, and multi-value utilities with the @utility directive in Tailwind v4 to extend the design system efficiently.

Core Features & Use Cases

  • Static Utilities: Simple, reusable utilities for common values.
  • Functional Utilities: Parameterized utilities using --value tokens.
  • Multi-Value Utilities: Utilities that combine multiple CSS properties.

Quick Start

Define a few utilities like content-auto and text-stroke-*, then apply them in HTML.

Frequently Asked Questions about creating-custom-utilities

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create custom utilities in Tailwind v4?

Create custom utilities using the @utility directive in Tailwind v4. Define static utilities for simple values, functional utilities with --value macros for parameterized output, and multi-value utilities combining multiple CSS properties. Apply them across variants like hover, focus, and responsive breakpoints to extend your design system.

Can I add custom utilities to an existing Tailwind project?

Yes. Extend Tailwind-based projects by defining @utility patterns that generate additional utility classes. You can reference theme tokens, use --value(integer) and --value(--color-*) macros, and create arbitrary values with content for pseudo-elements, all while maintaining variant support.

What's the difference between static and functional utilities in Tailwind?

Static utilities are simple, reusable classes for fixed values. Functional utilities accept parameters through --value tokens, letting you create scalable utilities like text-stroke-* that generate multiple class variants from a single pattern definition.

How do I create utilities that work with Tailwind variants?

The @utility directive enables variant-aware output, automatically applying your custom utilities across hover, focus, and responsive breakpoints. This generates complete utility families without manually writing each variant combination.

Can custom utilities reference my Tailwind theme tokens?

Yes. Custom utilities support theme references, allowing you to build utilities that pull colors, spacing, and other design tokens from your Tailwind configuration. Combine this with --value macros to create theme-aware, parameterized utilities.

When should I use multi-value utilities instead of single-property ones?

Use multi-value utilities when you need to set multiple CSS properties together consistently, like text-stroke utilities that combine stroke width and color. This reduces class bloat and keeps related properties synchronized across your design system.