Domina Claude Code — De cero a 10x — 8. CLAUDE.md: la memoria que se compone

18 min read min de lecture
Capítulo 08

CLAUDE.md: la memoria que se compone

Capítulo 8 de 10 · 80%

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.md en 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:

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.

En CLAUDE.mdLo permanente y transversal: convenciones, estructura del proyecto, enlaces a los archivos clave (brand-voice.md, journal), reglas de seguridad (.env), comandos frecuentes.
En una skillLos procedimientos detallados de una tarea precisa (/post, /plan-week): cargados solo cuando se ejecuta esa tarea.
En ningún sitio (o como referencia)Los contenidos grandes (docs de API completas, listas de muestras): se pone un enlace o una ruta en CLAUDE.md, Claude los leerá bajo demanda.
No pongas nunca un secreto (clave API, contraseña) en CLAUDE.md — está versionado en Git y se lee en cada sesión. Ahí se escribe dónde está la clave («en .env, variable SOCIAL_API_KEY») y cómo referenciarla, nunca su valor.

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
El bucle de memoria: cada sesión arranca con todo el contexto de la anterior.

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.

Felicidades 🎉 — ahora sabes construir frameworks reutilizables (skills, hooks, subagentes, memoria), no solo lanzar prompts aislados. Eso es exactamente lo que separa a un usuario ocasional de un usuario 10x.
🛠️ Te toca a ti

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

  1. Crea el CLAUDE.md con el prompt proporcionado en el capítulo.
  2. 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.
  3. Cierra la sesión, abre una nueva, y pregunta «¿qué sabes de este proyecto?».
  4. Verifica que conoce la voz, el quality gate y el journal sin ninguna reexplicación.
  5. Lanza un /post en esta sesión en blanco y verifica que todas las convenciones se respetan a la primera.
  6. Durante la sesión, captura una nueva regla al vuelo con # (por ejemplo un formato de fecha).
  7. Termina con «relee nuestra conversación y actualiza CLAUDE.md» y observa lo que Claude juzga digno de ser memorizado.
Pista — Crea un atajo que recargue CLAUDE.md y resuma el estado del proyecto al inicio de la sesión: contexto instantáneo, cero reexplicaciones.

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).
  • /init genera 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 + /clear sin 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?

Claude lee CLAUDE.md al inicio de cada sesión: conoce tu proyecto de entrada.

2. ¿Cómo mantener CLAUDE.md útil en el tiempo?

Como una skill, CLAUDE.md se mejora continuamente para componer tu experiencia.

3. ¿Dónde poner la preferencia «respóndeme siempre en español»?

Lo que es personal e independiente del proyecto va en tu memoria personal; el CLAUDE.md del proyecto se comparte con el equipo vía Git.

4. ¿Por qué hay que mantener CLAUDE.md corto y denso?

Un CLAUDE.md obeso estorba todas tus conversaciones con ruido. Los contenidos grandes se referencian con un enlace o una ruta, Claude los leerá bajo demanda.

5. ¿Qué hace el atajo # al inicio de un mensaje?

El # captura una regla al vuelo («# las fechas en formato DD/MM/AAAA»): la memoria se mantiene sin fricción.

6. ¿Qué información no debe figurar NUNCA en CLAUDE.md?

CLAUDE.md está versionado y se lee en todas partes: ahí se escribe dónde está la clave (.env) y cómo referenciarla, nunca su valor.

Auteur(s)

R

REHOUMA Haythem

Haythem Rehouma est un ingénieur et architecte IA et cloud, formateur et enseignant technique, avec un profil orienté IA médicale, AWS, MLOps, LLM/RAG et vision par ordinateur.