Guías

¿CLAUDE.md demasiado largo? Qué recortar y adónde llevarlo

Un CLAUDE.md es demasiado largo cuando contiene líneas sin las que el agente no se equivocaría. Neomanex lo arregla con una auditoría: prueba cada línea, conserva lo que evita un error y lleva el resto a una página de documentación, una skill, una regla de carpeta, un flujo de trabajo de ConvOps o un hook, tanto en CLAUDE.md como en AGENTS.md.

DM

David Marsa

Founder & CEO

Principiante10 min de lecturaPublicada el 9 oct 2026

Última verificación: 9 oct 2026

Herramientas y modelos tratados:Claude CodeOpenCode
Como hacer una maleta de cabina: el archivo se queda con lo que el agente necesita en cada sesión, y cada línea restante va a un sitio etiquetado al que puede acudir cuando la necesite.

Lo que serás capaz de hacer

  • Medir las palabras que se cargan juntas en tu proyecto frente a un presupuesto.
  • Aplicar la prueba de una línea a cada línea y anotar cada veredicto en un registro de recortes.
  • Llevar cada línea recortada al destino correcto y dejar un puntero de una línea.
  • Configurar un único archivo de instrucciones que lean Claude Code, OpenCode y Kimi Code.
  • Confirmar que se ha cargado con /context y volver a comprobar el recuento de palabras cada vez que cambie.

Ideas clave

  • Un CLAUDE.md es demasiado largo cuando contiene líneas sin las que el agente no se equivocaría; Anthropic fija el objetivo en menos de 200 líneas por archivo, y nosotros presupuestamos palabras, no líneas.
  • Hazle una sola pregunta a cada línea: ¿se equivocaría el agente sin ella? Quédate solo con los síes.
  • Cada línea recortada recibe un destino: una página de documentación, una regla de carpeta, una skill, un paso de flujo de trabajo, un hook o la papelera.
  • Mantén CLAUDE.md como única fuente y convierte AGENTS.md en un enlace simbólico a él: es la configuración más sencilla en la que Claude Code, OpenCode y Kimi Code leen las mismas instrucciones.
  • Vuelve a medir con un recuento de palabras en cada edición, porque un archivo recortado vuelve a crecer.

Un CLAUDE.md es demasiado largo cuando contiene líneas sin las que el agente no se equivocaría. La documentación de Anthropic fija como objetivo menos de 200 líneas por archivo CLAUDE.md; nosotros presupuestamos palabras, porque las líneas esconden la densidad. Al terminar esta guía habrás auditado tu archivo línea a línea, le habrás dado un sitio a cada línea recortada y tendrás un único archivo que leen Claude Code, OpenCode y Kimi Code.

Un archivo de instrucciones largo no es un problema de redacción. Es un problema de orden: casi todas sus líneas son ciertas, solo que están en el sitio equivocado. Una línea mal colocada cuesta contexto en cada sesión y entierra las reglas que importan. Anthropic lo dice sin rodeos: los archivos CLAUDE.md sobrecargados hacen que Claude ignore tus instrucciones reales (Anthropic, Best practices(se abre en una pestaña nueva)).

Todos los ejemplos usan Mossbank, una app de planificación inventada para empresas de fontanería y calefacción. Su archivo y sus cifras son inventados; los presupuestos y las reglas son los que aplicamos en Neomanex.

Qué necesitas antes de empezar

Audita los archivos que se cargan juntos, no el que tengas abierto en ese momento. El agente nunca ve un archivo aislado: Claude Code carga todos los CLAUDE.md desde la raíz del proyecto hasta la carpeta en la que trabajas, más todo lo que importan.

NecesitasPor qué
Todos los archivos de instrucciones que se cargan en tu carpeta de trabajoEl agente paga por la suma
Un contador de palabras (wc -w en macOS o Linux)El presupuesto está en palabras
/context en Claude CodeMuestra qué archivos se han cargado de verdad

Mide lo que se carga de verdad

Dejamos de contar líneas. Una fila de tabla puede contener un párrafo, así que presupuestamos palabras y tratamos un archivo denso como uno largo.

