Communitygithub.com

Conselheiro de Stack de UI

Conhecimento curado e atualizado sobre bibliotecas de componentes de UI, animação e blocos de construção (ícones, gráficos, tabelas, formulários, toasts, drag-and-drop, virtualização, rich text) para web (React, Next.js, Vue, Svelte, Solid, Angular) e mobile (React Native/Expo, Flutter, SwiftUI, Jetpack Compose), com um processo de decisão para escolher a ideal. Use esta skill sempre que um projeto estiver sendo iniciado ou scaffoldado, quando o usuário perguntar 'qual biblioteca de UI / kit de componentes devo usar', comparar bibliotecas (shadcn vs MUI vs Mantine, Tamagui vs NativeWind, etc.), precisar de um widget específico (date picker, data table, command palette, carrossel, bottom sheet, gráfico), quiser 'componentes animados legais', ou quando você estiver prestes a criar manualmente um componente que uma biblioteca madura já resolve bem.

O que é Conselheiro de Stack de UI?

Esta skill fornece um processo estruturado para selecionar a stack de UI ideal para um novo projeto de desenvolvimento, abrangendo web (React, Next.js, Vue, Svelte, Solid, Angular) e mobile (React Native/Expo, Flutter, SwiftUI, Jetpack Compose). Ela ajuda a evitar a armadilha comum de escolher bibliotecas impulsivamente ou reinventar a roda para componentes complexos. A skill orienta o usuário através de cinco perguntas-chave sobre plataforma, propriedade do código, tipo de produto, requisitos de acessibilidade e sistema de estilização, e então oferece recomendações padrão baseadas no cenário, como shadcn/ui para React/Next.js, Nuxt UI para Vue, ou SwiftUI para iOS nativo. Além disso, ela inclui verificações de atualização para garantir que as bibliotecas não estejam desatratadas ou depreciadas, e alerta contra anti-padrões comuns, como misturar múltiplas bibliotecas de componentes ou implementar manualmente widgets complexos sem primitivas acessíveis. Ao final, recomenda registrar a decisão tomada para referência futura.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TomasValleDuran/pomos-skillzzeria/tree/HEAD/plugins/skillzzeria/skills/ui-stack-advisor

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Conselheiro de Stack de UI faz?

Escolher a stack é a decisão de UI de maior alavancagem em um projeto: ela fixa a qualidade de acessibilidade, a flexibilidade de temas, o tamanho do bundle e o quão "modelado" o resultado parece. Faça a escolha deliberadamente, uma vez, e documente-a.

Snapshot de conhecimento: Novembro de 2026. Bibliotecas evoluem rápido — antes de instalar, confirme a versão principal atual e a API (consulte Verificação de atualização). Prefira o que já está no projeto a qualquer coisa listada aqui.

Etapa 1 — Leia o projeto primeiro

Verifique package.json / pubspec.yaml / Package.swift / build.gradle por libs de UI existentes, estilização (versão do Tailwind, CSS-in-JS), versão do framework e quaisquer components.json (shadcn), DESIGN.md, ou arquivos de tokens. Não introduza uma segunda biblioteca de componentes ao lado de uma existente — estenda a existente ou encapsule-a. Se o projeto já usa um concorrente de uma recomendação aqui, mencione-o, mas não troque dependências sem ser solicitado.

Etapa 2 — Responda a cinco perguntas

  1. Plataforma(s): somente web, somente mobile, ou ambas a partir de uma base de código?
  2. Propriedade: código copiado que você possui e pode reestilizar livremente (modelo shadcn) vs. uma dependência versionada com uma API de tema (modelo MUI/Mantine)? Copiado = máxima liberdade de design + você faz a manutenção. Dependência = mais rápido, consistente, atualizações gratuitas, mais difícil de se destacar.
  3. Tipo de produto: marketing/landing page (expressivo, com muito movimento), produto UI/dashboard (denso, consistente, amigável ao teclado), conteúdo (foco em tipografia), aplicativo mobile para consumidor (aparência nativa, gestos).
  4. Nível de acessibilidade: setor público / empresarial / UE (Lei Europeia de Acessibilidade) → escolha primitivas com acessibilidade comprovada (React Aria, Base UI, Radix) e não crie widgets interativos manualmente.
  5. Sistema de estilização: Tailwind v4 (padrão para novos projetos web), CSS Modules/vanilla-extract, ou CSS-in-JS; no RN: NativeWind vs Unistyles vs Tamagui.

