Cómo documentar un sistema de diseño para que una IA realmente lo siga

Es probable que su sitio de documentación sea excelente y, probablemente, inútil para un agente. La documentación humana está escrita para ser navegada, se organiza por componente y describe la intención en prosa. Un modelo necesita lo contrario: todo el alcance a la vez, organizado por decisiones y con cada restricción planteada como algo que puede ser vulnerado.

Actualizado 2026-07-27

Por qué el sitio de documentación no funciona

El instinto es dirigir al agente al sitio del sistema de diseño. Rara vez ayuda, por cuatro razones estructurales que no tienen nada que ver con la calidad del sitio.

Sitio de documentaciónLo que necesita un agente
Patrón de accesoNavegado: se accede a la página necesariaTodo lo relevante en el contexto, antes de la primera decisión
OrganizaciónPor componente: Botón, Input, CardPor decisión: roles de color, densidad, elevación, lo que está prohibido
VozDescribe la intención: "nuestros botones transmiten confianza y cercanía"Establece restricciones: "font-weight 500, radius 6px, nunca un degradado"
IntegridadCubre lo que existeDebe cubrir también lo que no debe existir
Documentación humana frente a lo que necesita un modelo.

La fila de organización es la que la gente pasa por alto. Un sitio organizado por componentes es perfecto para alguien que ya sabe que necesita un Botón. Un agente que está a punto de construir una pantalla aún no ha decidido qué componentes usar; sus primeras decisiones son sobre densidad, jerarquía y maquetación, y eso es exactamente lo que un sitio organizado por componentes nunca cubre.

La fila de integridad es la más trascendental. La documentación describe lo que existe porque para eso sirve la documentación. Pero la diferencia entre su interfaz y una genérica es, principalmente, un conjunto de cosas que usted nunca hace, y ninguna página de componentes las mencionará jamás.

Lo que contienen realmente los archivos reales

Analizamos 299 archivos DESIGN.md publicados en repositorios y directorios públicos —archivos escritos deliberadamente para dar guías de diseño a agentes de IA— y medimos sus contenidos. 72 eran específicamente archivos de diseño visual. El patrón es lo suficientemente consistente como para usarlo como una lista de verificación de lo que se debe evitar.

Porcentaje de archivos
Colores como hex raw, sin rol semántico86%
Sin prohibiciones de ningún tipo76%
Sin definición de modo oscuro69%
Sin motivos distintivos57%
Al menos un adjetivo vago que intenta definir el diseño54%
Sin ningún valor de tamaño concreto44%
Mencionan la tipografía83%
Lo que falta en las guías de diseño reales (n=299).

Compare las dos últimas filas. La tipografía se menciona en el 83% de los archivos, pero el 44% no contiene ningún valor de tamaño concreto. Esa brecha resume todo el problema en una sola estadística: los archivos hablan de tipografía sin decir nunca qué tamaño tiene cada elemento.

La cifra de los adjetivos es la otra mitad. "Limpio" aparece en el 39% de estos archivos, "moderno" en el 36%. Ambas son palabras que un modelo satisface produciendo el centro de su distribución de entrenamiento, que es precisamente el aspecto genérico que el archivo pretendía evitar.

Un modelo al que se le pide algo "limpio y moderno" produce el promedio de todo lo que ha visto. Lo mismo ocurre con el modelo de cualquier otra persona si se le pide lo mismo.

Los siete cambios

