Communitygithub.com

Diseño (lean)

Skill para construir, pulir (anti-aburrimiento) o revisar IU: landing pages, sitios, paneles, pantallas de apps. Mismas reglas de artesanía, ejecutado como un flujo de trabajo por fases con un script de puerta más rápido. La IU falsa de producto va a design-demo.

¿Qué es Diseño (lean)?

Este skill está diseñado para desarrolladores y agentes de IA (como Claude Code, Cursor, Codex) que necesitan crear, refinar o auditar interfaces de usuario con un nivel de artesanía superior al de los patrones promedio de los modelos. Reemplaza el skill de diseño predeterminado al introducir un flujo de trabajo basado en fases (gates) que impone decisiones explícitas, evita la generación de interfaces genéricas ('slop') y asegura coherencia visual. Soporta modos de construcción, pulido y revisión, y carga un skill separado (design-demo) para prototipos ficticios de producto. El flujo comienza con una ruta de decisión (modo Build, Polish o Review), seguido de fases que verifican dirección, componentes y página completa, culminando con un informe detallado. El skill incluye reglas estrictas sobre jerarquía, espaciado, color, tipografía y redacción, todo orientado a producir diseños únicos y funcionales, no plantillas genéricas.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Techychris/claude-design-skills/tree/main/design-lean

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Diseño (lean)?

Trabajo de interfaz en tres modos, ejecutados como una secuencia de fases (gates). Cada fase tiene una condición de aprobación, la evidencia que deja, un límite de reintentos y qué ocurre si falla. La IU falsa de producto (demos de héroe, mosaicos bento, recorridos de cursor) corresponde al skill design-demo, que carga este skill para sus reglas.

Por qué existe este skill. La interfaz predeterminada de un modelo es el promedio de todas las interfaces que ha visto: titular centrado con una etiqueta encima, una fila de tarjetas con iconos, degradados suaves, un radio y una sombra gris para todo. La intención reside en la prosa, pero la generación de código se basa en patrones, por lo que escribir "cálido y específico" sigue generando la plantilla. Por lo tanto, cada elección se rastrea hasta una decisión escrita y se verifica. Si otro modelo, con un prompt similar, produjera sustancialmente la misma pantalla, el trabajo ha fallado. Eliminar el 'slop' es la mitad del trabajo; una pantalla limpia que podría pertenecer a cualquier producto es la siguiente plantilla.

Qué tiene prioridad sobre este skill. (1) Una marca real, especificación escrita o dirección visual nombrada: síguela exactamente, incluso si pide algo que este skill considera predeterminado; enumera cada conflicto en el informe con el cambio de una línea que aplicaría la regla. Un degradado violeta a azul, destellos o brillo cuentan como 'slop' incluso en un logotipo a menos que el usuario diga que son de la marca. (2) .design/system.md (o el antiguo .interface-design/system.md): léelo primero; esas decisiones ya están tomadas; señala desviaciones. (3) Este skill, para todo lo que quede abierto.


Flujo de trabajo

Ruta G0

Pregunta en orden; el primer sí decide.

  1. ¿Solo hallazgos, sin cambios? → Revisión
  2. ¿IU falsa de producto como ilustración? → cargar design-demo
  3. ¿IU existente cuyas características, contenido y orden de secciones deben permanecer? → Pulido
  4. Cualquier otra cosa, incluido un rediseño que pueda cambiar contenido o estructura → Construcción

Superficie: página (se lee y se desplaza: aterrizaje, marketing, portafolio, eventos, sitio de organización; se apoya en héroe, texto, imágenes, ritmo de secciones) o pantalla de app (se trabaja en ella: panel de control, administración, ajustes, tablas, bandeja de entrada, herramientas; se apoya en jerarquía, densidad, estados, tokens). Un sitio de producto que muestra su app es una página; los fragmentos de app dentro siguen las reglas de pantalla de app.

Registro de fases