Etapa 3 — Escolhas padrão (quando nada mais restringe)

SituaçãoPadrãoPor quê
UI de produto React/Next.jsshadcn/ui (primitivas Base UI — o padrão desde julho de 2026; Radix e React Aria também são suportados) + Tailwind v4Você possui o código, ótima acessibilidade, ecossistema enorme de registries, ferramentas de IA o conhecem bem
React, widgets com acessibilidade crítica / complexos (intervalos de datas, comboboxes, drag & drop, i18n)React Aria Components (ou a variante React Aria do shadcn / HeroUI v3, que é construída sobre ele)Comportamento de acessibilidade + i18n mais rigoroso
React, completo, sem TailwindMantine100+ componentes + hooks + formulários + datas, documentação robusta
React, visual empresarial/Material ou grades de dados pesadasMUI v9 (+ MUI X Data Grid/Date Pickers/Charts)Maduro, completo; mais difícil de se destacar
Admin empresarial (especialmente equipes CN/APAC)Ant DesignConjunto enorme de componentes, padrões densos em dados
Vue / NuxtNuxt UI v4 (gratuito, construído sobre Reka UI + Tailwind v4) ou shadcn-vue
Svelte / SvelteKitshadcn-svelte (sobre Bits UI)
SolidKobalte / solid-ui (port do shadcn) / Ark UI
AngularSpartan UI (semelhante ao shadcn) ou Angular Material / PrimeNG
Primitivas agnósticas de frameworkArk UI (máquinas de estado Zag.js; React/Vue/Solid/Svelte)
Estilo para marketing / landing pageshadcn + Motion + peças selecionadas de Magic UI / Aceternity / Animate UI / React BitsUse 1–3 efeitos marcantes, não uma colagem
React Native / Expo (novo app)Expo + Expo Router + NativeWind v5 + React Native Reusables (shadcn para RN) ou HeroUI Native; @expo/ui para controles verdadeiramente nativos SwiftUI/Compose; Reanimated 4 + Gesture Handler para movimento
React Native, foco em desempenho estilo StyleSheetUnistyles 3 + seus próprios componentes
React Native + web a partir de uma base de códigoTamagui (compilador, universal) ou Expo + NativeWind com react-native-web
FlutterMaterial 3 (integrado) / Cupertino; forui ou shadcn_ui para uma aparência não-Material
iOS nativoComponentes de sistema SwiftUI (Liquid Glass no iOS 26+ vem de graça com controles padrão)Resista o mínimo possível à plataforma
Android nativoJetpack Compose Material 3 (APIs Expressivas na linha material3 1.5)

Detalhes, alternativas e trade-offs por plataforma estão nas referências — leia a que corresponde:

  • references/web-react.md — Primitivas React, kits estilizados, ecossistema shadcn e registries, ferramentas Tailwind
  • references/web-other.md — Vue, Svelte, Solid, Angular, Astro, HTML simples / componentes web
  • references/mobile.md — React Native/Expo, Flutter, SwiftUI, Compose, Kotlin Multiplatform
  • references/motion.md — Bibliotecas de animação por plataforma e quando CSS/nativo é suficiente
  • references/building-blocks.md — Ícones, fontes, gráficos, tabelas, formulários, toasts, datas, DnD, virtualização, editores, menus de comando, carrosséis, mapas, 3D
  • references/inspiration.md — Onde procurar referências (Mobbin, Refero, etc.) e ferramentas de design com IA

Etapa 4 — Registre a decisão

Escreva a escolha no projeto (DESIGN.md ou seção "Stack de UI" do README): biblioteca + versão, abordagem de estilização, conjunto de ícones, biblioteca de movimento, fonte e por quê. Sessões futuras (e outros agentes) a lerão em vez de redecidir.

