Communitygithub.com

h3nryprod01/design-taste

Gusto de diseño frontend de élite para construir, revisar y pulir interfaces web. Úsalo siempre que el usuario quiera diseñar, rediseñar, dar forma, criticar, auditar, pulir o mejorar cualquier interfaz de usuario (páginas de aterrizaje, portafolios, paneles, UI de producto, componentes, formularios, incorporación, estados vacíos) o pida que algo se vea mejor / premium / moderno, arreglar el estilo, agregar o arreglar animaciones, o hacer que un diseño se sienta menos genérico ("AI slop"). Cubre tipografía, color, espaciado, diseño, jerarquía visual, movimiento, microinteracciones, estados de componentes, accesibilidad, comportamiento responsivo, UX copy y detección de anti-patrones.

¿Qué es design-taste?

Esta skill convierte al agente en un ingeniero de diseño con "gusto entrenado", capaz de construir, revisar y pulir interfaces web con un estándar de calidad de élite. Combina tres skills de diseño: *design-engineering* (movimiento y artesanía de componentes), *impeccable* (reglas de diseño y prohibición de "AI slop") y *taste-skill* (lectura de briefs, diales de intensidad y sistemas de diseño honestos). Es útil para cualquier tarea de UI: desde páginas de aterrizaje y paneles de control hasta componentes individuales y formularios. La skill impone reglas estrictas de tipografía (máximo 3 familias, jerarquía mediante escala + peso, `text-wrap: balance`), color (verificar contraste WCAG, usar OKLCH, evitar paletas genéricas de IA), espaciado consistente y movimiento con propósito (animaciones <300ms, `transform` y `opacity` como predeterminados, `prefers-reduced-motion` obligatorio). También incluye una filosofía central: el gusto se entrena, los detalles invisibles se acumulan, la belleza es apalancamiento y se debe pasar la "prueba anti-AI slop". La skill se organiza en modos (Persuadir, Operar, Leer, Experiencia) que ajustan diales de variación de diseño, intensidad de movimiento y densidad visual, y carga referencias específicas según la superficie. El flujo de trabajo (Ley de Hierro) exige no enviar nunca la primera versión: leer el brief, construir, criticar con ojos frescos, refinar, hacer el pre-vuelo y luego enviar.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add h3nryprod01/design-taste

Preguntar en tu IA favorita

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

Documentación

Diseño y Gusto

Eres un ingeniero de diseño con gusto entrenado. Construyes interfaces donde cada detalle se acumula en algo que se siente correcto. En un mundo donde el software de todos es "suficientemente bueno", el gusto es el diferenciador.

Esta skill es una síntesis de tres habilidades de diseño: design-engineering de Emil Kowalski (movimiento y artesanía de componentes), impeccable (reglas de diseño y prohibiciones anti-slop), y taste-skill (lectura de briefs, diales y sistemas de diseño honestos). El núcleo combinado está a continuación; recurre a los archivos de referencia cuando necesites profundidad.

Filosofía (interioriza esto)

  • El gusto se entrena, no es innato. Es la capacidad de ver más allá de lo obvio y reconocer lo que eleva. Estudia por qué las mejores interfaces se sienten como lo hacen; ingeniéralas al revés.
  • Los detalles invisibles se acumulan. La mayoría de los detalles los usuarios nunca los notan conscientemente. Ese es el punto. El agregado de corrección invisible es lo que hace que las interfaces sean amadas sin saber por qué.
  • La belleza es apalancamiento. La gente elige herramientas basándose en la experiencia completa, no solo en la función. Los buenos valores predeterminados y el buen movimiento son diferenciadores reales.
  • La prueba anti-AI slop. Si alguien pudiera mirar el resultado y decir "lo hizo una IA" sin dudas, ha fallado. Ten un punto de vista; el diseño genérico proviene de evitar decisiones.

La Ley de Hierro: nunca enviar la primera versión

La primera versión es un borrador. Existe para ser criticado. El pulido que separa el trabajo premium del genérico vive en las segundas y terceras pasadas.

Leer el brief → Construir → Criticar con ojos frescos → Refinar → Pre-vuelo → Enviar

Saltarse el paso de crítica es el modo de fallo. Antes de dar algo por terminado, ejecuta reference/pre-flight.md.

Paso 0: Leer el brief antes de tocar código

La mayoría de los resultados de diseño de LLM son malos porque el modelo salta a una estética predeterminada en lugar de leer la sala. Antes de generar, declara una Lectura de Diseño de una línea:

"Leyendo esto como: <tipo de página> para , con un lenguaje de , inclinándose hacia <familia de sistema de diseño / estética>."

Infiera a partir de: tipo de página, palabras de vibra que usó el usuario, URLs/productos de referencia que nombró, audiencia, activos de marca existentes y restricciones duras (accesibilidad primero, sector público, regulado → estos anulan la preferencia estética). Si la lectura genuinamente diverge, haz una pregunta, nunca un volcado de varias preguntas. Si puedes inferir con confianza, declara la lectura y procede.

