Communitygithub.com

TomasValleDuran/ui-stack-advisor

Conocimiento curado y actualizado de bibliotecas de componentes UI, animación y bloques de construcción (iconos, gráficos, tablas, formularios, notificaciones, arrastrar y soltar, virtualización, texto enriquecido) para web (React, Next.js, Vue, Svelte, Solid, Angular) y móvil (React Native/Expo, Flutter, SwiftUI, Jetpack Compose), con un proceso de decisión para elegir uno. Úsalo cada vez que se inicie o escale un proyecto, cuando el usuario pregunte "qué biblioteca UI / librería de componentes / kit de diseño debería usar", compare bibliotecas (shadcn vs MUI vs Mantine, Tamagui vs NativeWind, etc.), necesite un widget específico (selector de fecha, tabla de datos, paleta de comandos, carrusel, hoja inferior, gráfico), quiera "componentes animados chulos", o cuando estés a punto de construir un componente desde cero que una biblioteca madura ya resuelva bien.

¿Qué es ui-stack-advisor?

Esta habilidad proporciona un proceso estructurado y basado en decisiones para seleccionar la pila de UI óptima para cualquier proyecto de desarrollo web o móvil. Cubre desde bibliotecas de componentes de alta calidad (shadcn, Mantine, MUI, Ant Design) hasta bibliotecas de animación (Motion, Reanimated) y bloques de construcción esenciales (iconos, gráficos, formularios, tablas, etc.). Su objetivo es evitar la fatiga de decisión, la deuda técnica y los errores de accesibilidad al elegir una pila, guiando al usuario a través de cinco preguntas clave (plataforma, modelo de propiedad, tipo de producto, nivel de accesibilidad y sistema de estilo) y ofreciendo recomendaciones por defecto para cada combinación de framework y caso de uso. La habilidad también incluye consejos para evitar antipatrones comunes, como usar dos bibliotecas de componentes en una misma aplicación o construir widgets complejos desde cero sin considerar la accesibilidad. Es compatible con React, Vue, Svelte, Solid, Angular, React Native/Expo, Flutter, SwiftUI y Jetpack Compose, y referencia documentos detallados para cada plataforma. Además, proporciona una guía de verificación de frescura para confirmar que los paquetes no estén obsoletos o en riesgo, y recomienda el uso de herramientas MCP para acceder a la documentación más reciente.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Asesor de Pila UI

Elegir la pila es la decisión de UI con mayor apalancamiento en un proyecto: determina la calidad de accesibilidad, la flexibilidad de temas, el tamaño del bundle y cuán "plantillado" se ve el resultado. Tómate el tiempo para decidir deliberadamente, una vez, y escríbelo.

Instantánea de conocimiento: noviembre de 2026. Las bibliotecas evolucionan rápido — antes de instalar, confirma la versión mayor y API actuales (ver Verificación de frescura). Prefiere lo que ya está en el proyecto por encima de lo listado aquí.

Paso 1 — Lee primero el proyecto

Revisa package.json / pubspec.yaml / Package.swift / build.gradle en busca de bibliotecas UI existentes, sistema de estilo (versión de Tailwind, CSS-in-JS), versión del framework y cualquier archivo components.json (shadcn), DESIGN.md o archivos de tokens. No introduzcas una segunda biblioteca de componentes junto a una existente — extiende la existente o envuélvela. Si el proyecto ya usa un competidor de alguna recomendación aquí, menciónalo pero no cambies dependencias sin que te lo pidan.

Paso 2 — Responde cinco preguntas

  1. Plataforma(s): solo web, solo móvil, o ambas desde un solo código base.
  2. Propiedad: fuente copiada que posees y puedes reestilizar libremente (modelo shadcn) vs. una dependencia versionada con una API de temas (modelo MUI/Mantine). Copiar = máxima libertad de diseño + tú la mantienes. Dependencia = más rápida, consistente, actualizaciones gratuitas, más difícil de hacerla distintiva.
  3. Tipo de producto: marketing/landing (expresivo, con mucho movimiento), producto UI/dashboard (denso, consistente, amigable con el teclado), contenido (tipografía primero), app móvil de consumo (sensación nativa, gestos).
  4. Nivel de accesibilidad: sector público / empresa / UE (Ley de Accesibilidad Europea) → elige primitivas con accesibilidad probada (React Aria, Base UI, Radix) y no construyas widgets interactivos desde cero.
  5. Sistema de estilo: Tailwind v4 (predeterminado para nuevos proyectos web), CSS Modules/vanilla-extract, o CSS-in-JS; en RN: NativeWind vs Unistyles vs Tamagui.

Paso 3 — Opciones por defecto (cuando nada más condiciona)

