tinchak0207/Hippocampus

El agente aprende de sus errores: los pasos en falso se escriben en el disco y no se repiten. Úsalo antes de una tarea no trivial para consultar lecciones pasadas con `mem`, y después de un error, corrección o decisión para registrar la lección con `mem add` + `mem build`.

¿Qué es Hippocampus?

Hippocampus es una habilidad para agentes de IA, como Claude Code, Cursor o Codex, que implementa un sistema de memoria persistente basado en archivos de texto plano. Permite que el agente registre lecciones aprendidas, decisiones tomadas y obstáculos encontrados durante tareas anteriores, y luego las recupere automáticamente antes de comenzar tareas similares en el futuro. La habilidad organiza la memoria en cuatro capas (Tier-0 a Tier-3) con un índice compilado (`mem build`) para búsquedas rápidas y eficientes. Su modelo de lectura secuencial prioriza el contexto primero, luego el área, después entradas específicas, y por último el texto completo de las notas. Además, incluye reglas estrictas contra la modificación manual de índices, la lectura masiva de notas y el almacenamiento de secretos, garantizando un sistema de memoria robusto y seguro. Es especialmente útil para tareas repetitivas, depuración de errores recurrentes y la transferencia de contexto entre sesiones del agente.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add tinchak0207/Hippocampus

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Hippocampus: Haz que el agente aprenda de sus errores

Los errores cometidos se escriben en notes/, mem build los compila en un índice, y antes de una tarea similar se consulta cómo se falló la última vez. La CLI es mem.

Directorio raíz de memoria $MEM_HOME (por defecto ~/.claude/memory). Todo es texto plano; mem build genera las otras tres capas desde notes/.

Cuándo usar

  • Antes de comenzar una tarea no trivial: consulta si esto se ha hecho antes, si hay decisiones o errores.
  • Cuando el usuario menciona «la última vez», «ya lo dijimos antes», «como es costumbre».
  • Antes de enviar un subagente: escribe las memorias relevantes en la especificación.
  • Después de obtener un resultado reutilizable, resolver un problema recurrente, o recibir una corrección del usuario: escribe una nota.

Modelo de cuatro capas

CapaArchivoContenidoQuién escribe
Tier-0MEMORY.mdTabla de ruteo: acuerdos de lectura/escritura, lista de packs, últimas 12 notas; con presupuesto de bytes (por defecto 12000)mem build
Tier-1packs/<id>.mdUna página por área; cada nota tiene una línea de descripción + rutamem build
Tier-2catalog.tsvUna línea por nota: pack date type name title bytes gistmem build
Tier-3notes/*.mdTexto original, con front-matter YAMLmem add crea el archivo, tú llenas el contenido

Reglas de clasificación en $MEM_HOME/.memorypack/packs.json: si el front-matter metadata.pack tiene un id válido, se usa ese; si no, se puntúa por palabras clave (strong +3, keywords +1); con puntuación cero va a misc.

Ruta de lectura (en orden, detente cuando sea suficiente)

  1. Lee MEMORY.md completo (es pequeño, diseñado para leerse entero).
  2. Según «cuándo leer», encuentra el área → mem pack <id> escanea esa área.
  3. Si necesitas localizar entradas específicas → mem find <palabra clave> [--pack <id>] [--limit N], solo devuelve líneas del catálogo.
  4. Solo para las 1-3 notas acertadas → mem show <nombre> lee el texto original.

Cuando la memoria entre en conflicto con la evidencia actual (código, registros, salida de comandos), prevalece la evidencia actual y se informa al usuario qué nota ha quedado obsoleta.

Ruta de escritura (solo esta)

mem add <slug> --type project|feedback|reference [--pack <id>] [--title "título"]
# Abre la ruta impresa, escribe una línea de description + FACT / decisión / error / relacionado
mem build
  • description es lo único que aparecerá en las tres capas superiores. Escríbela como una frase: «qué es esto + cuándo usarlo».
  • Para modificar una nota existente: edita directamente el archivo en notes/ y luego ejecuta mem build.
  • Después de escribir, puedes ejecutar mem doctor para verificar presupuesto, enlaces rotos y descripciones faltantes.

Prohibiciones

  • No modifiques manualmente MEMORY.md, packs/*, ni catalog.tsv: son archivos generados y se sobrescribirán en el próximo build.
  • No leas notes/ en lotes (ni cat notes/*, ni leas archivo por archivo después de ls, ni hagas grep al texto completo del directorio): usa mem find.
  • No elimines notas a menos que el usuario lo solicite explícitamente; si están obsoletas, márcalo en el texto original y actualiza la descripción.
  • No escribas secretos, tokens, contraseñas, claves privadas ni información personal identificable en las notas.
  • No abras un segundo repositorio de memoria; para rutas antiguas de otras herramientas, usa enlaces simbólicos que apunten a $MEM_HOME.

Referencias

  • Mantenimiento diario: prompts/maintain.md
  • Revisión posterior a la conversación y construcción proactiva: prompts/proactive-build.md
  • Fragmento de reglas que se puede pegar en AGENTS.md / CLAUDE.md: prompts/agents-snippet.md
  • Ejemplos de hooks: prompts/hooks/

Skills relacionados