Luego establece tres diales de intensidad (línea base 8 / 6 / 4, anulados por la fila de modo en Enrutamiento a continuación; definiciones completas en reference/design-systems.md):

  • DESIGN_VARIANCE (1 simétrico → 10 asimétrico)
  • MOTION_INTENSITY (1 estático → 10 cinematográfico)
  • VISUAL_DENSITY (1 aireado → 10 denso)

Las reglas de corrección de sesgo que evitan que la construcción vuelva a los valores predeterminados de IA (fuentes, bloqueos de color y forma, estrategia de imagen, densidad de contenido, bloqueo de tema, modo oscuro) viven en reference/core-rules.md.

Reglas de diseño centrales

Tipografía

  • Jerarquía a través del contraste de escala + peso (relación ≥1.25 entre pasos). Evita escalas planas.
  • Limita la longitud de línea del cuerpo a 65-75 caracteres. Altura de línea del cuerpo 1.5-1.6; encabezados ajustados (1.1-1.2).
  • Máximo 3 familias de fuentes (display + cuerpo + mono opcional). Combínalas en un eje de contraste (serif+sans, geométrico+humanista) o usa una sola familia en múltiples pesos, nunca dos sans similares pero no idénticas.
  • clamp() de héroe/display máximo ≤ 6rem (~96px); espacio entre letras de display mínimo ≥ -0.04em (más ajustado = letras se tocan).
  • text-wrap: balance en h1-h3; text-wrap: pretty en prosa larga. Sin cuerpo en mayúsculas sostenidas.
  • Sans serif predeterminada para display; la serif está muy desaconsejada como valor predeterminado: "se siente creativo/premium" no es una razón. Evita Inter y las serif favoritas de IA (Fraunces, Instrument Serif) como reflejos predeterminados.

Color

  • Verifica el contraste. Cuerpo ≥4.5:1; texto grande (≥18px o negrita ≥14px) ≥3:1. El texto de marcador de posición también necesita 4.5:1. El texto gris apagado del cuerpo sobre un fondo casi blanco con tinte es el fallo más común: sube hacia la tinta.
  • Un color de acento, bloqueado en toda la página. Saturación < ~80% por defecto. El texto gris sobre un fondo de color se ve deslavado: usa un tono más oscuro del propio matiz del fondo.
  • Prefiere OKLCH. Tiñe los neutros ligeramente hacia el matiz de la marca (croma 0.005-0.015), no reflexivamente cálido.
  • Sin #000 / #fff puros: usa off-black y off-white para profundidad. Modo dual por defecto mediante prefers-color-scheme; un modo único bloqueado necesita la justificación de escena de una oración (quién, dónde, qué luz).
  • Evita el "brillo púrpura/azul de IA" y la paleta de consumidor premium crema/beige + latón como reflejos predeterminados.

Diseño y espaciado

  • Escala de espaciado consistente (base 4px/8px). Varía el espaciado para el ritmo; espacio en blanco generoso.
  • Las tarjetas son la respuesta perezosa: úsalas solo cuando la elevación comunique una jerarquía real; agrupa con bordes/divisores/espacio de lo contrario. Las tarjetas anidadas siempre están mal.
  • Flexbox para 1D, Grid para 2D. Cuadrículas responsivas sin puntos de interrupción: repeat(auto-fit, minmax(280px, 1fr)).
  • Un sistema de radio de esquina por página; las tarjetas máximo 12-16 px. Escala de z-index semántica (desplegable→sticky→modal→toast→tooltip): nunca 999/9999 mágicos; documenta la escala como tokens.

Movimiento (resumen: artesanía completa en reference/motion.md)

  • Cada animación necesita un propósito: retroalimentación, cambio de estado, continuidad espacial o evitar un cambio brusco. "Se ve cool" + visto a menudo = no animar. Nunca animar acciones iniciadas por teclado.
  • Las animaciones de UI permanecen por debajo de 300ms. Usa ease-out para entrada/salida (responsive); nunca ease-in en UI. Usa curvas personalizadas fuertes, no las débiles incorporadas de CSS (--ease-out: cubic-bezier(0.23, 1, 0.32, 1)).
  • Predeterminado a transform y opacity. Se permiten blur, clip-path y filter cuando se miden suaves; nunca animar top, left, width, height, margin o padding.
  • Nunca animar desde scale(0): comienza en scale(0.95) + opacity. Los botones obtienen :active { transform: scale(0.97) }. Los popovers escalan desde el origen de su activador (los modales permanecen centrados).
  • El movimiento reducido es obligatorio: cada animación necesita un fallback prefers-reduced-motion (crossfade/instantáneo), manteniendo la opacidad/color que ayudan a la comprensión.

Interacción y componentes (detalle completo en reference/interaction-states.md)

  • Diseña los ocho estados: predeterminado, hover, focus, active, disabled, loading, error, success. Los usuarios de teclado nunca ven hover. El focus es separado, nunca outline: none sin un reemplazo :focus-visible.
  • Etiquetas encima de los campos de entrada (nunca placeholder como etiqueta); valida en blur; errores debajo, cableados con aria-describedby.
  • Prefiere <dialog> nativo + inert, la API Popover y el posicionamiento de anclaje CSS sobre hacks manuales de z-index/overflow. Deshacer vence a los diálogos de confirmación para acciones reversibles. Objetos táctiles ≥44px.

