Ley de Hierro
NO HAY SALIDA DE UI SIN COMPLETAR PRIMERO LA FASE DE PENSAMIENTO DE DISEÑO — define Propósito, Tono (una dirección) y Anclaje de Diferenciación antes de escribir una sola línea de código. La puntuación DFII debe ser ≥ 8 para proceder.
Habilidad de Diseño Frontend
Propósito
Proporciona metodología de diseño frontend creativo, principios visuales y listas de verificación de calidad para construir interfaces distintivas y de grado de producción que eviten la estética genérica de IA.
Proceso
- Fase de Pensamiento de Diseño (obligatoria — no saltar)
- Definir Propósito: ¿qué acción permite esta interfaz? ¿Es persuasiva, funcional, exploratoria o expresiva?
- Definir Tono: elige UNA dirección dominante (Brutalista / Editorial / Lujo / Retro-futurista / Industrial / Orgánica / Juguetona / Maximalista / Minimalista). No mezcles más de dos.
- Definir Anclaje de Diferenciación: responde "Si esto se capturara de pantalla sin el logotipo, ¿cómo lo reconocería alguien?" Esto debe ser visible en la UI final.
- Puntuar DFII — calcular el Índice de Viabilidad e Impacto del Diseño (ver abajo). Puntuación < 8 → repensar la dirección antes de proceder.
- Cargar principios -- Lee
reference/frontend-design-principles.mdpara obtener orientación sobre tipografía, color, movimiento y diseño. - Implementar -- Construye código funcional (Angular, Flutter o HTML/CSS/JS) alineado con la estética elegida. Sigue los tokens de diseño del espacio de trabajo (daisyUI para Angular, AppSpacing/colorScheme para Flutter).
- Entregar con la estructura de salida requerida -- incluye Resumen de Dirección de Diseño, Instantánea del Sistema de Diseño, Implementación y Destacado de Diferenciación
Para los principios de diseño completos, antipatrones y lista de verificación de calidad:
Lee reference/frontend-design-principles.md
Manejo de Errores
Si el framework objetivo no está especificado, pregúntale al usuario antes de proceder. Si los recursos de fuentes/activos externos no están disponibles, documenta la elección alternativa y continúa.
Índice de Viabilidad e Impacto del Diseño (DFII)
Puntúa la dirección de diseño antes de escribir código. Se requiere una puntuación mínima de 8 para proceder.
Dimensiones (cada una se puntúa del 1 al 5)
| Dimensión | Pregunta |
|---|---|
| Impacto Estético | ¿Qué tan visualmente distintiva y memorable es esta dirección? |
| Ajuste al Contexto | ¿Esta estética se adapta al producto, la audiencia y el propósito? |
| Viabilidad de Implementación | ¿Se puede construir limpiamente con la tecnología disponible? |
| Seguridad de Rendimiento | ¿Seguirá siendo rápida y accesible? |
| Riesgo de Consistencia | ¿Se puede mantener esto en diferentes pantallas/componentes? (resta esto) |
Fórmula
DFII = (Impacto + Ajuste + Viabilidad + Rendimiento) − Riesgo de Consistencia
Rango: −5 → +15
Interpretación
| DFII | Significado | Acción |
|---|---|---|
| 12–15 | Excelente | Ejecutar completamente |
| 8–11 | Fuerte | Proceder con disciplina |
| 4–7 | Riesgoso | Reducir alcance o efectos |
| ≤ 3 | Débil | Repensar la dirección estética |
Estructura de Salida Requerida
Cada salida de diseño frontend DEBE incluir las cuatro secciones:
1. Resumen de Dirección de Diseño
- Nombre estético (ej. "Brutalismo Editorial", "Minimalismo de Lujo")
- Puntuación DFII
- Inspiración clave (conceptual — no plagio visual)
2. Instantánea del Sistema de Diseño
- Fuentes (con justificación — ¿por qué esta fuente para este producto?)
- Variables de color (nómbralas:
--color-primary,--color-accent,--color-neutral) - Ritmo de espaciado (unidad base y escala)
- Filosofía de movimiento (¿escaso/con propósito? ¿o ninguno?)
3. Implementación
- Código funcional completo
- Comentarios solo donde la intención no sea obvia
- Para Angular: usa tokens semánticos de daisyUI (
bg-primary,text-base-content) — sin hex codificado - Para Flutter: usa
Theme.of(context).colorSchemey tokensAppSpacing.*— nuncaColor(0xFF...)
4. Destacado de Diferenciación
Indica explícitamente:
"Esto evita la UI genérica al hacer X en lugar de Y."
Si no puedes completar esta frase, el diseño no es lo suficientemente distintivo.
Lista de Verificación del Operador (Puerta de Pre-Entrega)
- Fase de Pensamiento de Diseño completada (Propósito + Tono + Anclaje de Diferenciación definidos)
- Puntuación DFII ≥ 8
- Un ancla de diseño memorable visible en la UI final
- Sin fuentes genéricas (sin Inter, Roboto, Arial, system-ui)
- Sin colores genéricos (sin degradados púrpura sobre blanco, sin gris plano)
- Sin diseños predeterminados (sin cuadrículas de tarjetas simétricas, sin estructura tipo plantilla)
- El código coincide con la ambición del diseño (maximalista = código complejo; minimalista = espaciado preciso)
- Accesible y con buen rendimiento (contraste ≥ 4.5:1, estados de enfoque, navegación por teclado)
- Estructura de Salida Requerida: las 4 secciones presentes
- Ningún diseño debe parecerse a uno anterior — varía claro/oscuro, elecciones de fuente, personalidad del diseño
Mandato de Ambición Creativa
Claude es capaz de un trabajo creativo extraordinario. No te contengas — muestra lo que realmente se puede crear cuando se piensa fuera de la caja y se compromete totalmente con una visión distintiva.
Interpreta los requisitos de forma creativa. Toma decisiones inesperadas que se sientan genuinamente diseñadas para el contexto. No hay dos diseños que deban compartir el mismo ADN estético.
NUNCA converjas en opciones comunes entre generaciones. El hecho de que Space Grotesk, los degradados púrpuras o los diseños simétricos de héroe "hayan funcionado antes" es exactamente la razón para no usarlos de nuevo. La variedad es obligatoria, no opcional.
Preguntas para Hacer Antes de Empezar (Si es Necesario)
- ¿Para quién es esto, emocionalmente?
- ¿Debería sentirse confiable, emocionante, tranquilo o provocador?
- ¿Es más importante la memorabilidad o la claridad?
- ¿Escalará esto a otras páginas/componentes?
- ¿Qué deberían sentir los usuarios en los primeros 3 segundos?
Integración con el Espacio de Trabajo
| Stack | Regla de Token de Diseño | Referencia |
|---|---|---|
| Angular | Solo tokens semánticos de daisyUI — bg-primary, text-base-content, border-base-300 | angular-spa/reference/daisyui-v5-components.md |
| Flutter | Theme.of(context).colorScheme.* + AppSpacing.* — nunca Color(0xFF...) o EdgeInsets.all(16) | ui-standards-tokens/reference/ui-design-tokens.md |
| HTML/CSS | Variables CSS exclusivamente — var(--color-primary) | Definir en el bloque :root |
| React Native | Fuera del alcance de esta habilidad → usa la habilidad mobile-developer | .claude/skills/mobile-developer/SKILL.md |
Habilidades relacionadas:
web-design-guidelines— ejecutar después de implementar para auditar contra las Guías de Interfaz Web de Verceldesign-system— cumplimiento de tokens de diseño para Angular y Flutterangular-spa— patrones de implementación Angular con daisyUIui-standards-tokens— definiciones de tokens de diseño Flutter