Хуки (Hooks) в Claude Code — это shell-команды, которые автоматически выполняются при определённых событиях. Файл отредактирован? Хук запускает prettier. Сессия завершается? Хук проверяет наличие console.log. Это как git hooks, но для AI-агента — автоматизация качества без ручного контроля.
Типы событий
PreToolUse
Срабатывает ПЕРЕД использованием инструмента (Edit, Write, Bash). Можно заблокировать опасные действия: запретить запись в определённые файлы, проверить что команда не удаляет данные.
PostToolUse
Срабатывает ПОСЛЕ использования инструмента. Самый частый тип: запуск форматтера после Edit/Write (prettier, black, isort), логирование изменений, проверка TypeScript типов.
Stop
Срабатывает когда Claude Code завершает ответ. Проверка незакоммиченных изменений, поиск debug-артефактов (console.log, debugger), обновление прогресса.
SessionStart
Срабатывает при запуске сессии. Загрузка контекста, проверка состояния проекта, восстановление прогресса из предыдущей сессии.
Настройка хуков
Хуки настраиваются в .claude/settings.json в массиве hooks. Каждый хук — объект с полями: event (тип события), command (shell-команда), matcher (опционально — для каких инструментов срабатывать).
Пример: хук форматирования после редактирования файла. Event: PostToolUse, matcher: Edit или Write, command: prettier --write $FILE_PATH.
Готовые хуки
Автоформатирование
PostToolUse Edit/Write → prettier --write для JS/TS, black + isort для Python. Код всегда отформатирован, без ручных команд.
Проверка debug-артефактов
Stop → grep console.log/debugger/print() в изменённых файлах. Предотвращает коммит debug-кода в продакшен.
Трекинг изменений
PostToolUse Edit/Write → запись изменённого файла в .claude/changed-files.log. В конце сессии видно полный список затронутых файлов.
Загрузка прогресса
SessionStart → чтение последнего состояния из CLAUDE.md секции ПРОГРЕСС. Claude сразу знает на чём остановился.
Prompt-хуки
Особый тип хуков — prompt hooks. Они добавляют текст к промпту пользователя. Пример: Stop prompt hook добавляет инструкцию "Перед завершением: запусти code-simplifier".
Хуки vs скиллы
Скиллы — это знания (КАК делать). Хуки — это автоматизация (ЧТО делать автоматически). Они дополняют друг друга.
Советы
Начните с 2-3 базовых хуков: автоформатирование, проверка debug-кода, трекинг файлов. Тестируйте хуки отдельно перед добавлением.