Cada uno de estos responde a un fallo medido anteriormente. Aplicados en conjunto, transforman una descripción en algo ejecutable.

  1. 1

    Asigne un rol a cada color, no solo un valor

    #6b7280 es un valor que un modelo usará indistintamente para el texto del cuerpo, bordes, iconos, placeholders y estados desactivados. --text-muted, descrito únicamente como texto secundario y de apoyo, tiene una sola función. Cinco roles superan a un hex, y permiten cambiar los bordes más tarde sin alterar los subtítulos.

    --text-muted: #6b7280   /* secondary and supporting text only */
    --border-subtle: #e5e7eb /* structural edges, dividers */
    --text-disabled: #9ca3af /* disabled controls only */
  2. 2

    Sustituya cada adjetivo por un número o una regla

    "Espaciado generoso" se convierte en "gap de sección 64px, padding de tarjeta 24px". "Tipografía limpia" se convierte en una escala. Si una frase no puede contrastarse con una pantalla renderizada, es decoración.

  3. 3

    Escriba las prohibiciones

    La sección con mayor impacto y la que el 76% de los archivos omite por completo. Cinco líneas son suficientes para empezar.

    ## Never
    
    - No gradients
    - No drop shadows — elevation is a surface step plus a 1px border
    - No font-weight above 600
    - No colour value outside the token set
    - No border-radius above 12px
  4. 4

    Defina el modo oscuro, no permita que sea derivado

    Si se deja sin definir, el modelo invierte el modo claro y el resultado falla de forma predecible: las sombras dejan de leerse, los grises medios pierden contraste en ambos extremos y un color de acento saturado que se veía bien sobre blanco deslumbra sobre un fondo casi negro. Un segundo set de tokens cuesta una hora de trabajo y elimina toda una categoría de correcciones.

  5. 5

    Declare la decisión de densidad explícitamente

    Saber si se trata de una herramienta densa o de una superficie de marketing espaciosa cambia cada decisión posterior, y es la decisión que la mayoría de los archivos nunca toma. Si su producto tiene ambos tipos de superficie, eso requiere dos archivos, no un solo archivo ambiguo.

  6. 6

    Nombre al menos dos motivos

    Los elementos específicos y recurrentes que hacen que el diseño sea suyo: una línea de acento de 2px a la izquierda de los encabezados de sección, columnas numéricas siempre tabulares y alineadas a la derecha, una forma particular de dibujar los estados vacíos. El 57% de los archivos no tienen ninguno, razón por la cual su resultado es correcto pero carece de personalidad.

  7. 7

    Apunte al archivo de tokens; nunca lo repita

    En el momento en que un valor hex existe tanto en el archivo de diseño como en el de tokens, uno se actualizará y el otro no, y el modelo usará con seguridad el valor obsoleto. Referencie, no copie.

Si solo puede aplicar uno de estos cambios, elija el tercero. Una lista de prohibiciones requiere quince minutos de trabajo y cambia el resultado generado más que los otros seis combinados, porque restringe el enorme espacio de decisiones que sus permisos dejaron abierto.

Lo que producen los siete cambios, al final, es un archivo cuyos valores un agente puede resolver sin inventar nada. Esta es la misma información renderizada en lugar de escrita; útil aquí como una lista de verificación de lo que su propio archivo debe ser capaz de responder:

Token specimen · real values

Sage & Slate Editorial

Live render

Sage & Slate Editorial's actual tokens — the same values its exports use.

Color tokensSemantic roles with HEX / HSL / CMYK

Color tokens

Sage & Slate Editorial

light · HEX · HSL · CMYK

Core

#ECEEE2

background

H 70 · C1, 0, 5, 7

#1C1E19

foreground

H 84 · C7, 0, 17, 88

#F5F5EF

card

H 60 · C0, 0, 2, 4

#E4E6DA

muted

H 70 · C1, 0, 5, 10

#D3D5C8

border

H 69 · C1, 0, 6, 16

Brand

#4A8649

primary

H 119 · C45, 0, 46, 47

#000000

primary-fg

H 0 · C0, 0, 0, 100

#4774AC

secondary

H 213 · C59, 33, 0, 33

#CDBE7E

accent

H 49 · C0, 7, 39, 20

#4A8649

ring

H 119 · C45, 0, 46, 47

Semantic

#C94040

destructive

H 0 · C0, 68, 68, 21

#FFFFFF

destructive-fg

H 0 · C0, 0, 0, 0

#4A8649

success

H 119 · C45, 0, 46, 47

#B08A38

warning

H 41 · C0, 22, 68, 31

#585C50

muted-fg

H 80 · C4, 0, 13, 64

Charts

#4A8649

chart-1

H 119 · C45, 0, 46, 47

#4774AC

chart-2

H 213 · C59, 33, 0, 33

#CDBE7E

chart-3

H 49 · C0, 7, 39, 20

#7AA87A

chart-4

H 120 · C27, 0, 27, 34

#3D4227

chart-5

H 71 · C8, 0, 41, 74

Type scaleHeading, body, and mono in the kit's fonts

Typography

Sage & Slate Editorial

Scale: major-third

Density: relaxed

Heading · Plus Jakarta Sans · 2.5rem

Sample headline

Subheading · Plus Jakarta Sans · 1.875rem

