π Fase 1: inicializacao
A janela de oportunidade mais importante para memoria. Antes da primeira mensagem do usuario, Claude Code dispara hooks que podem injetar contexto.
π Hooks da fase init
Ordem de disparo no boot da sessao:
- β’SessionStart: roda uma vez, no inicio. Onde vai identidade + contexto.
- β’currentDir detection: Claude ja sabe cwd. Voce pode rotear memoria por projeto.
- β’Env collection: variaveis uteis para escolher prime.md especifico.
- β’CLAUDE.md loading: hierarquia projeto β user β system.
π‘ Ponto de alavancagem
SessionStart e o hook #1 do curso. 90% dos ganhos de memoria vem dele. Trilha 4 detalha a implementacao.
π¬ Fase 2: interacao (user prompt)
Para cada mensagem do usuario, Claude Code dispara hooks que podem modificar o prompt dinamicamente.
π Hooks por turno
Dispara a cada mensagem:
- β’UserPromptSubmit: antes do modelo responder. Pode injetar contexto adicional baseado na pergunta.
- β’Stop: apos a resposta completa. Util para avaliar output ou capturar decisoes.
π‘ Injecao dinamica
UserPromptSubmit e o hook mais flexivel. Pergunta sobre DB? Injeta schema. Pergunta sobre deploy? Injeta infra config. Trilha 4 modulo 5 cobre.
π§ Fase 3: execucao de ferramentas
Claude chama ferramentas (Read, Write, Bash, etc.) o tempo todo. Hooks cercam cada call.
βοΈ Hooks PreToolUse / PostToolUse
Disparam antes/depois de cada tool call:
- β’PreToolUse: antes. Pode validar, bloquear (exit 2), ou logar.
- β’PostToolUse: depois. Pode auditar resultado ou capturar para memoria.
- β’Matcher por tool: so dispara para Bash, ou so para Write, etc.
- β’Uso raro para memoria: mais comum em compliance e observabilidade.
β οΈ Cuidado com latencia
Hook sincrono em PreToolUse bloqueia a ferramenta. Mantenha <100ms ou use async.
π Fase 4: compactacao
Quando a sessao passa de ~170k tokens, Claude Code auto-compacta. Hook dispara ANTES disso.
π Timing do PreCompact
Sessao em expansao (turnos acumulam)
β
βΌ chega a ~170k tokens
βββββββββββββββββββββββββ
β PreCompact hook! β β sua janela de acao
β Script injeta β
β context.md β
βββββββββββββ¬ββββββββββββ
βΌ
Compactacao acontece (resumo automatico)
β
βΌ
PostCompact hook (opcional, observacao)
β
βΌ
Sessao continua com resumo + seu context.md preservadoπ‘ Unico hook dessa fase
PreCompact nao tem irmao. E a unica forma deterministica de sobreviver ao squeeze. Sem ele, contexto crit vira pedaco de resumo.
π Fase 5: encerramento
Voce fecha a sessao. Hooks rodam em modo fire-and-forget porque nao ha usuario esperando.
π Hooks de encerramento
Ordem tipica:
- β’Stop: apos ultima resposta do modelo. Sincrono.
- β’SessionEnd: quando sessao e finalizada. Ideal para jobs pesados.
- β’Transcript save: Claude salva JSONL. Voce pode ler no hook SessionEnd.
- β’Pode rodar em background: nohup python3 ... & β nao trava proxima sessao.
π‘ Job da Trilha 6
SessionEnd + Gemini Flash = resumo automatico da sessao para context.md. Veremos implementacao.
πΊοΈ Mapa visual dos 18 hooks
Fixar o modelo mental: 18 pontos, 5 fases, 3 hooks criticos para memoria.
π Timeline completa
[INIT] [INTERACAO] [TOOLS] [COMPACT] [END]
β β β β β
βΌ βΌ βΌ βΌ βΌ
SessionStart* UserPromptSubmit* PreToolUse PreCompact* Stop
Stop PostToolUse PostCompact SessionEnd
(por tool) TranscriptSave
β β β β β
ββββββββββΆ carregar memoria βΆ executar βΆ sobreviver βΆ arquivar ββ
* = hooks CRITICOS para memoria (Trilha 4)π‘ Memorize as 5 fases
Init / Interacao / Tools / Compact / End. Sempre que pensar em hook, pergunte: qual fase? Resposta aponta o hook certo.
π Resumo do Modulo
Proximo:
3.2 β Taxonomia: tabela de consulta rapida