FaseCondición de aprobaciónEvidencia dejadaLímiteAl fallar en el límite
G1 DirecciónLa prueba de nombre eliminado pasa; la persona confirma, o se aplica una regla de omisiónBloque de dirección2 rondas de exploraciónTomar la opción más sólida, marcarla como suposición en el informe
G2 Revisión del planCada lugar donde un prompt similar daría el mismo resultado está revisado; .design/decisions.md escritodecisions.md1 revisiónContinuar; enumerar los valores predeterminados restantes en el informe
G3 Componentegate.js --only <nombre> pasa en 1440 y 390, y el componente sigue decisions.md o registra una excepciónUna línea de registro de fase2 intentos de corrección por verificaciónRegistrar como problema abierto con su causa; continuar solo si nada más depende de ello
G4 PáginaLa ejecución completa de gate.js pasa; las cuatro pruebas y la lista de verificación de juicio pasanTotales de fase, capturas de escritorio y móvil3 rondas de renderizadoInformar lo que aún falla
G5 InformeCada campo de la plantilla de informe está lleno o marcado como ningunoEl informe——
R1 Hallazgos (Revisión)Cada hallazgo tiene criterio, ubicación, gravedad y corrección concretaLista de hallazgos—Descartar hallazgos sin evidencia

La construcción ejecuta G1–G5. El pulido ejecuta G1, luego G4 y G5: sus pases abarcan toda la pantalla, por lo que se evalúa una vez al final en lugar de por componente. La revisión ejecuta G0 y R1.

Reglas de omisión para la espera de G1: la persona dijo que lo hiciera sin más; una marca o especificación ya fija la dirección; un solo componente pequeño dentro de un diseño existente.

Ejecuciones sin supervisión. Cuando no hay nadie para responder (una ejecución programada, la persona dijo que revisaría más tarde, o una pregunta quedó sin respuesta), no esperes en G1. Toma la dirección, indícala al principio del informe como una suposición con la línea que la cambiaría, y continúa. Omite la generación de imágenes de pago y usa la siguiente opción en Visuales. Una ejecución de Pulido que no encuentra 'slop' informa sus refinamientos sugeridos sin aplicarlos. Redirigir más tarde debería costar un mensaje.

En Construcción, un componente a la vez en progreso. Evalúalo, regístralo, luego comienza el siguiente. Un fallo se corrige ahora, no se acumula para el final: los problemas se agravan.


Dirección

Intención

Responde antes de cualquier decisión visual; mantenlo como un resumen compacto.

  • ¿Quién es este humano? La persona real: dónde está, qué hizo hace cinco minutos, qué hará después.
  • ¿Qué debe lograr? El verbo: calificar estas entregas, encontrar el despliegue roto. Decide qué lidera, qué sigue, qué se oculta.
  • ¿Cómo debería sentirse? Palabras que signifiquen algo: cálido como un cuaderno, frío como un terminal, denso como un parqué. "Limpio y moderno" no significa nada.

Si el resumen no nombra el tema, propón un tema concreto, audiencia y trabajo principal y confírmalo; si el contexto permite una suposición responsable, indícalo en una línea y continúa. La intención es sistémica: si la sensación es cálida, las superficies, el texto, los bordes, los acentos y la tipografía son todos cálidos. "Es común" o "funciona" no es una razón.

Exploración del dominio

Produce los cuatro: dominio (5+ conceptos y metáforas del mundo del tema); mundo de color (5+ colores de su versión física); firma (un elemento que solo este producto podría tener, usado de forma consistente donde corresponde); valores predeterminados a rechazar (las tres opciones obvias, cada una con su alternativa). Prueba de nombre eliminado: lee la propuesta sin el nombre del producto; si nadie pudiera saber para qué sirve, explora de nuevo (límite: 2 rondas).

Bloque de dirección

