6.5 KiB
6.5 KiB
Режим: 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 — Знайти контекст
- Витягти назву компанії та посаду
- Шукати в
reports/за назвою компанії (Grep, case-insensitive) - Якщо є збіг → завантажити повний звіт
- Якщо є секція G → завантажити чернетки як базу
- Якщо НЕМАЄ збігу → попередити та запропонувати запустити auto-pipeline
Крок 3 — Виявити зміни
Якщо роль на екрані відрізняється від оціненої:
- Попередити кандидата: "Роль змінилася з [X] на [Y]. Переоцінити чи адаптувати відповіді?"
- Оновити трекер за потреби
Крок 4 — Аналізувати питання форми
Визначити ВСІ видимі питання:
- Поля вільного тексту (супровідний лист, "чому ця роль" тощо)
- Випадаючі списки (звідки дізналися, дозвіл на роботу тощо)
- Так/Ні (переїзд, віза тощо)
- Поля зарплати (діапазон, очікування)
- Поля завантаження (резюме, супровідний PDF)
Крок 5 — Генерувати відповіді
Для кожного питання:
- Контекст звіту: Proof points з блоку B, історії STAR з блоку F
- Секція G: Якщо є чернетка — використовувати як базу та покращити
- Тон "Я обираю вас": Кандидат має варіанти і обирає цю компанію з конкретних причин
- Конкретика: Посилання на щось конкретне з видимого JD
- Мова відповідей: Мовою JD. Для україномовних вакансій — українською. Для англомовних — англійською.
Формат виводу:
## Відповіді для [Компанія] — [Роль]
На основі: Звіт #NNN | Бал: X.X/5 | Архетип: [тип]
---
### 1. [Точне питання з форми]
> [Відповідь, готова для copy-paste]
### 2. [Наступне питання]
> [Відповідь]
...
---
Примітки:
- [Спостереження про роль, зміни тощо]
- [Пропозиції щодо персоналізації для перевірки кандидатом]
Специфічні поля українських форм
- Зарплатні очікування: Вказувати в USD (для ІТ) або UAH, уточнити gross/net та форму оформлення (ФОП/штат)
- Дата початку: Враховувати відпрацювання (2 тижні за КЗпП, для ФОП — за контрактом)
- Дозвіл на роботу: Для українців в ЄС — тимчасовий захист (Temporary Protection Directive)
- Мовні навички: Українська (рідна), англійська (рівень), інші мови
- Готовність до переїзду / timezone: Уточнити поточну локацію та timezone overlap
Крок 6 — Після відгуку (тільки після явного підтвердження користувача)
СТОП. Не продовжувати, поки користувач явно не підтвердить, що він переглянув відповіді та відправив форму самостійно.
Якщо кандидат підтвердив відправку:
- Оновити статус на "Applied" через канонічний CLI:
node set-status.mjs <report#> Applied(не редагувати таблицюdata/applications.mdвручну) - Оновити секцію G звіту фінальними відповідями
- Запропонувати:
/career-ops contactoдля LinkedIn outreach