CLAUDE.md: la memoria que se compone
Objetivos de este capítulo
- Entender el problema de la sesión en blanco
- Crear un CLAUDE.md que codifica tu proyecto
- Hacer evolucionar esta memoria en el tiempo
El problema de la sesión en blanco
En cada nueva sesión, Claude empieza de cero. Vuelves a explicar el proyecto, las convenciones, dónde están los archivos, cómo referenciar la clave API… Es una pérdida de tiempo repetida, pero es peor que eso: es una pérdida de fiabilidad. Un día olvidas mencionar una convención, y Claude muestra una clave API en claro en un comando o guarda un archivo en el lugar equivocado. La calidad de tu sistema depende entonces de tu memoria del momento — exactamente lo que buscamos eliminar desde el principio del curso.
La solución se llama CLAUDE.md. Es un archivo en la raíz de tu proyecto que Claude Code lee al inicio de cada sesión, antes incluso de tu primer mensaje. Todo lo que pongas ahí se convierte en contexto persistente: Claude lo conoce antes de que hables. Es la diferencia entre un interino al que hay que volver a informar cada mañana y un colaborador que conoce la casa.
Una memoria de varios pisos
CLAUDE.md no existe solo en la raíz del proyecto. Claude Code lee en realidad una jerarquía de archivos de memoria, del más general al más específico: tu archivo personal ~/.claude/CLAUDE.md (tus preferencias válidas en todos tus proyectos — idioma, estilo de respuesta, convenciones personales), el CLAUDE.md del proyecto (versionado en Git, compartido con el equipo), y eventuales CLAUDE.md en subcarpetas para las reglas propias de una parte del proyecto.
~/.claude/CLAUDE.md— tus preferencias personales, para todos los proyectos.CLAUDE.mden la raíz del proyecto — convenciones y contexto del proyecto, compartidos vía Git.subcarpeta/CLAUDE.md— reglas específicas de una zona, cargadas cuando Claude trabaja ahí.
Esta jerarquía responde a la pregunta «dónde poner qué». La regla es la misma que en el capítulo 3 para las skills: lo que es personal va contigo, lo que pertenece al proyecto va en el proyecto. «Respóndeme siempre en español» → personal. «La clave API se referencia vía el archivo .env, nunca en claro» → proyecto.
Crear tu CLAUDE.md
Dos caminos posibles. El primero: el comando /init, que analiza tu proyecto y genera un primer CLAUDE.md — es el buen reflejo en un proyecto existente que Claude no conoce. El segundo, más preciso para nuestro caso: pedir a Claude codificar lo que habéis construido juntos, ya que tiene todo el contexto. Pega este prompt:
crea un archivo CLAUDE.md que codifique todo lo que hemos construido en este proyecto: - enlace a la doc de la API utilizada - dónde está la clave API y cómo referenciarla en los comandos - convenciones de comandos (siempre inline, etc.) - enlace al archivo de voz de marca - enlace a la config del quality gate - enlace al journal de los posts - cualquier otro patrón que hayamos establecido
Claude recorre el proyecto, reúne los patrones recurrentes que funcionaron bien, y los codifica. A partir de ahora cada sesión arranca con todo el contexto: la estructura del proyecto de Lea, sus convenciones, sus barreras. Abre el archivo generado y léelo — es la fotografía de todo lo que has aprendido en este curso.
Lo que va en CLAUDE.md (y lo que no)
La tentación, una vez entendido el mecanismo, es meterlo todo. Error: CLAUDE.md se carga en el contexto de cada sesión, cada palabra tiene por tanto un coste permanente. Un archivo de 400 líneas estorba todas tus conversaciones con detalles inútiles el 95% del tiempo — exactamente el ruido que combatimos desde el capítulo 2. El objetivo: un archivo corto y denso, donde cada línea merece ser leída en cada sesión.
El atajo #: memorizar al vuelo
Mantener esta memoria no debe ser una carga, si no, no lo harás. Claude Code tiene un atajo dedicado: empieza un mensaje con # y lo que escribas se propone para añadirse a la memoria, sin interrumpir tu trabajo. ¿En plena sesión notas que Claude ha usado otra vez un formato de fecha que te disgusta? Escribe # las fechas siempre en formato DD/MM/AAAA — la regla queda capturada, la sesión continúa.
El otro mecanismo de mantenimiento, más estructural: al final de una sesión de trabajo rica, pide «relee nuestra conversación y actualiza CLAUDE.md con los patrones que hemos establecido». Claude extrae las decisiones duraderas de la conversación y las funde en la memoria. Es el equivalente del acta de reunión — diez segundos en pedirlo, y nada se pierde.
El saber que se compone
Como tus skills, tu CLAUDE.md evoluciona continuamente — y es ese bucle el que lo cambia todo. Cada sesión construye sobre la anterior en lugar de empezar de cero: así es como tu experiencia se compone en el tiempo, en el sentido del interés compuesto. La mayoría de la gente usa la IA de forma lineal: 100 sesiones, 100 veces el mismo nivel. Con una memoria mantenida, tu sesión 100 arranca con el condensado de las 99 anteriores.
flowchart LR S["Sesión de trabajo"] --> U["«actualiza CLAUDE.md»"] U --> M["CLAUDE.md enriquecido"] M -->|"Leído al arrancar"| N["Nueva sesión"] N --> S
Y el bucle se cierra con el capítulo 2: ahora puedes hacer /clear sin remordimientos. El ruido conversacional desaparece, lo esencial vuelve por CLAUDE.md. Contexto limpio y memoria duradera — las dos exigencias que parecían contradictorias al principio del curso quedan reconciliadas.
¿Y ahora qué?
Haz balance del sistema de Lea: una skill /post multiplataforma con su voz de marca, un quality gate que hace imposibles los errores públicos, subagentes que publican en paralelo, un comando /plan-week que orquesta la semana, y una memoria de proyecto que hace que todo se mantenga en el tiempo. Lea escribe una frase; el sistema hace el resto, bajo su control.
Para ir más lejos, tres direcciones naturales: conectar más herramientas externas vía MCP (CRM, analytics, calendarios — el comando claude mcp add es tu punto de entrada), explorar el modo navegador para que Claude pruebe él mismo lo que publica, y sobre todo: repetir el método de este curso en otro proceso de tu vida profesional. El método — skill, barrera, paralelización, validación, memoria — es el verdadero entregable de este curso. Lea solo era el pretexto.
Contexto
El sistema de Lea está completo y funciona — pero todo su saber hacer vive aún en la sesión en curso. Si cierra la ventana, el sistema queda, el conocimiento se evapora. Quieres que sobreviva a las nuevas sesiones, que un eventual colaborador pueda retomarlo clonando el repo, y que siga mejorando con el tiempo. Es la prueba final: una sesión en blanco debe saberlo todo.
Instrucciones
- Crea el CLAUDE.md con el prompt proporcionado en el capítulo.
- Abre el archivo y reléelo: verifica que referencia la voz de marca, el quality gate y el journal, y que ningún secreto figura en claro.
- Cierra la sesión, abre una nueva, y pregunta «¿qué sabes de este proyecto?».
- Verifica que conoce la voz, el quality gate y el journal sin ninguna reexplicación.
- Lanza un
/posten esta sesión en blanco y verifica que todas las convenciones se respetan a la primera. - Durante la sesión, captura una nueva regla al vuelo con
#(por ejemplo un formato de fecha). - Termina con «relee nuestra conversación y actualiza CLAUDE.md» y observa lo que Claude juzga digno de ser memorizado.
En resumen
- CLAUDE.md se lee al inicio de cada sesión: contexto persistente, cero re-briefing.
- La memoria es jerárquica:
~/.claude/CLAUDE.md(personal), raíz del proyecto (compartido vía Git), subcarpetas (específico). /initgenera un primer CLAUDE.md en un proyecto existente; aquí codificamos lo que hemos construido juntos.- Mantenlo corto y denso: cada línea cuesta contexto en cada sesión — los contenidos grandes se referencian, no se pegan.
- Nunca secretos dentro: se escribe dónde está la clave y cómo referenciarla, no su valor.
- El atajo
#captura una regla al vuelo; «actualiza CLAUDE.md» al final de la sesión hace el acta. - Memoria duradera +
/clearsin remordimientos: tu experiencia se compone en lugar de empezar de cero. - El verdadero entregable del curso: el método skill → hook → subagentes → validación → memoria, transponible a todo proceso.
Quiz — comprueba tu comprensión
1. ¿Para qué sirve CLAUDE.md?
2. ¿Cómo mantener CLAUDE.md útil en el tiempo?
3. ¿Dónde poner la preferencia «respóndeme siempre en español»?
4. ¿Por qué hay que mantener CLAUDE.md corto y denso?
5. ¿Qué hace el atajo # al inicio de un mensaje?
6. ¿Qué información no debe figurar NUNCA en CLAUDE.md?