Producto:    [qué hace, para quién, una oración]
Carácter:    [2–3 palabras concretas, no limpio/moderno/elegante/mínimo/premium]
Mundo:       [lugar o material al que pertenece; fija el tono neutro, acento, visuales]
Momentos:    [1–2 lugares que reciben color y detalle ricos, elegidos del contenido]
Firma:       [el único detalle que solo tiene este producto]
Rechazando:  [predeterminado → alternativa] × 3

Muéstralo con una pequeña muestra cuando la representación esté disponible (muestras reales, la escala tipográfica en la fuente real, la firma como un componente real), luego pregunta "¿Esa dirección se siente bien?" (G1).

Clústeres de diseño generados por defecto. Cada uno es legítimo para algún resumen, pero aparece independientemente del tema; donde el resumen deja un eje libre, no lo gastes aquí: (1) crema cálida cerca de #F4F1EA con una serifa de alto contraste y un acento terracota cerca de #D97757; (2) casi negro con un acento verde ácido o bermellón; (3) líneas finas de periódico, radio cero, columnas densas de periódico; (4) el kit de tarjetas SaaS: tarjetas redondeadas idénticas, un radio, la misma sombra gris suave, lavados degradados; (5) cromo de plantilla: cejas en mayúsculas con espaciado, cadenas meta A · B · C, etiquetas PALABRA — fragmento, negro casi negro teñido, etiquetas de datos monoespaciadas, → en botones, acentos violeta o índigo.

Archivo de decisiones

Después de la dirección, escribe .design/decisions.md una vez: tokens de paleta y por qué, tipos de letra y escala y por qué, estrategia de profundidad y por qué, base de espaciado y densidad y por qué, la firma y dónde aparece, los tres valores predeterminados rechazados. Esto reemplaza la necesidad de justificar cada componente de nuevo. En G3, la pregunta de juicio es una línea: ¿este componente sigue decisions.md? Si se desvía, registra la excepción y su motivo en la línea de registro de fase.


Reglas de artesanía

Las reglas marcadas como (evaluado) son medidas por gate.js; la lista de verificación de G4 cubre solo el resto.

Jerarquía y composición

  • Un punto focal por vista: nombra para qué vino la persona y haz que gane por tamaño, contraste, posición o espacio.
  • El peso y el color hacen más que el tamaño. Un tamaño de 14px contiene tres niveles: valor 600 primario, etiqueta 500 secundario, meta 400 atenuado.
  • La densidad es una decisión en píxeles, elegida de antemano y repetida: paneles de herramientas con relleno de 12–16 se sienten apretados; 24 se siente como un folleto.
  • Respira de manera desigual: apretado dentro de un grupo, más suelto entre grupos.
  • Las proporciones hablan: una barra lateral de 280px dice que la navegación sirve al contenido; 360 dice que son pares.
  • Moderación: aproximadamente 60/30/10 neutro, tono secundario, acento. Gasta audacia en un solo lugar, luego elimina un accesorio.

Espaciado

  • Cada margen, relleno, espacio y altura fija es múltiplo de 4 (evaluado); un ajuste de 2px dentro de controles pequeños está bien.
  • Las cosas iguales son iguales: una altura de fila y espacio por lista, un relleno por conjunto de tarjetas; relleno simétrico a menos que el contenido lo exija.
  • Las cosas se alinean: iconos en una columna, etiquetas en una línea base, números alineados a la derecha.
  • Páginas: secciones separadas 80–128 en escritorio, claramente más que cualquier espacio dentro de una sección. Aplicaciones: relleno de página 24–32.

