← ClaudeAtlas

hook-authoringlisted

Writing hooks for the 8 hook points, execution modes, and typed decision semantics
lukacf/meerkat · ★ 19 · API & Backend · score 77
Install: claude install-skill lukacf/meerkat
# Hook Authoring Use hooks for runtime observation and policy decisions at typed lifecycle points. Hooks can observe, allow, or deny; they should not become hidden owners of runtime truth. ## Hook Points Meerkat provides 8 hook points in the agent lifecycle: 1. **RunStarted** - When the agent run begins 2. **PreLlmRequest** - Before sending to the LLM 3. **PostLlmResponse** - After receiving the LLM response 4. **PreToolExecution** - Before executing a tool call 5. **PostToolExecution** - After tool execution completes 6. **TurnBoundary** - At the boundary between turns 7. **RunCompleted** - When the agent run completes successfully 8. **RunFailed** - When the agent run fails ## Execution Modes - Foreground hooks run in ascending priority, then registration order. A deny short-circuits later foreground hooks at that point. - Background hooks run concurrently and must declare `capability: observe`. Their decisions are discarded. Use them for logging and analytics, not policy enforcement. - Runtime adapters are in-process handlers, commands, or HTTP endpoints. Each entry has a typed adapter, timeout, point, mode, capability, and priority. ## Decision Semantics Foreground hooks return one of: - Allow: proceed normally. - Deny: block the operation with a reason. - Observe only: return no decision and no patches. ## Boundaries Semantic hook patches are retired. Hooks can observe typed projections and deny through the typed decision shape; provider parameters, as