A warm organic editorial UI kit on a sage-green canvas with generous rounded cards, eyebrow accent chips, and a soft photography-forward layout.

Body · DM Sans · 1rem

A warm editorial system built on a sage-green page background with floating off-white cards that carry large border-radius and soft shadows. Bold geometric headings open with inline eyebrow accent chips, and generous whitespace defines the rhythm. The palette draws from nature: forest greens, dusty blues, and warm wheats, applied as accents on a near-neutral sage canvas. Ideal for photography, lifestyle, wellness, and editorial content surfaces.

Mono · Space Mono · 0.8125rem

npx shadcn add sageslateeditorial.json

Aa

Plus Jakarta Sans · Heading

400500600700

Aa

DM Sans · Body

400500700

ABCDEFGHIJKLM NOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

0123456789 & @ # % →

Radius & spacingCorner radius, elevation, and spacing steps

Tokens

Sage & Slate Editorial primitives

density: relaxed

Radius scale

sm · 0.375rem
md · 0.75rem
lg · 1.25rem
xl · 2rem

Component radius

button
card
input

Elevation

level 1
level 2
level 3
level 4

Spacing · base 1rem

1x
2x
3x
4x
6x
8x
Cada valor que un agente solicita al construir una pantalla. Si su documentación no puede generar esta tabla, los huecos son exactamente donde el agente improvisará.

Cómo escribir una prohibición efectiva

No todas las prohibiciones funcionan igual. Tres propiedades separan aquellas que cambian el resultado de las que son ignoradas.

DébilFuertePor qué
Especificidad"Evite los estilos excesivamente decorativos""Sin degradados, sin sombras paralelas, sin bordes decorativos"Un modelo no puede evaluar qué es "excesivamente"
Verificabilidad"Mantenga la tipografía sobria""Nunca utilice un font-weight superior a 600"Uno se puede buscar con grep; el otro no
Alternativa proporcionada"No utilice box-shadow""Sin box-shadow: la elevación es un paso de superficie más un borde de 1px"Prohibir sin sustituir deja que el modelo invente un reemplazo
Prohibiciones débiles y fuertes.

La tercera fila es la que se suele pasar por alto. Una prohibición sin alternativa crea un vacío que el modelo debe llenar, y lo hace basándose en la misma distribución de entrenamiento de la que usted intentaba escapar. Cada "nunca X" debe ir seguido de "en su lugar, Y".

Estructura y longitud

El archivo debe caber en el contexto junto con la tarea real, lo que impone un límite real. Aproximadamente 400 líneas es un objetivo viable; a partir de ahí, las reglas individuales empiezan a perder prioridad frente a la tarea.

El orden también importa. Coloque la intención y las prohibiciones al principio. Un modelo que lee de arriba abajo encuentra la regla general antes que el caso especial, que es el mismo orden que Stripe utiliza en su Appearance API: primero el tema, luego las variables y después las reglas específicas.

# DESIGN.md

## Intent            <- who reads this product, and what it is for
## Never             <- the prohibitions, early and unmissable
## Colour            <- roles for light and dark, referencing tokens
## Type              <- scale with real numbers, weight band, tracking
## Spacing & density <- the scale, and which surface uses which step
## Elevation         <- the strategy, stated once
## Composition       <- how components sit together
## Motifs            <- what makes this design specifically ours

Si su producto tiene superficies genuinamente diferentes —un sitio de marketing y un panel de control denso— no escriba un solo archivo con salvedades. "Espaciado generoso, aunque las tablas pueden ser más densas" son dos reglas fingiendo ser una, y el modelo tendrá que elegir. Escriba un archivo raíz con lo que nunca varía y archivos por superficie con lo que sí lo hace.

Qué debería ir en un servidor en su lugar

No todo debe estar en el archivo; intentar incluirlo todo es lo que hace que crezca hasta dejar de ser útil. La línea divisoria es si el agente lo necesita antes de decidir o solo bajo demanda.

DóndePor qué
APIs de componentes, props, variantesServidorExtenso, cambia a menudo, solo es necesario una vez elegido el componente
Catálogo de iconosServidorCientos de nombres, necesarios de uno en uno
Roles de color, escalas, densidadArchivoNecesario antes de la primera decisión, siempre
ProhibicionesArchivoUn agente nunca piensa en preguntar qué está prohibido; tiene que saberlo de antemano
Archivo o servidor.