El coste de un archivo son sus palabras: dos archivos de 180 líneas pueden tener costes muy distintos, así que el presupuesto se fija en palabras para cada tipo de archivo y para todo lo que se carga junto.

Ejecuta wc -lw en cada archivo, suma las palabras y divide las palabras entre las líneas. Por encima de unas 15 palabras por línea, las celdas de las tablas se han convertido en párrafos: divide la celda o saca el contenido.

ArchivoObjetivoMáximoPor qué
Archivo hijo (una subcarpeta)500 palabras750 palabrasSolo añade lo que le falta al padre
Raíz del proyecto1200 palabras1800 palabrasIdentidad, mapa de carpetas, tests, despliegue y trampas habituales; los hijos llevan el resto
Raíz del espacio de trabajo (muchos proyectos)2000 palabras2800 palabrasSe carga en cada sesión, para cualquier tipo de trabajo
Todo lo que se carga junto5000 palabras7000 palabrasEl agente paga por la suma, no por un archivo

El objetivo de líneas de Anthropic existe porque «los archivos más largos consumen más contexto y reducen el grado de cumplimiento» (Anthropic, Memory(se abre en una pestaña nueva)). Las importaciones cuentan enteras: los archivos importados también se cargan al arrancar.

El archivo raíz de Mossbank tiene 420 líneas y unas 9600 palabras: 23 palabras por línea, muy por encima del máximo de 1800 palabras para la raíz de un proyecto.

Aplica la prueba de una línea a cada línea

La pregunta de poda de Anthropic es toda la auditoría: ¿eliminar esta línea haría que Claude cometiera un error? La disciplina está en hacérsela a cada línea, incluidas las que escribiste la semana pasada.

¿Qué es un registro de recortes? Un registro de recortes es una tabla con una fila por cada línea o bloque del archivo: la línea, si el agente se equivoca sin ella, por qué y adónde va la línea.

#Línea del archivo de Mossbank¿Error sin ella?Por quéVa a
1«Ejecuta los tests con make test, nunca con pytest a secas»Sípytest a secas se salta los fixtures de la base de datosSe queda
2«price se guarda en céntimos (ver models/job.py)»SíUna suposición errónea corrompe los datosSe queda, con su fuente
3Un mapa de módulos de 60 líneasA vecesReferencia, necesaria al navegarPágina de documentación
4Cómo añadir un proveedor de pagos, en 14 pasosSolo para esa tareaUn procedimientoSkill
5«En migrations/, no edites nunca una migración que ya se haya ejecutado»Solo en esa carpetaUn subárbolRegla de carpeta
6«NUNCA ejecutes db reset contra staging»No debe ocurrir nuncaLa prosa es orientativaHook
7Lanzamiento: versión, changelog, etiqueta, despliegue, página de estado, preguntar a Dana antes de etiquetarSolo al lanzarUn orden y una aprobaciónPaso de flujo de trabajo
8«Usa sangría de 4 espacios»NoEl formateador la imponeEliminar
9«La API tiene 37 endpoints»NoEs errónea en el siguiente commitEliminar
10La lista de parámetros de las herramientas MCP del equipoNoLa herramienta envía su propio esquemaEliminar

Se quedan dos filas. La fila 2 se queda solo porque nombra el archivo que la demuestra.

Dale un destino a cada línea recortada

Eliminar es el último recurso, no el primero. La mayoría de las líneas recortadas son conocimiento que debe estar en algún sitio que el agente lea solo cuando lo necesite.

Una línea que no supera la prueba de una línea va al primer destino cuya pregunta responde con un sí: hook, paso de flujo de trabajo, regla de carpeta, skill, página de documentación o eliminar.

Haz las preguntas en este orden. El primer sí elige el destino.

DestinoRecibeSe carga
HookAlgo que debe pasar siempre o no pasar nuncaEn cada llamada a una herramienta, y bloquea
Paso de flujo de trabajoUn proceso con un orden o una aprobaciónEn ese paso
Regla de carpetaAlgo que solo es cierto en una carpetaCuando el agente lee, escribe o edita un archivo de esa carpeta
SkillUn procedimiento que necesitan algunas tareasCuando la tarea encaja; hasta entonces solo se carga su descripción corta
Página de documentaciónReferencia: mapas, explicacionesCuando el agente sigue el puntero
EliminarRecuentos, historia, copias, todo lo que el agente ya hace bienNunca

