# PushNotification

Отправляет уведомление на рабочий стол из текущей сессии Claude Code. Если подключён Remote Control, уведомление также поступает на телефон пользователя, привлекая его внимание обратно к сессии — чем бы он ни занимался.

## Когда использовать

- Длительная задача завершилась, пока пользователь, вероятно, отсутствовал у терминала
- Сборка, прогон тестов или развёртывание завершены и результат готов к проверке
- Достигнута точка принятия решения, требующая участия пользователя, прежде чем можно продолжить работу
- Возникла ошибка или блокировка, которую невозможно устранить автономно
- Пользователь явно попросил уведомить его, когда выполнится определённая задача или условие

## Когда не использовать

Не отправляйте уведомление для плановых обновлений о ходе выполнения задачи и не подтверждайте им ответ на вопрос, который пользователь только что задал и явно ждёт. Не уведомляйте о завершении коротких задач — если пользователь только что отправил задачу и ждёт, уведомление не несёт никакой ценности и подрывает доверие к будущим уведомлениям. Настоятельно склоняйтесь к тому, чтобы не отправлять.

## Параметры

- `message` (строка, обязательный): текст уведомления. Держите его в пределах 200 символов; мобильные операционные системы обрезают более длинные строки. Начинайте с того, на что пользователь будет реагировать: "build failed: 2 auth tests" информативнее, чем "task complete".
- `status` (строка, обязательный): всегда устанавливайте в `"proactive"`. Это фиксированный маркер, он не меняется.

## Примеры

### Пример 1: уведомление о завершении длительного анализа

Был запрошен аудит зависимостей по всему репозиторию, который занял несколько минут. Пользователь отошёл. Когда отчёт готов:

```
message: "Аудит зависимостей завершён: 3 критические CVE в lodash, axios, jsonwebtoken. Отчёт: audit-report.txt"
status: "proactive"
```

### Пример 2: обозначение точки принятия решения при автономной работе

В ходе многошаговой рефакторинговой работы обнаружено, что два модуля имеют конфликтующие интерфейсы и не могут быть объединены без проектного решения:

```
message: "Рефакторинг приостановлен: AuthService и UserService имеют конфликтующие интерфейсы токенов. Требуется ваше решение."
status: "proactive"
```

## Примечания

- Настоятельно склоняйтесь к тому, чтобы **не отправлять**. Уведомление прерывает пользователя независимо от того, чем он занят. Рассматривайте его как стоимость, которую необходимо оправдать ценностью информации.
- Начинайте с содержательного, побуждающего к действию текста. Первые слова должны сообщать пользователю, что произошло и что, если что-то нужно сделать — а не общий статусный ярлык.
- Держите `message` в пределах 200 символов. Мобильные операционные системы обрежут более длинные строки, и самая важная часть может потеряться, если она в конце.
- Если результат указывает на то, что push не был отправлен из-за отсутствия подключения Remote Control, это ожидаемое поведение. Повторная попытка или дополнительные действия не требуются; локальное уведомление на рабочем столе всё равно будет показано.
- Избегайте спама уведомлениями. Если уведомления отправляются часто по незначительным поводам, пользователь начнёт их игнорировать. Приберегайте этот инструмент для моментов, когда есть реальная вероятность того, что пользователь ушёл и захочет узнать результат прямо сейчас.
