Verificando acesso...

MODULO 3.2

🗂️ Taxonomia dos 18 hooks

Tabela de consulta rapida. Cada hook com: quando dispara, payload de entrada, output esperado, caso de uso tipico.

6
Topicos
35
Minutos
Tecnico
Nivel
Referencia
Tipo
1

🎬 Hooks de sessao

Os dois pilares da memoria: SessionStart e SessionEnd formam o bookend pattern.

🪝 Par SessionStart / SessionEnd

O que cada um oferece:

  • SessionStart: dispara 1x no boot. Input: cwd, session_id. Output: additionalContext. Uso: injetar identidade + contexto.
  • SessionEnd: dispara 1x no close. Input: cwd, transcript_path. Sem output util para Claude. Uso: resumir sessao, atualizar context.md.
  • Juntos: formam o ciclo 'injetar no comeco, aprender no fim'.
2

💬 Hooks de mensagem

Granularidade por turno. Dispara a cada mensagem, nao uma vez por sessao.

🔄 UserPromptSubmit / Stop

Disparo por mensagem:

  • UserPromptSubmit: antes da resposta. Input: cwd, session_id, user_message. Output: additionalContext. Uso: carregar memoria especifica ao topico.
  • Stop: apos resposta. Input: cwd, session_id. Sem output necessario. Uso: logar, avaliar, capturar aprendizado.

💡 Latencia importa

UserPromptSubmit sincrono bloqueia a resposta. Se voce rodar busca semantica pesada aqui, usuario sente lag. Cap 200ms.

3

🔧 Hooks de tool call

PreToolUse e PostToolUse cercam cada chamada de ferramenta. Sofisticados, com matchers.

⚙️ PreToolUse / PostToolUse

Estrutura:

  • PreToolUse: input tem tool_name e tool_input. Exit 2 bloqueia. Output JSON pode modificar input.
  • PostToolUse: input tem tool_name, tool_input e tool_response. Observacao pos-fato.
  • Matcher por tool: 'Bash' dispara so para bash; '' dispara para todos.
  • Uso para memoria: raro. Util se voce quer capturar edits importantes em long-term.
4

🌀 Hooks de compactacao

PreCompact e PostCompact sao unicos em sua fase. PreCompact e critico para memoria.

🛟 PreCompact / PostCompact

Como funciona:

  • PreCompact: dispara antes do resumo automatico. Input: cwd, session_id. Output: additionalContext (injetado no prompt antes do resumo).
  • PostCompact: dispara depois. Input inclui pre_compact_tokens e post_compact_tokens. Uso: logar impacto.
  • Janela de sobrevivencia: tudo que entra no additionalContext do PreCompact fica preservado apos o squeeze.

💡 Cap de tamanho

Mantenha o context.md injetado em ~400 tokens. Se encher o prompt, voce cancela o beneficio da compactacao.

5

📊 Hooks de notificacao

Hooks laterais que raramente tocam em memoria, mas conhecer evita confusao.

🔔 Hooks perifericos

O que existe:

  • Notification: quando Claude pede input e voce nao responde. Util para avisar por Slack.
  • IDE events: cursor position, selection, open file. So em VSCode/JetBrains.
  • TranscriptSave: apos salvar JSONL. Janela para indexar episodica.
  • Diff/Plan events: em plan mode. Raramente usado.
6

📖 Tabela de consulta rapida

Imprima ou favorite. Sua cola para o resto do curso e para o resto da vida com Claude Code.

📐 Cheat sheet

HOOK              | QUANDO           | INPUT                | OUTPUT        | USO MEMORIA
──────────────────┼──────────────────┼──────────────────────┼───────────────┼───────────
SessionStart      | boot da sessao   | cwd, session_id      | addCtx        | CRITICO
SessionEnd        | close da sessao  | cwd, transcript_path | -             | IMPORTANTE
UserPromptSubmit  | antes da resp.   | + user_message       | addCtx        | CRITICO
Stop              | apos resposta    | cwd, session_id      | -             | opcional
PreToolUse        | antes de tool    | + tool_name, input   | addCtx/exit2  | raro
PostToolUse       | apos tool        | + tool_response      | -             | raro
PreCompact        | antes do squeeze | cwd, session_id      | addCtx        | CRITICO
PostCompact       | apos squeeze     | + token counts       | -             | metrica
Notification      | prompt de input  | + title, message     | -             | -
TranscriptSave    | JSONL gravado    | + transcript_path    | -             | episodica
IDE events (x5)   | IDE actions      | varia                | -             | -

📝 Resumo do Modulo

5 grupos funcionais — sessao, mensagem, tool, compactacao, notificacao.
Payload varia por grupo — mas sempre JSON via stdin.
Output sempre JSON stdout — ou exit code para gates.
Tabela vira cola — imprima ou favorite no navegador.

Proximo:

3.3 — Schema do settings.json