Move Claude Code guardrails into PreToolUse/PostToolUse/Stop hooks instead of CLAUDE.md prose
SmartScope·medium signal
Deterministic guardrails belong in hooks that fire out-of-band — PreToolUse to block dangerous calls, PostToolUse to validate output, Stop to enforce completion criteria — rather than as instructions in CLAUDE.md that the model may ignore and that consume context every session. Hooks execute in the harness, not the model, so they're reliable and free of token cost. Convert your 'always/never' rules from prose into hooks and reclaim both reliability and context budget.