CLAUDE.md vs AGENTS.md vs SKILL.md vs DESIGN.md

Los debates sobre estos archivos suelen reducirse a una sola pregunta —¿cuál debería usar?— cuando la pregunta útil es qué función cumple cada uno. No son cuatro estándares que compiten entre sí. Son cuatro alcances que se superponen.

Actualizado 2026-07-27

El orden de precedencia, de un vistazo

Lea desde el alcance más estrecho hacia afuera. Una regla en un archivo más específico prevalece sobre una más general, y una regla que el usuario escribe en la sesión prevalece sobre cualquier archivo.

  1. Lo que el usuario dice en la sesión — siempre prevalece, incluso cuando contradice un archivo.
  2. `SKILL.md` — activo solo mientras se invoca esa skill, y limitado a ella.
  3. `CLAUDE.md` / archivo específico de la herramienta — el comportamiento de esta herramienta en este repositorio.
  4. `AGENTS.md` — las reglas del proyecto para cualquier agente.
  5. `DESIGN.md` — el contrato visual, referenciado por los anteriores en lugar de competir con ellos.

DESIGN.md se sitúa deliberadamente un poco fuera de la pila. Los otros tres le dicen a un agente cómo *trabajar*; este le dice cómo debe *verse* el resultado. Rara vez entran en conflicto, por lo que un proyecto puede adoptarlo sin tener que renegociar nada más.

AGENTS.md: el archivo de proyecto multiplataforma

Este es el primero que debe escribir. Es leído por un conjunto creciente de agentes, no pertenece a ningún proveedor y contiene aquello que es válido independientemente de quién realice el trabajo: cómo compilar, cómo probar, qué no tocar y qué convenciones sigue realmente la base de código.

La disciplina clave es el coste. Se carga en cada solicitud, por lo que cada línea se paga permanentemente. Una regla merece un lugar en el archivo solo si cambia el comportamiento predeterminado, se aplica de forma generalizada y es costoso cometer un error en ella. Los catálogos de comandos, los esquemas de API y los procedimientos de configuración deben ir en un documento con un enlace de una sola línea.

# AGENTS.md

## Build and verify
- `pnpm dev` on :4000. Never run `pnpm build` — it corrupts the shared dev cache.
- Verify with `tsc --noEmit`, not a build.

## Conventions
- Server work goes in `src/server/` as server actions, not API routes.
- Never hardcode theme colors; use the semantic tokens in DESIGN.md.

## Before you act
- Changing the payment flow: read `docs/PRICING.md` first.
Breve, conductual y apunta hacia afuera en lugar de incluir detalles extensos.

CLAUDE.md: una importación más un anexo

El error recurrente es mantener CLAUDE.md y AGENTS.md como dos copias completas. Divergen silenciosamente, y esa divergencia se manifiesta cuando un agente sigue con seguridad una regla que usted eliminó hace dos meses.

# CLAUDE.md

@AGENTS.md

## Claude Code only
- Use the local browser tool for hydration checks; the remote one stalls RSC.
- Slash commands live in `.claude/commands/`.
Un archivo canónico, un anexo específico de la herramienta. Nada se escribe dos veces.

El problema de la importación

La expansión de @file no es universal. Claude expande rutas relativas dentro del proyecto; otras herramientas pasan la línea como texto literal, y las rutas absolutas a menudo no hacen nada silenciosamente. Verifique qué carga realmente su agente antes de confiar en una importación.

SKILL.md: una capacidad, no un libro de reglas

La distinción que hace que las skills funcionen: AGENTS.md está *siempre* en el contexto, y una skill se carga *cuando es relevante*. Esa diferencia es una decisión de presupuesto. Una lista de verificación de revisión de código de 400 líneas en AGENTS.md se paga en cada solicitud, incluso en las que solo corrigen una errata. Esa misma lista como skill no cuesta nada hasta que la revisión comienza realmente.

Por lo tanto, la prueba no es la importancia, sino la frecuencia. Las reglas que se aplican a casi todas las solicitudes pertenecen al archivo siempre cargado. Los procedimientos que se aplican a un tipo específico de tarea —desplegar, revisar, generar una migración— pertenecen a una skill.

AGENTS.mdSKILL.mdDESIGN.md
CargadoEn cada solicitudAl invocarAl escribir la UI
AlcanceProyecto completoUn tipo de tareaTodo lo visual
Uso adecuadoComandos de build, restriccionesPasos de despliegue, checklist de revisiónTokens, escala tipográfica, motivos
Uso inadecuadoUn procedimiento de 300 líneasUna regla necesaria en cada solicitudCualquier cosa no visual
Coste de una línea erróneaSe paga siempreSe paga al invocarPíxeles incorrectos
Dónde debe ir una instrucción concreta.

DESIGN.md: el archivo que nadie escribe

Aquí está la brecha. AGENTS.md no tiene un lugar natural para una rampa de colores. CLAUDE.md trata sobre el comportamiento de las herramientas. Una skill se invoca, no es ambiental. Por lo tanto, el contrato visual acaba en ninguna parte, y un agente sin contrato visual recurre a los valores por defecto, que es por qué los sitios creados por IA convergen en un mismo aspecto.