El hook va primero porque el archivo es orientativo: la documentación de Anthropic dice que, para bloquear una acción decida lo que decida Claude, uses un hook PreToolUse. Nuestra guía para impedir que Claude Code borre tus archivos monta uno paso a paso. Una regla de carpeta en Claude Code es un archivo de .claude/rules/ con frontmatter paths:, en este caso con migrations/**, o un CLAUDE.md hijo en esa carpeta. Nosotros limitamos las nuestras por ruta.

La lista de comprobación de lanzamientos de Mossbank es el clásico ejemplo de línea mal archivada: un orden y la aprobación de Dana, leídos enteros en cada sesión, con la parada confiada a la memoria. Nosotros guardamos este tipo de procesos como flujos de trabajo de ConvOps(se abre en una pestaña nueva), de modo que el agente lee un paso cada vez y la aprobación es un paso en sí misma (cómo dirigimos nuestra empresa con flujos de trabajo). Saca todos los procesos y el archivo se reduce a un archivo de identidad: esa es la vía radical, la ingeniería de grafos.

Mueve cada línea y deja un puntero de una línea

Un recorte que pierde conocimiento no es un recorte. Es un bug futuro, así que cada línea movida deja un puntero.

El CLAUDE.md de 420 líneas de Mossbank conserva las líneas que evitan errores y lleva cada una de las demás a un destino desde el que se carga solo cuando hace falta.

El mapa de módulos de Mossbank pasa a docs/module-map.md, y el archivo conserva una línea que nombra la página. De las 420 líneas, 90 se quedan, 150 van a tres páginas de documentación, 60 a dos skills, 30 a una regla de carpeta, 25 al flujo de trabajo de lanzamiento, 10 a dos hooks y 55 se eliminan. El archivo termina con unas 100 líneas, las 90 conservadas más 10 punteros, y 1100 palabras, por debajo del objetivo de 1200.

Una importación con @ no es un recorte. @docs/module-map.md carga la página al arrancar de todos modos. Un puntero normal no carga nada hasta que el agente lo sigue.

Haz que un solo archivo sirva como CLAUDE.md y AGENTS.md

Dos archivos de instrucciones para tres herramientas significan que cada herramienta lee un archivo distinto. Nosotros mantenemos una sola fuente y enlazamos el otro nombre a ella.

Con dos archivos, Claude Code lee CLAUDE.md mientras OpenCode y Kimi Code leen AGENTS.md; con AGENTS.md como enlace simbólico a CLAUDE.md, las tres herramientas leen el mismo archivo una sola vez (probado en octubre de 2026).

Probamos cada configuración el 9 de octubre de 2026, con una palabra clave distinta en cada archivo:

Configuración en la carpeta del proyectoClaude Code 2.1.295OpenCode 1.18.31Kimi Code 0.31.1
Solo AGENTS.mdCarga AGENTS.mdCarga AGENTS.mdCarga AGENTS.md
CLAUDE.md y AGENTS.md, dos archivosSolo carga CLAUDE.mdSolo carga AGENTS.mdSolo carga AGENTS.md
AGENTS.md como enlace simbólico a CLAUDE.mdLo carga una vezLo carga una vezLo carga una vez
Solo CLAUDE.mdCarga CLAUDE.mdCarga CLAUDE.mdNo lo carga

Dos archivos separados acaban divergiendo, así que cada herramienta sigue instrucciones distintas. Con solo CLAUDE.md, Kimi Code se queda sin nada. Mantén CLAUDE.md como fuente y ejecuta ln -s CLAUDE.md AGENTS.md: de las cuatro configuraciones que probamos, es la única en la que las tres herramientas leen el mismo texto una sola vez. El nuestro se genera: un script crea un AGENTS.md junto a cada CLAUDE.md, así que cada carpeta tiene una sola fuente.

Según la documentación de Anthropic, las herramientas Edit y Write de Claude Code se niegan a escribir a través de un enlace simbólico, así que edita CLAUDE.md; en Windows, haz que CLAUDE.md sea una importación de una línea, @AGENTS.md. Elimina o mueve los dos archivos juntos: un CLAUDE.md eliminado deja su enlace AGENTS.md apuntando a la nada.

Comprueba que se ha cargado y vuelve a comprobarlo cada vez que crezca

Un archivo recortado vuelve a crecer por defecto, porque cada lección quiere vivir en el archivo que todos leen. La nueva comprobación forma parte de la edición, no de un día de limpieza.

ComprobaciónCómoQué ves
¿Se ha cargado?/context en Claude CodeLa lista Memory files (archivos de memoria) nombra cada archivo cargado; con el enlace simbólico, solo CLAUDE.md
¿Está dentro del presupuesto?wc -w sumado sobre los archivos que se cargan juntosUn número que contrastar con el presupuesto en cada edición
¿Hay contradicciones? (opcional)/doctor prompt-audit, Claude Code 2.1.283 o posteriorInstrucciones obsoletas o contradictorias con propuestas de edición; nada cambia hasta que lo pidas

El archivo de Mossbank gana dos líneas en su primera semana (y las dos son lecciones reales), y el recuento de palabras las detecta. La regla: una lección nueva va primero a su destino, y al archivo en último lugar.

Empieza por tu proceso más largo. Crea una cuenta gratuita de ConvOps(se abre en una pestaña nueva), pide a tu IA que escriba ese proceso como flujo de trabajo y después elimínalo del archivo. ¿Quieres que alguien más revise los archivos de instrucciones de tu equipo? Reserva una sesión de descubrimiento gratuita.

Errores habituales y las reglas que nos dejaron

Cada regla de nuestro presupuesto existe porque un archivo se equivocó en algo, no porque lo dijera una guía de estilo. Cada error de abajo nos pasó a nosotros; aquí lo contamos con el ejemplo de Mossbank.

ErrorEn MossbankRegla que nos dejó
Contar líneasUn archivo de 180 líneas con 33 palabras por línea son unas 6000 palabrasPresupuesta palabras; marca lo que pase de unas 15 palabras por línea
Un contrato sin fuenteEl archivo dice que price está en euros; está en céntimos, así que el agente escribe un descuento en eurosUna línea que define un campo, un tipo o una forma cita el archivo que lo demuestra
Pasos de despliegue en un archivo hijoworker/CLAUDE.md sigue describiendo el despliegue antiguo y contradice a la raízEl padre es dueño de cada dato; un hijo lleva como mucho un puntero
Recuentos«La API tiene 37 endpoints» es erróneo en el siguiente commitDescribe, nunca cuentes
Repetir una regla que ya se cargaEl archivo copia las reglas de tests compartidas, con una opción antiguaApunta a la regla; nunca la repitas

Pasos

  1. Mide lo que se carga de verdad

    Ejecuta wc -lw en cada archivo de instrucciones que se carga en tu carpeta de trabajo, importaciones incluidas, y suma las palabras. Compara cada archivo y el total con el presupuesto de palabras, y marca cualquier archivo que pase de unas 15 palabras por línea.

  2. Aplica la prueba de una línea a cada línea

    Para cada línea o bloque, pregúntate si el agente cometería un error sin ella. Anota la línea, la respuesta y el motivo en un registro de recortes, y quédate solo con los síes.

  3. Dale un destino a cada línea recortada

    Pregunta en este orden: ¿debe pasar siempre o no pasar nunca? (hook); ¿tiene un orden o una aprobación? (paso de flujo de trabajo); ¿solo es cierta en una carpeta? (regla de carpeta); ¿es un procedimiento para algunas tareas? (skill); ¿es referencia? (página de documentación). Si todas las respuestas son no, elimínala.

  4. Mueve cada línea y deja un puntero de una línea

    Mueve cada línea a su destino y deja en el archivo un puntero de una línea allí donde el agente necesite encontrarla. Nunca cuentes una importación con @ como recorte, porque los archivos importados se cargan al arrancar.

  5. Haz que un solo archivo sirva como CLAUDE.md y AGENTS.md

    Mantén CLAUDE.md como fuente y ejecuta ln -s CLAUDE.md AGENTS.md en la misma carpeta, para que Claude Code, OpenCode y Kimi Code lean el mismo texto una sola vez. Elimina o mueve los dos archivos juntos.

  6. Comprueba que se ha cargado y vuelve a comprobarlo cada vez que crezca

    Ejecuta /context en Claude Code y confirma que el archivo aparece en Memory files. En cada edición, vuelve a ejecutar wc -w frente al presupuesto, y lleva cada lección nueva a su destino antes que al archivo.

Preguntas frecuentes

¿Cuánto es demasiado largo para un CLAUDE.md?

La documentación de Anthropic fija el objetivo en menos de 200 líneas por archivo CLAUDE.md. En Neomanex presupuestamos palabras, porque un archivo corto de filas de tabla densas también cuesta mucho: unas 1200 palabras para la raíz de un proyecto, 2000 para la raíz de un espacio de trabajo grande y 5000 para todo lo que se carga junto. Por encima de esas cifras, o de unas 15 palabras por línea, el archivo es demasiado largo. La prueba real es línea a línea: conserva solo lo que evita un error.

¿Quién debería recortar su CLAUDE.md o AGENTS.md?

Deberían recortarlo los desarrolladores y responsables de equipo cuyo agente de programación ignora reglas que se le dieron, o cuyo archivo de instrucciones crece con cada lección. En Neomanex la regla es auditar un archivo en cuanto supera su presupuesto de palabras. El resultado es un archivo que el agente sigue y que cuesta menos contexto en cada sesión, con el conocimiento recortado guardado en páginas de documentación, skills, reglas de carpeta, flujos de trabajo y hooks.

¿Qué debo quitar primero de mi CLAUDE.md?

Elimina lo que el agente nunca necesita: recuentos que se quedan obsoletos, la historia del proyecto, copias de otros archivos, listas de parámetros que la herramienta ya envía y reglas de estilo que impone un formateador. El estándar de Neomanex las trata como eliminaciones directas, porque cuestan contexto y no aportan nada. Después lleva el material de referencia a páginas de documentación, y los procesos con un orden o una aprobación a flujos de trabajo, que es donde Neomanex los guarda, en ConvOps.

¿Importar archivos con @ hace más corto mi CLAUDE.md?

No. En Neomanex contamos cada importación con @ dentro del presupuesto de palabras, porque la documentación de Anthropic dice que los archivos importados también se cargan al arrancar, así que una importación mueve el texto sin reducir su coste. Un recorte de verdad es una página de documentación con un puntero de una línea, una skill o una regla limitada por ruta, porque cada una de ellas se carga solo cuando el agente la necesita.

¿Por qué Claude no usa mi AGENTS.md?

Claude Code solo lee AGENTS.md cuando no existe ningún CLAUDE.md en la carpeta ni por encima de ella. Neomanex lo probó en Claude Code 2.1.295 en octubre de 2026: con los dos archivos presentes, solo cargó CLAUDE.md. La solución es una sola fuente por carpeta: conserva CLAUDE.md y convierte AGENTS.md en un enlace simbólico a él o, en Windows, haz que CLAUDE.md sea una importación de una línea, @AGENTS.md.

¿Un AGENTS.md demasiado largo es el mismo problema que un CLAUDE.md demasiado largo?

Sí, y requiere la misma auditoría. Neomanex probó OpenCode 1.18.31 y Kimi Code 0.31.1 en octubre de 2026: los dos leen AGENTS.md, OpenCode ignora CLAUDE.md cuando existe un AGENTS.md y Kimi Code no carga el CLAUDE.md del proyecto. Un único CLAUDE.md recortado, con AGENTS.md como enlace simbólico a él, sirve a Claude Code, OpenCode y Kimi Code con el mismo texto.

¿Cómo soluciono el error «prompt is too long» (prompt demasiado largo) en Claude?

Ejecuta /context en Claude Code para ver qué llena la ventana de contexto y después ejecuta /compact o empieza una sesión nueva. En Neomanex tratamos este error como una conversación llena, que es un problema distinto de un archivo de instrucciones largo. Un CLAUDE.md ligero sigue ayudando, porque se carga antes de tu primer mensaje y cada sesión empieza más pequeña.