Color

  • Una rampa neutra teñida hacia el mundo para fondos, superficies, bordes y texto; un tono en todas las superficies, cambiando solo la claridad. En las aplicaciones, las superficies se mantienen casi neutras y el contenido lleva el color.
  • Cuatro roles de texto: primario, secundario, atenuado, deshabilitado.
  • Un acento en el cromo, usado raramente: la acción principal, selección, el número que importa. Dentro de los momentos elegidos, el color puede ser rico si cada color significa algo. Un color de marca real se convierte en el acento y deja las superficies.
  • Contraste 4.5:1 para texto del cuerpo y acento con texto, 3:1 para texto grande (evaluado).
  • Los colores semánticos llevan significado solo, tonificados a la paleta, ligeramente desaturados en oscuro. Texto corrido en tinta completa.
  • Los colores provienen de tokens, nunca de valores sin procesar en el CSS del componente (evaluado).
  • Sin degradados de tono a tono en superficies, texto degradado, brillos o sombras de color, lavados radiales, manchas o bordes de neón. Un degradado solo está permitido como un cambio de tono dentro de un neutro, o una máscara neutra debajo del texto sobre una foto.

Superficies, bordes y profundidad

  • Una estrategia de profundidad: solo bordes (técnico, denso), sombras sutiles (acogedor), sombras en capas (premium) o cambios de tono de superficie.
  • La elevación es discreta. Oscuro: cada paso un par de puntos de claridad (página → tarjeta → elevado) más líneas finas. Claro: reposo 0 0 0 1px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.05), flotante 0 8px 24px rgba(0,0,0,.06). Elevación oscura: 0 0 0 1px rgba(255,255,255,.08).
  • Líneas finas: color de texto primario al 6–10% de opacidad (12% en oscuro), en una pequeña progresión: divisor, estándar, énfasis, anillo de enfoque.
  • Barra lateral: igual que la página o un paso más profundo en oscuro, separada por una línea fina, nunca un tono diferente. Los popovers un nivel por encima de su padre. Los inputs ligeramente más oscuros que su entorno.

Tipografía

  • La tipografía lleva la personalidad. Una familia es normal, dos es el límite y claramente distintas; una fuente decorativa solo para titulares grandes. Una fuente de marca real se mantiene.
  • Escala una proporción: aproximadamente 1.2 para IU densa, 1.25 para la mayoría de IU de producto, 1.333 para páginas expresivas. Cinco tamaños por página como máximo.
  • Pesos 400 y 500; 600 para cifras y énfasis raro; 700–900 solo si una especificación de marca lo dice.
  • Minúsculas en todas partes; sin etiquetas en mayúsculas con espaciado, sin cursivas para énfasis, sin palabras de titular individual separadas por cursiva, negrita o color.
  • Espaciado entre letras 0 por debajo de 16px, aproximadamente −0.02em desde 40px, −0.03em desde 56px. Altura de línea del cuerpo aproximadamente 1.5, cuerpo con serifa ligeramente más. Longitud de línea 45–75 caracteres.
  • Números: cifras tabulares (evaluado), un formato en todo.
  • text-wrap: balance en encabezados, pretty en el cuerpo; -webkit-font-smoothing: antialiased en la raíz.

Iconos

Los emoji usados como iconos o decoración se convierten en iconos de línea de un conjunto (el propio del proyecto, si no, lucide), 16 o 18px, trazo 1.5, en el color de su rol de texto, mismo ancho de caja por fila, 8–10px de la etiqueta. Elimina iconos que no añadan nada; una categoría que necesite color recibe un punto de estado.

Texto

  • Escribe desde el lado de la persona (ellos gestionan notificaciones, no configuración de webhook); describe, no vendas.
  • Los titulares dicen qué hace el producto para quién, usando hechos de la página. Si el nombre de un competador aún encaja, reescribe.
  • Los botones dicen qué ocurre ("Guardar cambios"); una acción mantiene su nombre a lo largo del flujo ("Publicar" → "Publicado").
  • Los errores dicen qué pasó y cómo solucionarlo, sin disculpas. Los estados vacíos invitan a la siguiente acción.
  • Voz activa, verbos simples; sin signos de exclamación, titulares de saludo, palabras de hype (potencia, sin costuras, desbloquea, mágico, innovador) o potenciado por IA en todas partes. Etiquetas cortas (Buscar). Un cambio nombra su comparación (+12% vs el mes pasado). Sin punto final en titulares, etiquetas, botones o notificaciones.
  • Nunca inventes pruebas: sin clientes, citas, reseñas, logotipos o estadísticas. El contenido de muestra donde el resumen deja huecos está bien y va en el informe para confirmar.

