init
Release Please / release-please (push) Failing after 4m2s
Web CI / web typecheck + build (push) Successful in 3m39s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1h1m49s
CodeQL Analysis / Analyze (go) (push) Failing after 1h1m49s

This commit is contained in:
redlineo committed 2026-07-13 10:14:00 +03:00
commit d295c7f139
1527 files changed
+270726

No files matched your search

+94
View File
@@ -0,0 +1,94 @@
# Режим: apply — Ассистент отклика в реальном времени
Интерактивный режим для заполнения формы отклика в Chrome. Читает экран, загружает контекст вакансии, генерирует персонализированные ответы.
## Требования
- **Лучше с Playwright**: Кандидат видит браузер, Claude взаимодействует со страницей.
- **Без Playwright**: Кандидат делится скриншотом или вставляет вопросы вручную.
## Workflow
```
1. ОПРЕДЕЛИТЬ → Прочитать активную вкладку Chrome (скриншот/URL/заголовок)
2. РАСПОЗНАТЬ → Извлечь компанию + роль со страницы
3. НАЙТИ → Совпадение с существующими отчётами в reports/
4. ЗАГРУЗИТЬ → Прочитать полный отчёт + секцию G (если есть)
5. СРАВНИТЬ → Роль на экране совпадает с оценённой? Если изменилась → предупредить
6. АНАЛИЗ → Определить ВСЕ видимые вопросы формы
7. ГЕНЕРАЦИЯ → Для каждого вопроса — персонализированный ответ
8. ПОКАЗАТЬ → Отформатированные ответы для copy-paste
```
## Шаг 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. [Следующий вопрос]
> [Ответ]
...
---
Заметки:
- [Наблюдения о роли, изменениях и т.д.]
- [Предложения по персонализации для проверки кандидатом]
```
## Шаг 6 — После отклика (опционально)
Если кандидат подтвердил отправку:
1. Обновить статус в `data/applications.md` с "Evaluated" на "Applied"
2. Обновить секцию G отчёта финальными ответами
3. Предложить: `/career-ops contacto` для LinkedIn outreach