Hooks + skills, cuando la memoria se alimenta sola
La diferencia entre 'usar memoria' y 'la memoria funciona sola'.
El problema
Tienes memoria. Sabes llamar nex_learn. Pero teclear "recuerda X" cada vez cansa. A las dos semanas lo dejas.
La solución: el sistema lo hace solo.
Qué son los hooks
Los hooks son scripts pequeños que se disparan automáticamente. En Claude Code hay 8 tipos: SessionStart, PreToolUse, PostToolUse, Stop, UserPromptSubmit, PreCompact, SessionEnd, Notification.
Un hook a menudo es un one-liner de bash.
Ejemplo: hook session-start
En ~/.claude/settings.json:
{
"hooks": {
"SessionStart": [{
"hooks": [{
"type": "command",
"command": "echo 'Reminder: call nex_session_start first'"
}]
}]
}
}
La IA ve este recordatorio. Llama a nex_session_start, aprende lo que pasó la última vez, y estás directo en flow.
Qué son los skills
Los skills son recetas recurrentes como fichero. En ~/.claude/skills/deploy/SKILL.md escribes una vez cómo va tu deploy:
# Deploy a prod
1. Local: npm test && npm run build
2. Git push
3. SSH a prod: cd /app && git pull && docker compose up -d --build
4. Health check
Cuando tecleas "deploya la nueva versión", Claude tira de ese skill automáticamente.
Combinado: hook + skill + memoria
- Hook al inicio dispara
nex_session_start. - La memoria entrega las últimas notas.
- Tú escribes: "Haz el deploy."
- Claude consulta memoria, encuentra skill "deploy".
- El skill se ejecuta, los updates de memoria registran lo que pasó.
- El hook session-end escribe el resumen.
En el siguiente arranque: todo está ahí.
Lo que cambia con esto
Sin estas capas usas la IA ocasionalmente. Con ellas trabajas con IA. La diferencia no es técnica, es emocional. Confías en el sistema.
Update 2026-04-23: el hook directo mcp_tool
Claude Code v2.1.118 introdujo un nuevo tipo de hook, type: "mcp_tool". Ahora puedes llamar herramientas MCP directamente desde un hook sin el truco del bash-wrapper. Tu hook Stop ya no dice echo 'Recordatorio, llama nex_summarize' y espera que el modelo escuche, sino que dispara nex_summarize por sí mismo, determinístico, con ${session_id} como variable de sustitución.
Esto cambia la arquitectura. De "hook le da un empujón al modelo" a "hook lo hace solo". Excelente para servidores MCP con herramientas idempotentes (Memory, GEO, Academy). Menos adecuado para herramientas que necesitan input del usuario.
Detalles y 5 paquetes de hooks para nuestros SaaS MCPs (Memory, CRM, GEO, Crew, Academy) están en la Lección 10 de este nivel y en la Fase 16 de las recipes (/recipes/16.1-mcp-tool-hook-intro hasta 16.5-academy-hook-bundle).
Siguiente lección
En la Lección 5 aprendes portabilidad, misma memoria en Claude, Cursor y Codex.