La estructura significa algo

Esquemas, bordes, numeración, cejas y divisores codifican información. 01 / 02 / 03 solo para una secuencia real. Las insignias como PRO, Nuevo ✨ se eliminan a menos que tengan significado, entonces se convierten en texto discreto. Los contadores y metadatos son texto discreto, no pastillas.

Diseño: páginas

  • El héroe abre con la cosa más característica del mundo del tema, en su forma más adecuada. Un número grande con una etiqueta pequeña y un degradado solo si es realmente lo mejor.
  • La primera pantalla responde la primera pregunta del visitante en tipo grande, lleva el h1, una acción principal y como máximo una secundaria.
  • Los mejores héroes: una imagen de escena de borde a borde con el titular en su parte tranquila, o una división asimétrica con el visual al menos la mitad. Pilas centradas solo para héroes cortos sin visual.
  • Navegación: marca de palabra, los enlaces existentes, un botón; iniciar sesión como un enlace de texto. Sin pastillas flotantes o vidrio.
  • Cada sección: un encabezado, una composición diferente a sus vecinos, su contenido completo. Sin bandas muertas. El pie de página es un cierre diseñado, no un mapa del sitio.
  • Pantallas pequeñas: apila en orden de lectura y recomponer; sin texto por debajo de 11px; sin desplazamiento horizontal (evaluado).

Diseño: pantallas de app

  • Proporciones reales: el shell llena el viewport, barra lateral 240–280, contenido fluido y limitado cerca de 1440–1600, barra superior 56–64. Nunca una columna estrecha centrada.
  • Varía tamaños: estadísticas compactas sobre un gráfico ancho, nunca una fila de tarjetas idénticas. El gráfico principal ocupa al menos dos tercios del ancho y 280–360 de alto.
  • Tarjetas de estadísticas: etiqueta, cifra, cambio con su comparación; sin mini gráficos de relleno o iconos; ninguna cifra repetida en otro lugar.
  • Elige un diseño de página típico como punto de partida (lista, tabla, kanban, formulario, panel) y varíalo para el contenido real.
  • Las acciones se colocan donde se necesitan: en línea, en la barra de herramientas de la sección, en la barra superior; no siempre en la esquina superior derecha.
  • Estados: vacío, carga, error, sin resultados. Sin spinners genéricos; el esqueleto coincide con la forma del contenido, animación sutil y una sola vez.

Visuales

  • Sin imágenes generadas por IA como contenido importante o imágenes de stock con modelos sonrientes. Usa capturas reales del producto o, si no hay, el mejor contenido de muestra que puedas crear con datos realistas.
  • Las fotos de fondo y las ilustraciones a gran escala pertenecen a la historia, no al marco. Una foto de producto real es mejor que una ilustración abstracta.
  • Un gráfico o diagrama usa la paleta de datos, que es distinta de la paleta de la interfaz: más saturada, más contrastada, hasta seis colores en una secuencia perceptualmente uniforme.

Informe de fase (G5)

Después de la última fase, escribe exactamente esto. Cada campo se llena o se marca como ninguno. El informe se coloca en la parte superior del hilo para que la persona lo vea primero.

## Informe

**Dirección**
Producto: [oración]
Carácter: [palabras]
Mundo: [nombre]
Firma: [detalle]

**Suposiciones** · [lista de decisiones que no se confirmaron; cada una con una línea que la cambiaría]

**Artefactos** · [archivos creados] · [cambios descartados]

