💭 в уме · писать не нужно
Вспомни рутину, которую ты повторяешь после каждого ответа агента — или перед каждым заданием.
Не представляй это как «ручную операцию». Представь спусковой механизм часов: анкер щёлкает — и шестерня проворачивается ровно на один зуб, не больше, не меньше. Щелчок происходит сам — не потому что кто-то дёрнул за рычаг. Прокрути в голове: что у тебя сейчас требует ручного «щелчка»?
Какой триггер ты бы хотел автоматизировать первым?
💭 в уме · писать не нужно
Если ты делаешь что-то после каждого действия агента — это Hook.
Не думай об этом как о «скрипте». Представь цепочку домино: ты толкаешь первую костяшку — и весь ряд проходит сам, одна за другой, без твоего участия. Событие в Claude Code — первая костяшка; Hook — это весь последующий ряд.
Разгляди в голове свою цепочку: сколько «костяшек» сейчас требуют, чтобы ты их толкал по одной?
| Событие | Когда срабатывает |
|---|---|
PreToolUse |
До того как агент использует инструмент |
PostToolUse |
После того как агент использует инструмент (после каждого вызова) |
Notification |
Когда агент хочет привлечь внимание |
Stop |
Когда агент завершил работу над ответом (конец хода) |
SessionEnd |
Когда сессия заканчивается |
По часам ни одно из этих событий не наступает. Pipeline по расписанию из модуля 06 запускает планировщик ОС, а не hook. Но hooks срабатывают и в запуске claude -p из твоего run.sh. Hook на Stop может, например, прислать уведомление, что утренний разбор готов.
В .claude/settings.json:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write",
"hooks": [
{
"type": "command",
"command": "echo \"Файл записан: $(date)\" >> ~/claude-log.txt"
}
]
}
]
}
}
Перенаправление >> здесь обязательно: без него echo пишет не в лог, а в стандартный вывод, который разбирает сам Claude Code.