Verificação de atualização (faça isso antes de instalar)

npm view <pkg> version time.modified repository.url   # versão atual + última publicação
npm view <pkg> deprecated                               # aviso de depreciação, se houver
# Flutter: https://pub.dev/packages/<pkg> (likes, pub points, última publicação)
# Swift: verifique a tag de versão mais recente do repositório

Sinais para evitar uma biblioteca: nenhum lançamento em 12+ meses com problemas críticos abertos, README diz "não mantido/arquivado", dependências pares fixadas em React/RN antigo, sem tipos TypeScript, problemas de acessibilidade ignorados. Exemplos conhecidos de aposentados/em risco: react-beautiful-dnd (depreciado → use @atlaskit/pragmatic-drag-and-drop ou dnd kit), @base-ui-components/react (renomeado → @base-ui/react), APIs Chakra v2 (v3 é uma reescrita em Ark UI/Panda), APIs de gesto Reanimated 2/3 (useAnimatedGestureHandler removido no v4).

Se MCPs de documentação estiverem disponíveis (ex.: Context7, shadcn MCP, o Figma MCP para consultas de design system), use-os para ler a documentação atual em vez de confiar na memória.

Anti-padrões

  • Duas bibliotecas de componentes em um mesmo aplicativo (MUI + shadcn) → foco, espaçamento e temas inconsistentes.
  • Criar manualmente diálogos, menus, comboboxes, date pickers, toasts, tooltips → bugs de acessibilidade (focus trap, escape, aria, scroll lock, colisão). Use primitivas.
  • Instalar uma biblioteca de "componentes animados" por completo → copie apenas as 1–3 peças que você precisa.
  • Usar um kit de UI web dentro do React Native via webviews, ou forçar componentes Material em usuários iOS.
  • Deixar o tema padrão da biblioteca intacto → o problema de "todo app shadcn parece igual". Altere no mínimo: fonte, raio, cor de destaque, temperatura neutra e densidade (consulte as skills design-system-builder e color-theory).

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

TomasValleDuran/color-theory

Color theory and palette engineering for UI on any platform (web, iOS, Android, Flutter, React Native). Choose and derive brand palettes, build tonal ramps, tinted neutrals and status colors, map them to light/dark semantic tokens, and verify contrast (WCAG 2.2 + APCA) and color-blind safety with a bundled zero-dependency OKLCH tool. Use this whenever the user picks, generates, critiques or fixes colors — "what colors should I use", brand color, palette, color scheme, theme, dark mode colors, accent, gradient, "this looks dull/garish", contrast problems, color-blind friendliness, or turning one hex into a full system — even if they don't say "color theory".

TomasValleDuran/design-system-builder

Create, extend, or audit a design system for any project and platform — design tokens (color, typography, spacing, radius, elevation, motion, breakpoints), token architecture (primitive → semantic → component), the W3C DTCG token format, theming (light/dark, brands, density), multi-platform output (CSS variables, Tailwind v4 @theme, React Native, Flutter, SwiftUI, Compose), component API conventions, documentation (DESIGN.md, Storybook) and governance. Use this whenever the user starts a new app and needs a visual foundation, says "design system", "design tokens", "theme", "style guide", "UI kit", "make it consistent", "set up Tailwind theme", wants to unify inconsistent UI, extract tokens from existing code or Figma, support dark mode or multiple brands, or share styles between web and mobile.

TomasValleDuran/ui-ux-playbook

The entry point for any UI/UX work on web or mobile — the end-to-end workflow (brief → direction → system → stack → build → motion → verify), industry standards and best practices (WCAG 2.2, Apple HIG, Material 3, Nielsen heuristics, Laws of UX, Core Web Vitals, forms, navigation, states, i18n), a pre-ship UI checklist, and a routing map telling you which specialized design/animation/color/library skill to load for each sub-task. Use this whenever you start or plan a frontend or mobile app, build or redesign screens, review UI/UX quality, answer "what's the best practice for X" in interface design, or when several design skills could apply and you need to decide which.

Habilidades Relacionadas