Un DESIGN.md cierra esa brecha. Como mínimo, contiene design tokens semánticos para modo claro y oscuro, la combinación y escala tipográfica, el sistema de espaciado y radios, y los aciertos y errores que evitan que un agente invente un patrón nuevo cuando se encuentra con un caso desconocido.

# DESIGN.md

## Color (semantic, light + dark)
--background / --foreground / --card / --primary / --muted-foreground …

## Type
Headings: Fraunces 600, -0.02em. Body: Inter 400, 1.6.
Scale: 0.875 / 1 / 1.25 / 1.5 / 2 / 3rem.

## Motifs
Hairline rules between sections. Radius scales with element size.

## Don't
No gradient text. No shadow on flat surfaces. Never hardcode a hex.
Abreviado. El punto es que cada valor se declara, no se describe.

La razón por la que este archivo funciona donde un prompt no lo hace es poco glamurosa: se vuelve a leer al inicio de cada sesión. Las instrucciones mantenidas en la conversación se degradan a medida que crece el contexto. Un archivo no.

Los otros tres archivos le dicen a un agente cómo trabajar. Solo uno le dice cómo debe verse el resultado, y suele ser el que no existe.
Preview unavailable here. Browse complete kits in the kit gallery.

¿Necesita los cuatro?

No, y empezar con los cuatro es un error. En orden aproximado de retorno de inversión:

  1. `AGENTS.md` primero. Mayor valor por línea, funciona en diversas herramientas, fácil de escribir.
  2. `DESIGN.md` después, si desarrolla UI. Es la mayor mejora de calidad con el menor esfuerzo, porque nada más lo cubre.
  3. `CLAUDE.md` como una importación de una sola línea, más un anexo solo cuando tenga reglas específicas de la herramienta.
  4. Skills al final, una vez que note que el mismo procedimiento largo se explica repetidamente.

Cómo obtener un DESIGN.md sin tener que escribirlo

Cada kit de Identity Forge se serializa en un DESIGN.md completo —con design tokens semánticos en modo claro y oscuro, una combinación de fuentes real, motivos y reglas de uso— que cualquier agente de código puede leer. Los kits gratuitos no requieren cuenta.

¿Cuántos proyectos utilizan realmente cada uno de estos?

Los archivos suelen compararse según su *finalidad*. Vale la pena saber cómo se utilizan en la práctica, porque la brecha entre la convención y la práctica es donde comienza la mayor parte de la confusión.

Analizamos 299 archivos DESIGN.md en la raíz de repositorios públicos de GitHub y los medimos. El primer hallazgo replantea toda la comparación: solo el 24% de ellos describe el diseño visual. El otro 76% son documentos de arquitectura de software: cómo se construye un sistema, no cómo se ve un producto.

DESIGN.md es una colisión de nombres de archivo

El nombre es anterior por años a la convención de sistema de diseño. Si añade uno a un repositorio existente, espere que algunos lectores —y algunas herramientas— lleguen esperando un documento de arquitectura. Vale la pena incluir un encabezado de una línea que indique de qué tipo es el suyo.

Dentro de los 72 que describen genuinamente un sistema visual, no se está respetando la división de responsabilidades argumentada anteriormente. El 86% no utiliza nombres de roles de color semánticos, por lo que el archivo no puede aplicarse a ningún componente que no haya descrito explícitamente, que es precisamente la función para la que existe. El 76% no establece prohibiciones, y las prohibiciones son la forma de instrucción que los agentes siguen con mayor fiabilidad. El 69% omite el modo oscuro, dejando que todo un tema sea inventado.

La lectura práctica: la mayoría de los proyectos que añaden un DESIGN.md están escribiendo un documento en lugar de un contrato. La diferencia radica en si un agente puede resolver un valor a partir de él sin tener que adivinar.

Si solo escribo un archivo, ¿cuál debería ser?

AGENTS.md. Es leído por el conjunto más amplio de herramientas, no pertenece a ningún proveedor y contiene las reglas que evitan que un agente rompa la compilación. Si lanza una interfaz de usuario, DESIGN.md es la segunda opción más cercana porque nada más cubre ese terreno.

¿Sustituye AGENTS.md a CLAUDE.md?

En gran medida. Mantenga CLAUDE.md como @AGENTS.md más reglas genuinamente específicas de Claude. Elimine la parte final por completo si no tiene ninguna; una sección final vacía es más económica que una duplicada.

¿Se leen realmente estos archivos o es un efecto de cargo cult?

Se leen, pero no son mágicos. El modo de fallo observable es la longitud: un archivo de instrucciones de 600 líneas compite consigo mismo y las reglas específicas quedan enterradas bajo las generales. Los archivos cortos se siguen con más fiabilidad que los exhaustivos.

¿Puede DESIGN.md vivir simplemente dentro de AGENTS.md?

Puede, y para un proyecto pequeño es suficiente. Se separa bien una vez que el sistema visual tiene una profundidad real, porque las tablas de design tokens son largas y cambian en un calendario diferente al de los comandos de compilación, y porque un archivo separado puede ser consumido por herramientas que no leen las instrucciones del agente en absoluto.

¿Qué ocurre cuando dos archivos entran en conflicto?

El ámbito más estrecho debería prevalecer, pero no confíe en que el modelo arbitre con claridad. Los conflictos conviene eliminarlos en lugar de clasificarlos: si dos archivos no coinciden, uno de ellos está desactualizado.