← SCRAM AI Lab
No usamos Claude Code para "generar código". Lo usamos para operar un sistema de 127 modelos de datos y 655 endpoints con un equipo chico. Así está montado: memoria en el repo, skills escritos desde el código real, hooks, y tres reglas que aprendimos a golpes en producción.
September 10, 2026
26 lecturas

Para operar un sistema, no para escribir funciones sueltas. La plataforma que corre scram2k.com, el ERP, el CRM, la logística y el asistente Nemi tiene, al 8 de septiembre de 2026, 127 modelos de datos, 655 endpoints en 93 controladores, 31 crons y 66 pantallas en el portal de administración. La contamos con comandos, no de memoria; el inventario está en el repositorio con el comando al lado de cada cifra. Con un equipo chico, la única forma de sostener eso es que el agente que programa tenga la misma memoria que nosotros y las mismas reglas.
Este artículo es la receta tal como está montada hoy, incluyendo lo que salió mal. Si buscas "diez prompts para Claude Code", no es aquí.
En el repositorio y en archivos de memoria por proyecto, nunca en la conversación. Tres capas:
| Capa | Qué guarda | Quién la escribe | Ejemplo real |
|---|---|---|---|
CLAUDE.md del repo | Stack, convenciones, cómo se despliega, voz de marca del chatbot | Personas | "No usar transition: all"; "verificar deploy con .deployed-sha, nunca con gh run list" |
| Memoria por proyecto (un archivo por hecho) | Decisiones cerradas, trampas verificadas, cifras con fecha | El agente, al cerrar cada sesión | "El servicio api del compose no lee env_file: la variable va también en el compose del repo" |
| Grafo del código (graphify) | Quién llama a qué, dónde se define una ruta | Hook post-commit | Reconstruye en segundo plano después de cada commit |
La regla de oro de la memoria: se guarda lo que no se puede derivar del código. Que existe un servicio de cotizaciones lo dice el código. Que ese servicio manda el PDF al cliente cuando cambias el estado a "enviada", y que por eso el bot pide segunda confirmación antes de convertir a pedido, eso lo dice la memoria, porque lo descubrimos leyendo dos líneas de un servicio y nos costó una tarde.
Un skill es un procedimiento que el agente sigue cuando la tarea encaja. Tenemos más de 60 instalados, la mayoría genéricos. Los tres que más valor dan son los que escribimos nosotros a partir de código que ya funcionaba en producción:
/nueva-herramienta-agente): crea una herramienta de datos para el registro de Nemi con su candado por nivel de rol, reglas de negocio verificadas contra los datos y pruebas. Nació después de que una consulta de ventas agrupara por el campo equivocado y diera una cifra 3.7 veces mayor para una persona; la regla "agrupar por ownerId, nunca por sellerName" vive ahí.El patrón es el mismo en los tres: primero se resuelve el problema a mano, con errores; después se destila en un skill con lo que sí funcionó y lo que no. Un skill escrito antes de tener el código funcionando es teoría.
Desde la versión 2.1.257 de Claude Code (1 de septiembre de 2026), Fable 5.1 es el modelo por defecto, a $10 de entrada y $50 de salida por millón de tokens. Nosotros no lo dejamos suelto. Tres ajustes que hicimos la primera semana de septiembre:
modelPicker con una lista curada: Opus 5 para el trabajo diario, Fable 5.1 para refactorizaciones grandes y para las sesiones de diagnóstico en producción.PreModelSwitch que pide confirmación antes de subir a Fable. Cuesta un clic y evita que una sesión larga se vaya a la tarifa alta por inercia./skill-doctor una vez: 14 skills sin uso en el trimestre consumían cerca de 9,000 tokens de contexto por sesión solo por estar listados. Fuera.Lo que no medimos todavía, y lo decimos: no tenemos la cifra de cuánto bajó la factura mensual con estos ajustes. Tenemos el gasto por sesión, que sí bajó en el primer turno, y publicaremos el mes completo cuando cierre septiembre.
Nemi, el mapache que atiende en scram2k.com, no es una animación comprada: es un SVG dibujado y animado en código, con resortes, una máquina de estados y una línea de tiempo por gesto, hecho con Claude Code en el widget del chat. La cabeza se vectorizó por contorno desde una ilustración de referencia con un script en Python de 130 líneas que escribió el agente; el cuerpo heredó la construcción del jaguar anterior. Cada versión se revisó con capturas antes de publicarse, y hubo siete rechazadas antes de la que está en producción. La lección no es de dibujo: el agente propone, la persona aprueba viendo el resultado, y nada se publica sin esa vista. Es la misma regla que aplicamos al CRM.
Empezar antes con la memoria por proyecto. Los primeros meses las lecciones vivían en las conversaciones y se perdían al cerrarlas; cada sesión nueva volvía a tropezar con el mismo compose que no lee variables. Y escribir los skills después del tercer uso, no del primero: dos de los que hicimos temprano quedaron obsoletos en semanas porque describían una solución que aún estaba cambiando.
Si operas un sistema con un equipo chico y un agente de código, la pregunta correcta no es "qué modelo uso". Es "qué recuerda el agente cuando cierro la ventana". Todo lo demás se deriva de ahí.
Artículos relacionados
Claude Code en septiembre de 2026: MCP administrado, modo restringido, /skill-doctor y Fable 5.1 por defecto
Once versiones de Claude Code entre el 25 de agosto y el 9 de septiembre de 2026 (2.1.243 a 2.1.267): Fable 5.1 por defecto, managedMcpServers para toda la organización, --restricted, /skill-doctor, /diff, hooks de cambio de modelo y maxEffortLevel. Qué usar y qué configurar.
Claude Code self-hosted: tus agentes en tu propia infraestructura
Anthropic habilita Claude Code self-hosted para ejecutar agentes dentro de tu VPC. Analizamos costos, arquitectura, gobernanza e impacto para América Latina.
Dynamic workflows en Claude Code: orquesta cientos de subagentes
Claude Code incorpora dynamic workflows: orquestación de subagentes en JavaScript para acelerar migraciones complejas, auditorías masivas y refactorización.