# Режим: apply — Асистент відгуку в реальному часі

Інтерактивний режим для заповнення форми відгуку в Chrome. Читає екран, завантажує контекст вакансії, генерує персоналізовані відповіді.

## Вимоги

- **Краще з Playwright**: Кандидат бачить браузер, Claude взаємодіє зі сторінкою.
- **Без Playwright**: Кандидат ділиться скріншотом або вставляє питання вручну.

## Workflow

```
1. ВИЗНАЧИТИ   → Прочитати активну вкладку Chrome (скріншот/URL/заголовок)
2. РОЗПІЗНАТИ  → Витягти компанію + роль зі сторінки
3. ЗНАЙТИ      → Збіг з існуючими звітами в reports/
4. ЗАВАНТАЖИТИ → Прочитати повний звіт + секцію G (якщо є)
5. ПОРІВНЯТИ   → Роль на екрані збігається з оціненою? Якщо змінилася → попередити
6. АНАЛІЗ      → Визначити ВСІ видимі питання форми
7. ГЕНЕРАЦІЯ   → Для кожного питання — персоналізована відповідь
8. ПОКАЗАТИ    → Відформатовані відповіді для copy-paste
9. СТОП        → НІКОЛИ не натискати Submit/Send/Apply. Чекати явного підтвердження від користувача.
```

> **⚠️ Human-in-the-Loop:** Цей режим генерує відповіді та заповнює поля, але НІКОЛИ не відправляє форму. Фінальне рішення про подачу заявки — завжди за користувачем.

## Крок 1 — Визначити вакансію

**З Playwright:** Snapshot активної сторінки. Прочитати заголовок, URL, видимий вміст.

**Без Playwright:** Попросити кандидата:

- Поділитися скріншотом форми
- Або вставити питання як текст
- Або назвати компанію + роль

## Крок 2 — Знайти контекст

1. Витягти назву компанії та посаду
2. Шукати в `reports/` за назвою компанії (Grep, case-insensitive)
3. Якщо є збіг → завантажити повний звіт
4. Якщо є секція G → завантажити чернетки як базу
5. Якщо НЕМАЄ збігу → попередити та запропонувати запустити auto-pipeline

## Крок 3 — Виявити зміни

Якщо роль на екрані відрізняється від оціненої:

- **Попередити кандидата**: "Роль змінилася з [X] на [Y]. Переоцінити чи адаптувати відповіді?"
- Оновити трекер за потреби

## Крок 4 — Аналізувати питання форми

Визначити ВСІ видимі питання:

- Поля вільного тексту (супровідний лист, "чому ця роль" тощо)
- Випадаючі списки (звідки дізналися, дозвіл на роботу тощо)
- Так/Ні (переїзд, віза тощо)
- Поля зарплати (діапазон, очікування)
- Поля завантаження (резюме, супровідний PDF)

## Крок 5 — Генерувати відповіді

Для кожного питання:

1. **Контекст звіту**: Proof points з блоку B, історії STAR з блоку F
2. **Секція G**: Якщо є чернетка — використовувати як базу та покращити
3. **Тон "Я обираю вас"**: Кандидат має варіанти і обирає цю компанію з конкретних причин
4. **Конкретика**: Посилання на щось конкретне з видимого JD
5. **Мова відповідей**: Мовою JD. Для україномовних вакансій — українською. Для англомовних — англійською.

**Формат виводу:**

```
## Відповіді для [Компанія] — [Роль]

На основі: Звіт #NNN | Бал: X.X/5 | Архетип: [тип]

---

### 1. [Точне питання з форми]
> [Відповідь, готова для copy-paste]

### 2. [Наступне питання]
> [Відповідь]

...

---

Примітки:
- [Спостереження про роль, зміни тощо]
- [Пропозиції щодо персоналізації для перевірки кандидатом]
```

### Специфічні поля українських форм

- **Зарплатні очікування**: Вказувати в USD (для ІТ) або UAH, уточнити gross/net та форму оформлення (ФОП/штат)
- **Дата початку**: Враховувати відпрацювання (2 тижні за КЗпП, для ФОП — за контрактом)
- **Дозвіл на роботу**: Для українців в ЄС — тимчасовий захист (Temporary Protection Directive)
- **Мовні навички**: Українська (рідна), англійська (рівень), інші мови
- **Готовність до переїзду / timezone**: Уточнити поточну локацію та timezone overlap

## Крок 6 — Після відгуку (тільки після явного підтвердження користувача)

**СТОП.** Не продовжувати, поки користувач явно не підтвердить, що він переглянув відповіді та відправив форму самостійно.

Якщо кандидат підтвердив відправку:

1. Оновити статус у `data/applications.md` з "Evaluated" на "Applied"
2. Оновити секцію G звіту фінальними відповідями
3. Запропонувати: `/career-ops contacto` для LinkedIn outreach
