La ideaLas normas del proyecto se suelen escribir en un fichero de texto, un AGENTS.md, que el agente lee antes de ponerse a trabajar. El problema es que eso es solo texto: el modelo lo lee y casi siempre lo cumple, pero puede no hacerlo, y además ese fichero compite por el sitio con todo lo demás que tiene que leer.
Un hook es otra cosa: código tuyo que el programa ejecuta siempre en un momento fijo —antes de usar una herramienta, al terminar, al resumir la sesión— y que puede cortar la acción antes de que ocurra. No depende de que el modelo quiera hacerte caso. La documentación de Claude Code marca la diferencia con dos palabras: las normas del fichero son orientativas; los hooks se cumplen siempre.