Cada sesión larga de Claude Code termina igual: pierdes horas de progreso y empiezas de cero.
La solución no es un modelo más inteligente, sino un sistema que el equipo de Claude Code usa internamente y del que nunca escribieron una guía.
La mayoría de los desarrolladores no lo tienen y ni siquiera saben que existe.
Aquí está el sistema completo 👇
🧠 Antes de profundizar, comparto notas diarias sobre IA y vibe coding en mi canal de Telegram: https://t.me/zodchixquant

Qué significa realmente la ingeniería de contexto
Claude lee miles de líneas en cada sesión. La mayor parte es ruido, y el 5% que importa queda enterrado para la segunda hora.
Ahí es cuando Claude empieza a inventar funciones y a corregir errores que nunca escribiste. La solución no es un modelo más grande, sino controlar lo que entra en la sesión.
Estos son los 6 patrones que el equipo de Claude Code usa en su propio monorepo.

Patrón 1: CLAUDE.md por capas (Pasos 1-3)
Un solo CLAUDE.md no basta. El equipo de Claude Code usa tres capas, cada una con un alcance distinto.
Paso 1: CLAUDE.md raíz con reglas globales del proyecto
Coloca un CLAUDE.md en la raíz de tu repositorio. Mantenlo por debajo de 100 líneas. Debe responder cuatro preguntas que Claude tiene en cada prompt:
1# Proyecto: [nombre]23## Stack4- Entorno de ejecución: Node 22, TypeScript 5.55- Framework: Next.js 15, React 196- Base de datos: Postgres 16, Drizzle ORM7- Pruebas: Vitest, Playwright89## Convenciones10- Importaciones: rutas absolutas desde `@/` solamente11- Componentes: archivos en kebab-case, exportaciones en PascalCase12- Pruebas: ubicadas junto al archivo como `[archivo].test.ts`13- Commits: conventional commits, sin co-author footer1415## No tocar16- `infra/terraform/` (gestionado por operaciones)17- `migrations/` (generadas, nunca editar a mano)18- `vendor/` (dependencias consolidadas)1920## Valores predeterminados21- Ejecutar `npm test` antes de declarar una tarea como completa22- Verificar tipos con `tsc --noEmit` en cada edición23- Formatear con Prettier al guardar
Paso 2: CLAUDE.md de subdirectorio para contexto específico del módulo
Agrega CLAUDE.md en cualquier carpeta donde cambien las reglas. Claude lee el más cercano cuando trabaja en esa carpeta, además del raíz.
Ejemplo, src/auth/CLAUDE.md:
1# Módulo de autenticación23Este módulo maneja la gestión de sesiones y los flujos OAuth.45## Reglas6- Nunca registrar tokens, ni siquiera truncados7- Todas las lecturas de sesión pasan por `getSession()`, nunca por cookies crudas8- Los nuevos proveedores requieren una revisión de seguridad antes de fusionar910## Archivos para leer primero11- `session.ts` para el contrato12- `providers/index.ts` para el patrón de registro
Paso 3: CLAUDE.md personal en ~/.claude/CLAUDE.md
Esta es tu capa de preferencias global. Vive fuera de cualquier repositorio, aplica en todas partes.
1## Mis preferencias - Explica lo que vas a hacer antes de hacerlo en ediciones de múltiples archivos - Rechaza si mi solicitud parece que va a romper algo - Prefiere composición sobre herencia - Trabajo en zsh en macOS
Las tres capas se apilan: preferencias globales + reglas del proyecto + reglas del módulo. Claude lee las tres en cada prompt sin necesidad de volver a subirlas a tu contexto.
Patrón 2: Referencias quirúrgicas a archivos (Pasos 4-5)
El enfoque por defecto de "dejar que Claude averigüe qué archivos importan" es la forma más lenta y menos inteligente de usar el contexto.
Paso 4:@file referencias con autocompletado
Cuando escribes @ en un prompt, Claude abre un selector difuso de archivos. Úsalo en lugar de describir archivos en prosa.
Mal: "mira el código de autenticación de usuario y el helper de sesión"
Bien: "mira
@src/auth /session.ts y
@src/auth /providers/google.ts, corrige la renovación del token"
Las referencias quirúrgicas cargan exactamente esos archivos. Las descripciones en prosa obligan a Claude a buscar, leer entre 4 y 5 archivos candidatos y elegir mal la mitad de las veces.
Paso 5: /focus para delimitar todo un flujo de trabajo
Para tareas más largas, delimita toda la sesión de Claude a carpetas específicas:
1/focus src/auth src/api/auth-routes
Ahora cada búsqueda, grep y lectura opera solo dentro de esas dos carpetas.
Reduce el uso de contexto entre un 60-80% en tareas enfocadas, y Claude deja de leer "servicialmente" archivos no relacionados para un contexto que no necesita.
Ejecuta /focus clear para restablecer.
Patrón 3: Compactar y continuar (Pasos 6-8)
Las sesiones largas alcanzan el límite de contexto y fallan. El truco no es evitar sesiones largas, sino ejecutarlas mediante una compactación controlada.
Paso 6: Monitorear el uso de contexto con /stats
Ejecuta /stats periódicamente.
Cuando superes el 70% de uso de contexto, estás en la zona de peligro. Más del 85%, Claude empieza a descartar mensajes antiguos sin avisarte.
Paso 7: /compact con instrucciones de preservación
/compact solo resume la conversación. Con instrucciones, le dices a Claude qué preservar textualmente:
1/compact preserve: current task plan, all decisions about the auth refactor, the failing test output from step 3
Paso 8: /resume para sesiones que abarcan varios días
Si una tarea abarca varios días, termina cada sesión con /compact preserve: ... y comienza la siguiente con:
1claude --resume [session-id]
O simplemente claude --continue para la sesión más reciente. Retoma exactamente donde lo dejaste con el estado compactado intacto.
Patrón 4: Lectura primero, plan después (Pasos 9-10)
La mayor fuga de contexto es que Claude edite archivos antes de entenderlos. El modo plan lo obliga a leer primero, escribir después.
Paso 9: Activar el modo plan en cada tarea riesgosa
Presiona Shift+Tab para entrar en modo plan antes de cualquier tarea que toque más de un archivo.
En modo plan, Claude solo puede leer. Explica lo que haría, enumera cada archivo que planea tocar y muestra los cambios propuestos. Nada se ejecuta hasta que tú lo apruebes.
Los ahorros son reales: una lectura, una edición, en lugar de leer 8, editar 3 mal, revertir, volver a leer, editar de nuevo.
Paso 10: Bloquear el modo plan para rutas sensibles mediante hooks
Haz que el modo plan sea obligatorio para áreas riesgosas. En .claude/settings.json:
1{2 "hooks": {3 "PreToolUse": [4 {5 "matcher": "Edit(src/auth/**)|Edit(migrations/**)",6 "hooks": [7 {8 "type": "command",9 "command": "claude-require-plan-mode"10 }11 ]12 }13 ]14 }15}
Cualquier intento de edición en src/auth/\ o migrations/\* activa un requisito de modo plan. Claude no puede evitarlo.
Patrón 5: Aislamiento de contexto de subagentes (Pasos 11-13)
Los subagentes son la forma más limpia de mantener tu contexto principal pequeño. Cada subagente se ejecuta en su propia ventana, por lo que la sesión padre nunca ve el ruido.
Paso 11: Diseñar subagentes con una superficie de herramientas mínima
Restringe las herramientas a lo que necesita el trabajo.
Un revisor de código no necesita Write ni Edit.
Un actualizador de documentación no necesita Bash. Menos superficie, menos contexto quemado en documentación irrelevante y descripciones de herramientas.
1---2name: code-reviewer3description: Revisar cambios de código en busca de errores y problemas de seguridad4tools: Read, Grep, Glob5model: sonnet6---
Paso 12: Pasar solo las referencias a archivos que el agente necesita
No digas "revisa los cambios recientes". Di "revisa [@src/auth](https://x.com/@src/auth)/session.ts y [@src/auth](https://x.com/@src/auth)/providers/google.ts.**"
El subagente lee solo esos archivos, no su mejor suposición de lo que significa "reciente".
Paso 13: Usar modelos más baratos para los subagentes
Configura el modelo por agente según la tarea.
Sonnet para tareas de revisión y pruebas, Haiku para actualizaciones de documentación y linters, Opus solo para auditorías de arquitectura o seguridad donde importa el razonamiento profundo.
Configúralo globalmente si es necesario:
1export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-6"
Subagentes más baratos = más llamadas a subagentes por dólar = más aislamiento = contexto principal más pequeño.
El iniciador de ingeniería de contexto de 30 minutos
10 minutos: escribe un CLAUDE.md raíz ajustado con stack, convenciones, lista de "no tocar" y valores predeterminados.
5 minutos: agrega un CLAUDE.md de subdirectorio en tus 2-3 módulos más editados.
5 minutos: coloca un CLAUDE.md personal en ~/.claude/CLAUDE.md con tus preferencias.
5 minutos: construye una habilidad en .claude/skills/ para el flujo de trabajo que haces con más frecuencia.
5 minutos: asocia la combinación Shift+Tab a la memoria muscular y comienza cada tarea de múltiples archivos en modo plan.
¡Listo!
Tu próxima sesión usará entre un 50-70% menos de contexto para la misma cantidad de trabajo. Para la sesión 5, los patrones se vuelven reflejos y dejas de alcanzar el límite por completo.
El contexto no es algo que Claude gestione por ti. Es algo que tú ingenierías.
Ahora tienes el sistema.
¡Gracias por leer!
Comparto notas diarias sobre IA, finanzas y vibe coding en mi canal de Telegram: https://t.me/zodchixquant






