Tailwind CSS
SkillDev toolsImplementar e revisar Tailwind CSS com tokens, variantes, responsividade, dark mode, container queries e CSS sustentável. Use quando houver tailwindcss ou utilitários Tailwind em templates e a tarefa tocar estilo, tema ou responsividade; use também para decidir entre utilitário, `@apply` e extração de componente; confirme sempre a versão instalada, pois configuração (`tailwind.config` vs `@theme` em CSS) e diretivas mudam entre gerações — não aplique sintaxe de uma versão a outra sem checar o `package.json`.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Tailwind CSS skill
What this skill tells your AI
The instructions your AI receives, as published by promovaweb/specsfy in specialists/specsfy-specialist-tailwind-css/SKILL.md and read by ahel’s review.
Quando usar
- Acionar quando o projeto depende de
tailwindcsse a tarefa envolve classe utilitária, tema, variante, responsividade ou dark mode. - Acionar também para decidir se um padrão visual repetido deve virar token,
@applylocal ou componente extraído. - Não acionar para a escolha da biblioteca de componentes em si (Radix,
shadcn/ui); usar
$specsfy-specialist-shadcn-uiou$specsfy-specialist-react-ui-componentspara isso e voltar aqui para o sistema de tokens e classes que os sustenta. - Combinar com
$specsfy-specialist-web-accessibilitypara contraste, zoom eprefers-reduced-motion.
Fluxo
- Confirmar a versão do Tailwind, a integração (Vite, PostCSS, framework) e
onde os tokens são declarados (
tailwind.config.jsou@themeem CSS na v4) — a sintaxe de configuração muda entre gerações. - Traduzir o layout e os estados da interface em constraints responsivas
(breakpoints ou
@container) antes de escrever a primeira classe. - Reutilizar tokens semânticos já existentes (cor, espaçamento, radius,
tipografia) antes de recorrer a valor arbitrário (
w-[137px]). - Implementar mobile-first: escrever o estilo base para a tela menor e sobrepor apenas o que muda nos breakpoints maiores.
- Cobrir estados interativos (
hover,focus-visible,disabled,aria-*) e preferências do usuário (dark,motion-reduce,forced-colors) desde a primeira versão do componente, não como retrofit. - Extrair um componente (não
@apply) quando o padrão repetido representa uma unidade semântica reconhecível (um "Card", um "Badge"), e não apenas uma coincidência visual entre dois lugares. - Validar o CSS gerado no build de produção: nenhuma classe usada dinamicamente deve estar ausente por não ser detectável estaticamente pelo scanner de conteúdo.
Padrões
- Manter cor, espaçamento, radius e tipografia como tokens com nome de
intenção (
bg-surface,text-muted) sempre que o projeto já tiver um sistema de design — não introduzir valor solto que dribla o token existente. - Expressar estado (hover, foco, seleção, erro) com variantes do próprio
Tailwind (
hover:,aria-selected:,data-[state=open]:), nunca escondendo a lógica de estado em concatenação de string opaca fora da vista do build. - Não usar
@applycomo substituto geral de componente — ele recria uma folha de estilo tradicional dentro do utility-first e perde a colocação (a classe deixa de estar ao lado do elemento que ela estiliza). - Garantir que toda classe construída dinamicamente (template string,
concatenação condicional) seja detectável estaticamente pelo scanner de
conteúdo — usar mapas completos de classes literais em vez de montar a
classe por concatenação de partes (
text-${color}-500não funciona: o scanner não executa o template). - Tratar dark mode,
prefers-reduced-motion,prefers-contrasteforced-colorscomo requisito de design, não como camada opcional adicionada depois. - Preferir layout fluido (
flex,grid, unidades relativas) e@containerquando o componente precisa responder ao próprio contêiner (ex.: um card que muda de layout dentro de uma sidebar estreita), não ao viewport inteiro. - Não multiplicar valores arbitrários (
p-[13px],text-[15px]) sem antes perguntar se um novo token de escala deveria existir — um valor arbitrário isolado é aceitável; vários próximos e repetidos indicam token ausente.
Antipadrões
- Classe montada por concatenação de variável (
`bg-${color}-500`) — o scanner de conteúdo do Tailwind não executa JS, então essa classe nunca é gerada no CSS final; use um mapa literal de classes completas. @applyusado para recriar dezenas de componentes CSS tradicionais — perde a vantagem de colocation do utility-first e cria uma folha de estilo paralela difícil de rastrear.- Cor, espaçamento ou radius hardcoded (
#3b82f6,17px) ao lado de um sistema de tokens já existente — quebra o tema (claro/escuro, marca) na primeira mudança centralizada. - Adicionar dark mode, foco visível ou movimento reduzido só depois de uma reclamação de acessibilidade, em vez de tratá-los como parte do componente desde a primeira versão.
- Confundir a responsabilidade desta skill com a escolha de biblioteca de
componentes prontos — Tailwind é a camada de utilitários/tema; a escolha
de "qual Data Table usar" pertence a
$specsfy-specialist-shadcn-ui/$specsfy-specialist-react-ui-components.
Validação
- Rodar o build de produção e inspecionar se alguma classe esperada está ausente do CSS final (sinal de classe não detectável estaticamente).
- Testar em viewports pequenos e grandes, com container real quando o
componente usar
@container, em zoom 200% e 400% (reflow a 320px de largura equivalente), sem perda de conteúdo ou scroll horizontal indesejado. - Percorrer
hover,focus-visible,disabled,loading,erroreselectedvisualmente e por teclado. - Checar contraste nos temas claro e escuro, e o comportamento com
prefers-reduced-motion/forced-colorsativados no sistema operacional. - Não declarar um componente "responsivo" ou "acessível" apenas por ter
classes
sm:/dark:presentes; a evidência acima é obrigatória antes da afirmação.
Skills relacionadas
$specsfy-specialist-reuipara composições React e Tailwind do catálogo gratuito.$specsfy-specialist-shadcn-uipara o sistema de componentes construído sobre Tailwind + Radix; este especialista cobre o token/utilitário que o sustenta.$specsfy-specialist-react,$specsfy-specialist-nextjse$specsfy-specialist-astrofornecem o componente/framework onde as classes Tailwind são aplicadas; esta skill não decide estrutura de componente nem fronteira server/client.$specsfy-specialist-typescripttipa variantescvaquando o projeto expõe props de estilo fortemente tipadas.$specsfy-specialist-react-ui-componentse$specsfy-specialist-ui-designpara a escolha e composição visual da página.$specsfy-specialist-web-accessibilitypara contraste, zoom, reflow eprefers-reduced-motionem profundidade.
Leia references/standards.md para camadas de
tokens, variantes, @container, detecção de classes e migração entre
versões, com fontes oficiais.
Signals
- GitHub stars
- 79
- Forks
- 37
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
specsfy-specialist-tailwind-css- Source
- github.com/promovaweb/specsfy