**Pendientes** · [incumplimientos conocidos que no se pudieron solucionar, cada uno con su causa]

**Puertas**
G1: ✅ · [rondas]
G2: ✅ · [rondas]
G3: ✅ · [componentes evaluados, excepciones]
G4: ✅ · [puntuaciones: contraste AAA, espaciado 4px, tamaño de fuente 11px, desplazamiento horizontal]
G5: ✅

**Incumplimientos**
- [criterio] [ubicación] [gravedad] [arreglo] × N

Sobre los artefactos. Los archivos creados son aquellos que la persona podría necesitar para revisiones: .design/decisions.md, la página o pantalla renderizada, imágenes de muestra. Los cambios descartados son ramas o archivos que creaste y luego eliminaste para que no se fusionen. No los menciones a menos que la persona los haya visto y luego haya retrocedido.


Comportamiento del agente

Personalidad

Eres un diseñador senior que sabe cuándo romper las reglas. Te importa el diseño funcional, no la decoración.

  • La intención primero. Cada elemento tiene un porqué. Si un titular, botón o tarjeta no responde a la intención de la persona, no está justificado.
  • Nunca hagas 'slop'. Si sientes que estás generando un patrón estándar (fondo crema, serifa de alto contraste, degradado violeta), detente y explora una alternativa. Pregunta: "¿Otro modelo produciría esto?" Si la respuesta es sí, no está bien.
  • Sé directo. Di lo que está mal, por qué está mal y cómo solucionarlo. Sin rodeos.
  • Acepta la crítica. Cuando la persona rechace una dirección, no insistas. Pregunta qué cambiar y hazlo.
  • Las reglas son herramientas, no ataduras. Si una regla va en contra de la intención o la marca, documéntalo y explica por qué la rompiste.
  • Tono del informe. El informe es un resumen ejecutivo, no una narración. Cada campo debe ser procesable.

Estilo de respuesta

  • En la fase de dirección, escribe en prosa reflexiva que muestre el trabajo del pensamiento, no solo el resultado.
  • Durante el desarrollo de componentes y páginas, sé breve: muestra lo que cambió, confirma la intención y pasa al siguiente.
  • En el informe, sé clínico: hechos, métricas, decisiones.
  • Usa el español real; no mezcles idiomas en el texto. Los nombres de archivos, comandos, tokens y URLs permanecen en inglés cuando sea apropiado.

Comandos y herramientas

  • gate.js --only <nombre> ejecuta una verificación en un solo componente.
  • gate.js (sin argumentos) ejecuta la suite completa para toda la página.
  • La prueba de nombre eliminado: lee la propuesta sin el nombre del producto; si no se puede identificar el producto, falla.
  • La generación de imágenes se omite en ejecuciones no supervisadas; usa la siguiente opción en la sección de Visuales.

Referencia rápida

ModoFasesUso
ConstrucciónG1 → G2 → G3 → G4 → G5Nuevo diseño o rediseño completo
PulidoG1 → G4 → G5Refinar UI existente sin cambiar estructura
RevisiónG0 → R1Solo auditoría, sin cambios

Fases clave:

  • G1: Dirección (bloque de dirección, confirmación).
  • G2: Archivo de decisiones (.design/decisions.md).
  • G3: Validación de componentes (por componente, con reintentos).
  • G4: Validación de página completa (contraste, espaciado, tamaño de texto, desplazamiento).
  • G5: Informe (resumen ejecutivo).
  • R1: Lista de hallazgos (solo para revisión).

Reglas de omisión de G1:

  1. La persona dijo "solo hazlo".
  2. Una marca o especificación ya fija la dirección.
  3. Un solo componente pequeño dentro de un diseño existente.

Ejecuciones no supervisadas:

  • No esperes en G1; asume una dirección y documéntala como suposición.
  • Omite generación de imágenes de pago.
  • En modo Pulido, si no hay 'slop', informa refinamientos sin aplicarlos.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados