Hi friends

Third post in a series about setting up coding agents in a real codebase (part 1: structuring CLAUDE.md, skills and agents, part 2: skill descriptions). This one is about hooks, and the difference between a hook that fixes and a hook that teaches.

Two flavors of hook

A hook is code that runs on the agent's actions - the surface for rules that must never be skipped. Instructions can be rationalized away ("it's just a filename, close enough"); a hook can't.

But hooks come in two flavors: