Un archivo de instrucciones de proyecto se lee al inicio de cada sesión, así que cada línea se paga en cada petición mientras el archivo exista. Ese solo hecho decide qué corresponde poner y qué no. Todo lo que se descubre leyendo el código —el lenguaje, el framework, la estructura de carpetas— se le está repitiendo a un lector que ya lo ve. Lo que sí compensa es lo contrario: el comando de pruebas que necesita una opción, la versión de Node que rompe la compilación, la convención que alguien nuevo adivinaría mal, aquello que ya le costó una tarde a alguien. Este creador se organiza en torno a esas categorías, estima lo que cuesta el archivo y señala las líneas que le están contando al repositorio cosas sobre sí mismo.
Características
Secciones guiadas por lo que corresponde poner, no por una página en blanco
Estimación de tokens continua: el coste en cada petición, no una vez
Señala líneas que repiten lo que el código ya muestra
Señala exhortaciones vacías que no cambian nada
Avisa cuando el archivo ha crecido hasta el tamaño en que se lee por encima
Indica cuándo no hay encabezados por los que podar
Las secciones vacías se descartan en vez de escribirse en blanco
Se descarga como CLAUDE.md
Cómo usar Instrucciones del proyecto
Nombra el proyecto
Rellena solo las secciones donde tengas algo no evidente que decir
Vigila la estimación de tokens mientras crece
Lee los avisos y descarga el archivo
Ejemplo
Entrada
This project is a React app.
Salida
Warning: the language and framework are visible from the manifest
La prueba para cada línea: ¿podría un lector averiguar esto en diez segundos?
Errores comunes y solución de problemas
El archivo aparece marcado como demasiado grande. — Mueve lo que solo sea relevante de vez en cuando a un documento aparte que la sesión pueda leer cuando lo necesite. El archivo de instrucciones es para lo que siempre es cierto.
Una línea que quería aparece marcada como descubrible. — Ignora el aviso si de verdad hace falta. La comprobación invita a preguntarte si un lector podría averiguarlo igualmente, no es una regla.
No cambia nada al añadir instrucciones. — Las instrucciones concretas y comprobables calan mucho mejor que las generales. «Usa las primitivas de components/ui» supera a «escribe código limpio».
¿Debería llamarse CLAUDE.md u otra cosa? — El contenido es el mismo. Guárdalo con el nombre que lea tu herramienta; la estructura y la disciplina sobre qué entra no cambian.
Preguntas frecuentes
¿Qué corresponde poner realmente en un archivo de instrucciones?
Lo que no se descubre leyendo el código y de otro modo se adivinaría mal: el comando que necesita una opción, la versión que rompe la compilación, la convención que no se ve en ningún archivo concreto y las prohibiciones explícitas. Lo demás se le está repitiendo a un lector que ya sabe leer.
¿Cuánto debería ocupar?
Lo bastante poco para que siga leyéndose. La estimación aparece mientras escribes; pasados un par de miles de tokens conviene preguntarse qué líneas son siempre relevantes, porque el resto puede vivir en un documento que se lee cuando hace falta.
¿Por qué señala «escribe código limpio»?
Porque no cambia nada. Una exhortación general cuesta tokens en cada petición y no da base para ninguna decisión; una convención concreta —dónde va la lógica, qué primitivas usar— sí.
¿Importa que esto se pague en cada petición?
Es la razón misma por la que hay que podar el archivo. Una página de instrucciones es un coste pequeño una vez y considerable a lo largo de miles de peticiones, y por eso la estimación se muestra junto al texto en vez de esconderse.
¿Puedo poner secretos o credenciales?
No: se lee al contexto en cada sesión y suele estar en el repositorio. Guarda las credenciales en tu entorno y menciónalas por su nombre si las instrucciones tienen que aludir a ellas.
Herramientas relacionadas
Constructor de skills — Escribe un SKILL.md con el frontmatter revisado mientras escribes.
Constructor de subagentes — Crea el archivo de definición de un subagente con sus herramientas y modelo.
Constructor de comandos — Crea un comando propio, con argumentos y una lista de herramientas.
Planificador de contexto — Reparte la ventana entre prompt, herramientas, historial y respuesta.
Planificador de caché — Ordena los bloques para que el prefijo cacheable sea lo más largo posible.
Linter de prompts — Encuentra contradicciones, instrucciones muertas y marcadores sin rellenar.
Más herramientas de IA y agentes
Constructor de skills — Escribe un SKILL.md con el frontmatter revisado mientras escribes.
Linter de skills — Pega un SKILL.md y descubre qué impide que se asocie a una tarea.
Constructor de subagentes — Crea el archivo de definición de un subagente con sus herramientas y modelo.
Constructor de comandos — Crea un comando propio, con argumentos y una lista de herramientas.
Manifiesto de plugin — Genera un plugin.json y mira la estructura de carpetas que espera.
Constructor de hooks — Crea hooks de settings.json y detecta los matchers que nunca se activan.