# Режим: oferta — Полная оценка A-F Когда кандидат вставляет вакансию (текст или URL), ВСЕГДА выдать 6 блоков: ## Шаг 0 — Определение архетипа Классифицировать вакансию по одному из архетипов (см. `_shared.md`). Если гибрид — указать 2 ближайших. Это определяет: - Какие proof points приоритизировать в блоке B - Как переписать summary в блоке E - Какие истории STAR готовить в блоке F ## Блок A — Резюме роли Таблица с: - Определённый архетип - Domain (platform/agentic/LLMOps/ML/enterprise/backend/frontend/devops) - Function (build/consult/manage/deploy) - Seniority - Формат работы (удалённо/гибрид/офис) - Размер команды (если указано) - Оформление (ТК РФ / ГПХ / самозанятость — если указано) - TL;DR в 1 предложении ## Блок B — Совпадение с CV Прочитать `cv.md`. Создать таблицу: каждое требование JD → точные строки CV. **Адаптировано под архетип:** - Если FDE → приоритизировать proof points быстрой поставки и клиентской работы - Если SA → приоритизировать системный дизайн и интеграции - Если PM → приоритизировать product discovery и метрики - Если LLMOps → приоритизировать evals, observability, pipelines - Если Agentic → приоритизировать мульти-агент, HITL, оркестрацию - Если Backend → приоритизировать highload, микросервисы, масштабирование - Если DevOps/SRE → приоритизировать инфраструктуру, CI/CD, мониторинг Раздел **пробелов** со стратегией закрытия каждого: 1. Это hard blocker или nice-to-have? 2. Может ли кандидат продемонстрировать смежный опыт? 3. Есть ли портфолио-проект, закрывающий этот пробел? 4. Конкретный план закрытия (фраза для сопроводительного, быстрый проект и т.д.) ## Блок C — Уровень и стратегия 1. **Уровень в JD** vs **естественный уровень кандидата для этого архетипа** 2. **План "продать senior без обмана"**: конкретные фразы, адаптированные под архетип, достижения для акцента, как позиционировать опыт 3. **План "если понизят уровень"**: принять если компенсация справедлива, договориться о пересмотре через 6 месяцев, чёткие критерии роста ## Блок D — Компенсация и спрос Использовать WebSearch для: - Актуальные зарплаты по роли (habr.com/salary, hh.ru/salary, Glassdoor, Levels.fyi, Blind) - Репутация компании по компенсации - Тренд спроса на роль - **Gross vs Net**: уточнить, что указано в JD (до вычета НДФЛ 13% или на руки) Таблица с данными и цитированием источников. Если данных нет — сказать об этом вместо выдумывания. **Специфика РФ:** - Если зарплата указана gross → показать приблизительный net: `net ≈ gross × 0.87` (стандартный НДФЛ 13%; реальная ставка может отличаться) - Учесть бенефиты: ДМС, питание, спорт, обучение - Оформление: ТК РФ даёт больше гарантий, чем ГПХ/самозанятость ## Блок E — План персонализации | # | Раздел | Текущее состояние | Предлагаемое изменение | Почему | |---|--------|-------------------|------------------------|--------| | 1 | Summary | ... | ... | ... | | ... | ... | ... | ... | ... | Топ 5 изменений CV + Топ 5 изменений в LinkedIn/hh.ru для максимального совпадения. ## Блок F — План собеседований 6-10 историй STAR+R, привязанных к требованиям JD (STAR + **Reflection**): | # | Требование JD | История STAR+R | S | T | A | R | Reflection | |---|---------------|----------------|---|---|---|---|------------| Столбец **Reflection** фиксирует, что было изучено или что можно было бы сделать иначе. Это сигнал сеньорности — джуниоры описывают что произошло, сеньоры извлекают уроки. **Банк историй:** Если `interview-prep/story-bank.md` существует, проверить, есть ли там эти истории. Если нет — добавить новые. Со временем это формирует банк из 5-10 мастер-историй для любого вопроса на собеседовании. **Подобранные и обрамлённые по архетипу:** - FDE → акцент на скорости поставки и клиентской работе - SA → акцент на архитектурных решениях - PM → акцент на discovery и trade-offs - Backend → акцент на highload, масштабировании, надёжности - DevOps → акцент на автоматизации, инцидентах, reliability Включить также: - 1 рекомендуемый кейс (какой проект представить и как) - Вопросы-ловушки и как на них отвечать (напр.: "Почему ушли с прошлого места?", "Почему решили сменить стек?") --- ## Пост-оценка **ВСЕГДА** после генерации блоков A-F: ### 1. Сохранить отчёт .md Сохранить полную оценку в `reports/{###}-{company-slug}-{YYYY-MM-DD}.md`. - `{###}` = следующий порядковый номер (3 цифры, zero-padded). Чтобы выделить этот номер атомарно и избежать состояний гонки, вы ДОЛЖНЫ выполнить `node reserve-report-num.mjs` для резервирования номера (stdout вернет `{###}`), записать отчет, а затем выполнить `node reserve-report-num.mjs --release {###}` для освобождения маркера (sentinel). - `{company-slug}` = название компании: lowercase, пробелы заменить на `-`, убрать спецсимволы (например, `Acme Corp` → `acme-corp`) - `{YYYY-MM-DD}` = текущая дата **Формат отчёта:** ```markdown # Оценка: {Компания} — {Роль} **Дата:** {YYYY-MM-DD} **Архетип:** {определённый} **Балл:** {X/5} **URL:** {ссылка на вакансию} **PDF:** {путь или "ожидается"} --- ## A) Резюме роли (полное содержание блока A) ## B) Совпадение с CV (полное содержание блока B) ## C) Уровень и стратегия (полное содержание блока C) ## D) Компенсация и спрос (полное содержание блока D) ## E) План персонализации (полное содержание блока E) ## F) План собеседований (полное содержание блока F) ## G) Черновики ответов на форму (только если балл >= 4.5 — черновики ответов для формы отклика) --- ## Извлечённые ключевые слова (список из 15-20 keywords из JD для ATS-оптимизации) ``` ### 2. Зарегистрировать в трекере Для **новой** записи не редактировать `data/applications.md` напрямую. Вместо этого записать одну TSV-строку в `batch/tracker-additions/{num}-{company-slug}.tsv` с 8 или 9 колонками через табуляцию: ``` {num}\t{date}\t{company}\t{role}\t{status}\t{score}\t{pdf_emoji}\t[{num}](reports/{num}-{slug}-{date}.md)\t{note} ``` - `{num}` = следующий порядковый номер (целое число, вычислить из `reports/`) - `{status}` = `Evaluated` - `{score}` = формат `X.X/5` (например, `4.2/5`) - `{pdf_emoji}` = `✅` или `❌` - `{note}` = краткий комментарий (опционально, колонку можно опустить) Затем выполнить `node merge-tracker.mjs` для слияния в `data/applications.md`. Для **существующей** записи допустимо прямое обновление в `data/applications.md` (статус, PDF, ссылка на отчёт).