El servidor MCP de Carbon de IBM es un buen modelo para la primera columna: expone la búsqueda de documentación, ejemplos de código de componentes, gráficos y componentes experimentales como herramientas. Notablemente, ninguna de estas son prohibiciones, porque una herramienta de recuperación solo muestra lo que el agente piensa consultar. Más sobre esta división.

Comprobar si funciona

Escribir el archivo y asumir que ha funcionado es la forma en que los equipos descubren el problema tres semanas después. Cuatro comprobaciones, en orden creciente de esfuerzo.

  1. 1

    Busque valores de color literales mediante grep

    Si el agente sigue los roles semánticos, no debería haber ningún valor hex fuera de su archivo de tokens.

    grep -rn --include='*.tsx' --include='*.css' -E '#[0-9a-fA-F]{3,8}\b' src \
      | grep -v 'tokens\|globals.css'
  2. 2

    Busque mediante grep los pesos prohibidos

    El peso es donde la jerarquía suele revertirse silenciosamente al valor predeterminado, y es la señal más rápida de que una prohibición no se está aplicando.

    grep -rn --include='*.tsx' -E 'font-(bold|extrabold|black)' src | head -30
  3. 3

    Solicite la misma pantalla dos veces, en sesiones separadas

    La consistencia entre sesiones es la prueba real. Si dos ejecuciones difieren significativamente en espaciado, radio o jerarquía, el archivo no está restringiendo lo necesario, y el diff le indicará exactamente qué sección falta.

  4. 4

    Construya primero una pantalla en modo oscuro

    Si el modo oscuro fue derivado en lugar de definido, aquí es donde saldrá a la luz. Es mucho más económico detectarlo en la pantalla uno que en la pantalla veinte.

Las dos primeras comprobaciones deben integrarse en CI. Un control que rechace un pull request que contenga un valor hex bruto aporta más a la consistencia a largo plazo que cualquier documentación; esta es la conclusión a la que llegó Salesforce con el linter de SLDS y Stripe al eliminar la capacidad por completo.

Los kits de diseño de Identity Forge incluyen esta estructura preconfigurada: 28 roles de color semánticos para modo claro y oscuro, escalas de tipografía y espaciado, elevación, motivos y una lista explícita de lo que se debe y no se debe hacer, todo serializado en un DESIGN.md. Explore los kits o lea cómo generar un DESIGN.md.

¿Puedo simplemente dirigir mi agente de IA al sitio de documentación de mi sistema de diseño?

Rara vez funciona. Un sitio se navega página por página, está organizado por componente y describe la intención en prosa. Un agente necesita las decisiones en contexto antes de elegir cualquier componente, organizadas por decisión en lugar de por componente, con restricciones expresadas como reglas verificables. Un archivo en el repositorio cumple esa función; un sitio no.

¿Qué longitud debe tener un DESIGN.md?

Aproximadamente 400 líneas es un límite manejable. Debe compartir contexto con la tarea actual y, pasado ese punto, las reglas individuales empiezan a perder atención. Si el archivo crece, suele significar que cubre varias superficies a la vez y debería dividirse en un archivo raíz y archivos específicos por superficie.

¿Cuál es la sección más importante?

Las prohibiciones. El 76% de los archivos de diseño publicados no contienen ninguna, y la diferencia entre su interfaz y una genérica es, principalmente, un conjunto de cosas que nunca se hacen. Dedicar quince minutos a escribir una sección de "Nunca" cambia el resultado más que cualquier otra sección de longitud comparable.

¿Debo incluir los valores de mis tokens en el archivo de diseño?

No; haga referencia a ellos. Una vez que un valor existe en dos lugares, uno se actualizará y el otro no, y el modelo utilizará con confianza la copia obsoleta. Indique el rol y dónde se aplica; deje que el archivo de tokens contenga el valor.

¿Sigo necesitando un sitio de documentación si tengo un DESIGN.md?

Sí, para los humanos y para los detalles de la API de los componentes que son demasiado extensos para un archivo. No compiten entre sí: el sitio documenta en profundidad lo que existe, el archivo establece las decisiones que un agente necesita antes de empezar. Los catálogos de componentes extensos se gestionan mejor mediante un servidor MCP que mediante cualquiera de las dos opciones.