# 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, це очікувана поведінка. Повторна спроба або додаткові дії не потрібні; локальне сповіщення на робочому столі все одно спрацьовує.
- Уникайте спаму сповіщень. Якщо сповіщення часто надсилаються через незначні події, користувач почне їх ігнорувати. Зберігайте цей інструмент для моментів, коли є реальна вірогідність того, що користувач відійшов і захоче дізнатися результат зараз.
