Files
santifer--career-ops/modes/ua/apply.md
T
wehub-resource-sync d083df1fdb
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 2s
Web CI / web typecheck + build (push) Failing after 1s
Release Please / release-please (push) Failing after 1s
CodeQL Analysis / Analyze (go) (push) Failing after 16s
chore: import upstream snapshot with attribution
2026-07-13 12:02:43 +08:00

112 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Режим: 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. Оновити статус на "Applied" через канонічний CLI: `node set-status.mjs <report#> Applied` (не редагувати таблицю `data/applications.md` вручну)
2. Оновити секцію G звіту фінальними відповідями
3. Запропонувати: `/career-ops contacto` для LinkedIn outreach