tinchak0207/Hippocampus

Permite que o agente aprenda com os erros: lições dolorosas são gravadas em disco para não serem repetidas. Use antes de uma tarefa não trivial para consultar decisões e armadilhas passadas com `mem`; após um erro, correção ou decisão, use `mem add` + `mem build` para consolidar a lição.

O que é Hippocampus?

Hippocampus é uma habilidade para Claude Code, Cursor, Codex e outros agentes de IA que implementa um sistema de memória persistente e hierárquica. Seu objetivo é evitar que o agente repita os mesmos erros, registrando lições aprendidas em arquivos de texto simples. Ele organiza as memórias em quatro camadas (Tier-0 a Tier-3), desde um roteiro central (`MEMORY.md`) até as notas originais (`notes/*.md`), facilitando a consulta rápida e a adição de novos aprendizados. O fluxo de leitura segue uma ordem progressiva: primeiro o roteiro, depois o pacote da área, depois buscas no catálogo e, por fim, a leitura das notas específicas. A escrita segue um caminho único com `mem add` e `mem build`, gerando automaticamente as camadas superiores. A habilidade impõe regras rígidas para evitar edições manuais nas camadas geradas, buscas em massa e gravação de informações sensíveis. Comandos como `mem find`, `mem pack` e `mem doctor` ajudam na manutenção e na verificação de consistência. Em caso de conflito entre a memória e evidências atuais (código, logs), prevalece a evidência, e o agente deve informar ao usuário qual memória está desatualizada.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add tinchak0207/Hippocampus

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Hippocampus:Faça o agente aprender com os erros

As lições dolorosas são escritas em notes/, mem build compila para o índice, e antes da próxima tarefa semelhante, consulte como foi da última vez. CLI: mem.

Diretório raiz da memória $MEM_HOME (padrão ~/.claude/memory). Tudo é texto puro, mem build gera as outras três camadas a partir de notes/.

Quando usar

  • Antes de iniciar uma tarefa não trivial: verifique se algo foi feito antes, se há decisões ou armadilhas.
  • Quando o usuário mencionar "da última vez", "já foi dito antes", "como de costume".
  • Antes de despachar um subagente: escreva a memória relevante no spec.
  • Após concluir um resultado reutilizável, resolver um problema recorrente, ou ser corrigido pelo usuário: escreva uma nota.

Modelo de quatro camadas

CamadaArquivoConteúdoQuem escreve
Tier-0MEMORY.mdRoteiro: acordo de leitura/escrita, lista de packs, últimas 12 notas; com orçamento de bytes (padrão 12000)mem build
Tier-1packs/<id>.mdUma página por domínio, cada nota com uma linha de description + caminhomem build
Tier-2catalog.tsvCada nota em uma linha: pack date type name title bytes gistmem build
Tier-3notes/*.mdTexto original, com YAML front-mattermem add cria o arquivo, você preenche o conteúdo

Regra de classificação em $MEM_HOME/.memorypack/packs.json: se o front-matter tiver metadata.pack com um id válido, use-o; caso contrário, pontue por palavras-chave (strong +3, keywords +1), pontuação zero vai para misc.

Caminho de leitura (em ordem, pare quando suficiente)

  1. Leia o MEMORY.md completo (é pequeno, feito para ser lido inteiro).
  2. Encontre o domínio pela seção "Quando ler" → mem pack <id> leia a página desse domínio.
  3. Para localizar itens específicos → mem find <palavra-chave> [--pack <id>] [--limit N], retorna apenas as linhas do catálogo.
  4. Para apenas 1-3 itens encontrados → mem show <name> leia o texto original.

Quando a memória conflitar com evidências atuais (código, logs, saída de comandos), prevaleça a evidência e informe ao usuário qual memória está desatualizada.

Caminho de escrita (apenas este)

mem add <slug> --type project|feedback|reference [--pack <id>] [--title "Título"]
# Abra o caminho impresso, preencha uma linha de description + FATO / Decisão / Armadilha / Relacionado
mem build
  • description é o único conteúdo que aparece nas três camadas superiores. Escreva como "O que é isso + Quando usar" em uma frase.
  • Para alterar uma nota existente: edite diretamente o arquivo em notes/, depois execute mem build.
  • Após escrever, execute mem doctor para verificar orçamento, links quebrados, falta de description.

Proibições

  • Não edite manualmente MEMORY.md, packs/*, catalog.tsv: são artefatos gerados e serão sobrescritos no próximo build.
  • Não leia notes/ em massa (cat notes/*, ls seguido de leitura nota por nota, grep no texto completo do diretório): use mem find.
  • Não exclua notas, a menos que o usuário explicitamente solicite; se desatualizada, marque no texto original e atualize a description.
  • Não escreva secrets, tokens, senhas, chaves privadas ou informações pessoais identificáveis na nota.
  • Não crie um segundo banco de memória; para ferramentas antigas, use symlinks apontando para $MEM_HOME.

Referência

  • Manutenção diária: prompts/maintain.md
  • Revisão pós-sessão e construção proativa: prompts/proactive-build.md
  • Bloco de regras que pode ser colado em AGENTS.md / CLAUDE.md: prompts/agents-snippet.md
  • Exemplos de hooks: prompts/hooks/

Habilidades Relacionadas