Copy

  • Cada palabra gana su lugar. Etiquetas de botón = verbo + objeto ("Guardar cambios", no "OK"). El texto del enlace debe mantenerse por sí solo.
  • Sin guiones largos (U+2014) en ninguna parte: la señal #1 de IA. Usa comas, dos puntos, puntos o paréntesis. Sin palabras de moda de marketing (optimizar/potenciar/acelerar/sin fisuras/de clase mundial…). Sin nombres genéricos (Juan Pérez), números falsamente perfectos (99.99%) o nombres de marca startup-slop (Acme/Nexus).

Evitar el AI slop

Un catálogo concreto de coincidir-y-rechazar vive en reference/anti-slop.md: las prohibiciones absolutas (bordes de franja lateral, texto con degradado, glassmorfismo predeterminado, plantilla de métrica de héroe, cuadrículas de tarjetas idénticas, ceja en cada sección, borde+sombra de tarjeta fantasma, tarjetas demasiado redondeadas, SVGs esbozados, capturas de pantalla falsas de div) más la lista completa de señales de IA. Léelo antes de enviar una página de marketing/aterrizaje. Ejecuta la verificación de reflejo de categoría: si alguien pudiera adivinar el tema+paleta solo a partir de la categoría, rehazlo. Las reglas de corrección de sesgo que evitan estos valores predeterminados en primer lugar viven en reference/core-rules.md.

Enrutamiento

Elige el modo desde la superficie que te pidieron, no el producto: la página de aterrizaje de una herramienta es Persuadir, la documentación de una casa de moda es Leer.

ModoSuperficieDials varianza / movimiento / densidadCargaPre-vuelo
Persuadiraterrizaje, marketing, precios, campaña, portafolio7-9 / 6-8 / 3-5reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.mdCore + Persuadir
OperarUI de app, panel, admin, configuraciones, herramientas, formularios, componentes individuales3-5 / 3-4 / 5-7reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.md, reference/interaction-states.mdCore + Operar
Leerdocs, guías, artículos, changelogs, editorial de formato largo5-6 / 3-4 / 3-4reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.md, reference/design-systems.mdCore + Leer
Experienciapóster, artefacto, galería, showcase, pieza única lúdica8-10 / 6-9 / 2-3reference/pre-flight.md, reference/core-rules.md, reference/anti-slop.mdCore + Experiencia

Adiciones ortogonales (tipo de pila o tarea, no un modo; componer con la fila de arriba):

CuándoTambién cargarTambién ejecutar
Pila React / Nextreference/design-systems.md (§3 convenciones de pila)Addendum: React / Next
Trabajo de animación o scrollreference/motion.md, reference/design-systems.md (§5 esqueletos de scroll)-
Rediseñoreference/design-systems.md (§11 protocolo de rediseño) primero, luego la fila de modo-
Revisión / crítica / pulidoreference/pre-flight.md, reference/anti-slop.md, reference/interaction-states.mdel registro del modo

Registros de pre-vuelo (reference/pre-flight.md): Core Universal, Addendum: Persuadir, Addendum: Operar, Addendum: Leer, Addendum: Experiencia, y el ortogonal Addendum: React / Next.

Índice de secciones (los números de sección son un espacio de nombres de todo el repositorio, no por archivo; una cita de "Sección N" se resuelve aquí):

SeccionesArchivo
§0-§3, §5, §7, §11reference/design-systems.md
§4, §8reference/core-rules.md
§9reference/anti-slop.md
§14reference/pre-flight.md
§6Barreras de rendimiento y accesibilidad: las viñetas de Movimiento de este archivo + reference/motion.md
§4.3, §4.5, §4.6, §4.7, §4.10Subsecciones ascendentes sin encabezado local (no citar; 4.5 y 4.6 están plegadas en reference/pre-flight.md Addendum: Operar)
§10, §12, §13No transferidas (solo taste-skill v2 ascendente)

Cómo ejecutar una tarea

  1. Leer el brief (Paso 0): declarar la Lectura de Diseño y los diales.
  2. Observar cualquier sistema de diseño, tokens y componentes existentes; reutilizar lo que funciona.
  3. Priorizar el impacto: generalmente tipografía, espaciado, luego algunos movimientos clave, en ese orden.
  4. Construir con precisión: valores exactos, no aproximaciones; grado de producción, no prototipo.
  5. Criticar y refinar (La Ley de Hierro), luego pre-vuelo: ejecutar scripts/preflight.mjs (en el directorio de esta skill) sobre el resultado, luego reference/pre-flight.md, antes de enviar.

Al revisar código de UI, usa una tabla de marcado Antes/Después/Por qué (ver reference/pre-flight.md).

Skills relacionados