SituaciónOpción por defectoPor qué
React/Next.js producto UIshadcn/ui (primitivas Base UI — la opción por defecto desde julio de 2026; Radix y React Aria también compatibles) + Tailwind v4Tú posees el código, gran accesibilidad, enorme ecosistema de registros, las herramientas de IA lo conocen bien
React, widgets críticos para accesibilidad / complejos (rangos de fecha, comboboxes, arrastrar y soltar, i18n)React Aria Components (o la variante React Aria de shadcn / HeroUI v3, que se basa en ella)Comportamiento más riguroso de accesibilidad + i18n
React, con todo incluido, sin TailwindMantineMás de 100 componentes + hooks + formularios + fechas, documentación sólida
React, aspecto enterprise/Material o cuadrículas de datos pesadasMUI v9 (+ MUI X Data Grid/Date Pickers/Charts)Maduro, completo; más difícil de hacerlo distintivo
Admin empresarial (especialmente equipos CN/APAC)Ant DesignConjunto enorme de componentes, patrones densos en datos
Vue / NuxtNuxt UI v4 (gratuito, construido sobre Reka UI + Tailwind v4) o shadcn-vue
Svelte / SvelteKitshadcn-svelte (sobre Bits UI)
SolidKobalte / solid-ui (port shadcn) / Ark UI
AngularSpartan UI (similar a shadcn) o Angular Material / PrimeNG
Primitivas agnósticas del frameworkArk UI (máquinas de estado Zag.js; React/Vue/Solid/Svelte)
Marketing / landing page con estiloshadcn + Motion + piezas seleccionadas de Magic UI / Aceternity / Animate UI / React BitsUsa 1–3 efectos distintivos, no un collage
React Native / Expo (app nueva)Expo + Expo Router + NativeWind v5 + React Native Reusables (shadcn para RN) o HeroUI Native; @expo/ui para controles verdaderamente nativos SwiftUI/Compose; Reanimated 4 + Gesture Handler para movimiento
React Native, enfoque en rendimiento estilo StyleSheetUnistyles 3 + tus propios componentes
React Native + web desde un solo código baseTamagui (compilador, universal) o Expo + NativeWind con react-native-web
FlutterMaterial 3 (incorporado) / Cupertino; forui o shadcn_ui para un look no Material
iOS nativoSwiftUI componentes del sistema (Liquid Glass en iOS 26+ viene gratis con los controles estándar)Pelea contra la plataforma lo menos posible
Android nativoJetpack Compose Material 3 (APIs expresivas en la línea material3 1.5)

Los detalles, alternativas y compensaciones por plataforma viven en las referencias — lee la que coincida:

  • references/web-react.md — Primitivas React, kits con estilo, ecosistema shadcn y registros, herramientas Tailwind
  • references/web-other.md — Vue, Svelte, Solid, Angular, Astro, HTML plano/componentes web
  • references/mobile.md — React Native/Expo, Flutter, SwiftUI, Compose, Kotlin Multiplatform
  • references/motion.md — Bibliotecas de animación por plataforma y cuándo CSS/nativo es suficiente
  • references/building-blocks.md — Iconos, fuentes, gráficos, tablas, formularios, notificaciones, fechas, DnD, virtualización, editores, menús de comandos, carruseles, mapas, 3D
  • references/inspiration.md — Dónde buscar referencias (Mobbin, Refero, etc.) y herramientas de diseño con IA

Paso 4 — Registra la decisión

Escribe la elección en el proyecto (DESIGN.md o sección "Pila UI" del README): biblioteca + versión, enfoque de estilo, conjunto de iconos, biblioteca de movimiento, fuente y por qué. Las sesiones futuras (y otros agentes) lo leerán en lugar de volver a decidir.

Verificación de frescura (haz esto antes de instalar)

npm view <pkg> version time.modified repository.url   # versión actual + última publicación
npm view <pkg> deprecated                               # aviso de obsoleto, si lo hay
# Flutter: https://pub.dev/packages/<pkg> (me gusta, puntos pub, última publicación)
# Swift: revisa el tag de la última release en el repositorio

Señales para evitar una biblioteca: sin lanzamiento en 12+ meses con problemas críticos abiertos, README dice "no mantenido/archivado", dependencias pares fijadas a React/RN antiguo, sin tipos TypeScript, problemas de accesibilidad ignorados. Ejemplos conocidos retirados/en riesgo: react-beautiful-dnd (obsoleto → usa @atlaskit/pragmatic-drag-and-drop o dnd kit), @base-ui-components/react (renombrado → @base-ui/react), APIs de Chakra v2 (v3 es una reescritura sobre Ark UI/Panda), APIs de gestos de Reanimated 2/3 (useAnimatedGestureHandler eliminado en v4).

Si hay MCPs de documentación disponibles (por ejemplo, Context7, shadcn MCP, el Figma MCP para consultas de sistema de diseño), úsalos para leer la documentación actual en lugar de confiar en la memoria.

Antipatrones

  • Dos bibliotecas de componentes en una misma app (MUI + shadcn) → enfoque, espaciado y tematización inconsistentes.
  • Construir desde cero diálogos, menús, comboboxes, selectores de fecha, notificaciones, tooltips → errores de accesibilidad (trampa de foco, escape, aria, bloqueo de desplazamiento, colisión). Usa primitivas.
  • Instalar una biblioteca de "componentes animados" completa → copia solo las 1–3 piezas que necesitas.
  • Usar un kit UI web dentro de React Native mediante webviews, o forzar componentes Material en usuarios iOS.
  • Dejar el tema predeterminado de la biblioteca sin tocar → el problema de "todas las apps shadcn se ven igual". Cambia como mínimo: fuente, radio, color de acento, temperatura neutra y densidad (consulta las habilidades de design-system-builder y 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.

Skills relacionados