370 lines
21 KiB
Markdown
370 lines
21 KiB
Markdown
---
|
||
name: resume-ru
|
||
description: >
|
||
Составление, рецензирование и адаптация резюме и сопроводительных писем
|
||
под российский рынок труда (hh.ru, Habr Career) с учётом ATS-РФ и реалий
|
||
2026 года. Многостадийный процесс: разбор резюме и вакансии, gap-анализ,
|
||
стратегические вопросы, оптимизация под ATS и поиск рекрутёра, скоринг,
|
||
вывод в PDF/DOCX. Используй этот скилл ВСЕГДА, когда речь идёт о: создании
|
||
или обновлении резюме/CV, рецензировании и улучшении резюме, адаптации
|
||
резюме под конкретную вакансию, прохождении ATS- или hh-фильтров, подборе
|
||
ключевых навыков под запрос рекрутёра, написании или правке
|
||
сопроводительного письма, удалении из резюме «воды» и канцелярита, оценке
|
||
резюме глазами рекрутёра, или когда пользователь упоминает «резюме»,
|
||
«резюме под вакансию», «CV», «hh.ru», «хедхантер», «хх», «Habr Career»,
|
||
«отклик на вакансию», «сопроводительное письмо», «ключевые навыки»,
|
||
«составь/проверь/адаптируй резюме», «пройти ATS», «карьерный консультант».
|
||
Базовая локаль — Россия (структура hh-резюме, зарплатные ожидания,
|
||
анти-канцелярит, ATS-системы РФ, защита от «нейросетевого» вида текста).
|
||
Работает для любых специальностей (IT, инженерия, 1С, менеджмент, рабочие
|
||
профессии).
|
||
user-invocable: true
|
||
---
|
||
|
||
# Резюме РФ
|
||
|
||
Многостадийный скилл: превращает резюме в адаптированный под конкретную
|
||
вакансию документ, оптимизированный под ATS и поиск рекрутёра на hh.ru.
|
||
Базовая и единственная локаль — **Россия** (2026). Для двуязычных/западных
|
||
резюме существует исходный плагин — см. `ATTRIBUTION.md`.
|
||
|
||
## Справочные файлы
|
||
|
||
Читать на соответствующих стадиях — в них правила, конвенции и шаблоны:
|
||
- `references/ats-rules-ru.md` — ATS-РФ, правила формата, ключевые слова,
|
||
формула скоринга, анти-паттерны.
|
||
- `references/locale-ru.md` — конвенции резюме РФ (2026).
|
||
- `references/hh-ru.md` — специфика hh.ru и Habr Career.
|
||
- `references/anti-cliche-ru.md` — анти-канцелярит и сильные глаголы.
|
||
- `references/anti-ai-fingerprint.md` — чтобы текст не выглядел «нейросетевым».
|
||
- `references/section-templates-ru.md` — шаблоны разделов и сопроводительного.
|
||
- `references/html-template-ru.html` — HTML-шаблон для PDF через weasyprint.
|
||
|
||
## Мастер-профиль
|
||
|
||
Расположение: `docs/resume/master-profile.md`
|
||
|
||
Мастер-профиль — это полное хранилище карьерных данных (все роли, метрики,
|
||
навыки, контекст переходов). Это НЕ готовое резюме. Скилл адаптирует резюме
|
||
ИЗ мастер-профиля под каждую вакансию.
|
||
|
||
- Если мастер-профиль есть — использовать как основной источник.
|
||
- Если нет — построить его из присланного резюме при первом запуске.
|
||
- После каждой сессии — предложить дополнить его новой информацией.
|
||
|
||
Структура мастер-профиля:
|
||
```
|
||
# Мастер-профиль
|
||
## Контакты (ФИО, email, телефон, Telegram, город)
|
||
## Карьерный нарратив (сырой, неформатированный — полная история)
|
||
## Схема видимости (определения enum и известные варианты)
|
||
## Роли (для каждой: Видимость, Варианты, контекст компании, должность,
|
||
даты, размер/структура команды, обязанности, достижения с метриками,
|
||
технологии)
|
||
## Образование (с Видимостью)
|
||
## Сертификаты
|
||
## Инвентарь навыков (полный, не отфильтрованный)
|
||
## Языки
|
||
## Заметки (пробелы, пет-проекты, консалтинг и т. п.)
|
||
```
|
||
|
||
### Система видимости
|
||
|
||
У каждой роли/раздела может быть поле `Видимость`. Если полей нет — считать
|
||
все роли `always`.
|
||
|
||
| Значение | Смысл | Поведение |
|
||
|---|---|---|
|
||
| `always` | Во всех вариантах резюме | Всегда рассматривать к включению |
|
||
| `variant-specific` | Только в вариантах из поля `Варианты` | Включать, если целевой вариант совпал или пользователь явно попросил |
|
||
| `on-request` | Никогда без явной просьбы | По умолчанию пропускать |
|
||
| `reference-only` | Псевдоним/метаданные | Никогда не включать в вывод |
|
||
|
||
### Правила разрешения видимости
|
||
|
||
1. **Определить целевой вариант** — из запроса, домена вакансии или спросить.
|
||
Пользователь может задать исключение («без варианта X»).
|
||
2. **Отфильтровать роли:** `always` → включить; `variant-specific` → только
|
||
при совпадении варианта; `on-request` → пропустить, если не названа явно;
|
||
`reference-only` → никогда.
|
||
3. **Образование, сертификаты, языки** — уважать их `Видимость` так же.
|
||
4. **Решение пользователя приоритетно.**
|
||
|
||
---
|
||
|
||
## Рабочий процесс
|
||
|
||
```
|
||
СТАДИЯ 0: Сбор входных данных
|
||
|
|
||
СТАДИЯ 1: Разбор и анализ (через subagent)
|
||
|
|
||
СТАДИЯ 1.5: Фидбэк по резюме (пользователю)
|
||
|
|
||
СТАДИЯ 2: Стратегические вопросы (AskUserQuestion)
|
||
|
|
||
СТАДИЯ 3: Оптимизация под ATS и адаптация
|
||
|
|
||
СТАДИЯ 4: Черновик (.md)
|
||
|
|
||
СТАДИЯ 5: Ревью и итерации
|
||
|
|
||
СТАДИЯ 6: Финальный вывод (PDF/DOCX + опц. сопроводительное)
|
||
```
|
||
|
||
---
|
||
|
||
## СТАДИЯ 0: Сбор входных данных
|
||
|
||
### Резюме
|
||
```
|
||
ЕСЛИ в аргументах путь к файлу (PDF/MD/TXT): прочитать файл
|
||
ИНАЧЕ ЕСЛИ есть docs/resume/master-profile.md: прочитать, подтвердить с
|
||
пользователем «Использую ваш мастер-профиль как основу. Верно?»
|
||
ИНАЧЕ: попросить резюме (текст, путь к файлу или PDF).
|
||
```
|
||
|
||
### Вакансия
|
||
```
|
||
ЕСЛИ в аргументах URL: WebFetch, извлечь название, компанию, требования,
|
||
обязанности, квалификацию. Если контента мало — попросить вставить текст.
|
||
ИНАЧЕ ЕСЛИ вставлен текст: разобрать напрямую.
|
||
ИНАЧЕ: попросить описание вакансии (текст или URL).
|
||
```
|
||
|
||
### Первый запуск: создание мастер-профиля
|
||
Если профиля нет, а резюме передано — построить мастер-профиль по структуре
|
||
выше, сохранить в `docs/resume/master-profile.md`, сообщить пользователю.
|
||
|
||
---
|
||
|
||
## СТАДИЯ 1: Разбор и анализ
|
||
|
||
**Использовать subagent** — чтобы защитить основной контекст от тяжёлого
|
||
парсинга. Subagent получает сырой текст резюме/профиля и вакансии и
|
||
возвращает:
|
||
|
||
**Из резюме:** роли (должность, компания, даты, достижения с метриками,
|
||
технологии); инвентарь навыков; образование и сертификаты; карьерную линию.
|
||
|
||
**Из вакансии:** компанию и контекст; целевую должность и грейд; обязательные
|
||
навыки (must-have); желательные (nice-to-have); ключевые обязанности; домен;
|
||
неявные требования (между строк).
|
||
|
||
**Gap-анализ:** сильные совпадения; частичные (можно переформулировать);
|
||
пробелы; отличительные преимущества; красные флаги (пересечения дат,
|
||
необъяснённые перерывы, нестыковки должностей).
|
||
|
||
---
|
||
|
||
## СТАДИЯ 1.5: Фидбэк по резюме
|
||
|
||
**Показать анализ пользователю до стратегических вопросов.** Формат:
|
||
|
||
```
|
||
## Анализ резюме под [роль] в [компания]
|
||
|
||
### Сильные стороны (что работает на эту роль)
|
||
- [конкретно, привязано к требованию вакансии]
|
||
|
||
### Что исправить
|
||
- [конкретная проблема + действие]
|
||
|
||
### Gap-анализ против вакансии
|
||
| Требование вакансии | Покрытие в резюме | Статус |
|
||
|---|---|---|
|
||
| [навык/опыт] | [где есть или «не найдено»] | Совпадение / Частично / Пробел |
|
||
|
||
### Красные флаги (если есть)
|
||
- [пересечения дат, перерывы, нестыковки — только если реально есть]
|
||
|
||
### Рекомендации
|
||
- [конкретное действие, привязанное к вакансии]
|
||
```
|
||
|
||
Правила: конкретика, а не общие советы; каждое наблюдение привязано к
|
||
вакансии; флагать только реальные проблемы; отличать структурные проблемы
|
||
(всегда чинить) от контентных (под эту вакансию). Если у профиля есть поля
|
||
Видимости — отдельным блоком показать исключённые роли и причину.
|
||
|
||
---
|
||
|
||
## СТАДИЯ 2: Стратегические вопросы
|
||
|
||
Задать 3–5 вопросов через AskUserQuestion, адаптируя под результаты анализа.
|
||
|
||
**Q1: Позиционирование**
|
||
«Судя по вакансии — [краткое резюме]. Как вас позиционировать?»
|
||
— Техническая глубина / Управленческая широта / Сбалансированно.
|
||
|
||
**Q2: Акценты**
|
||
«Сильнейшие совпадения: [топ-3-4]. Пробелы: [топ-2-3]. Что выделить, что
|
||
приглушить?» — Использовать мои рекомендации / [указания пользователя].
|
||
|
||
**Q3: Зарплатные ожидания**
|
||
«Указать зарплатные ожидания? На hh это поднимает резюме в выдаче с
|
||
фильтром „с зарплатой“.» — Указать вилку [сумма] / Не указывать / «по
|
||
итогам собеседования».
|
||
|
||
**Условные:** пересечение дат (если есть); судьба нерелевантного домена;
|
||
нужно ли сопроводительное письмо.
|
||
|
||
После вопросов — собрать внутреннюю стратегию адаптации (не сохранять).
|
||
|
||
---
|
||
|
||
## СТАДИЯ 3: Оптимизация под ATS и адаптация
|
||
|
||
Прочитать: `references/ats-rules-ru.md`, `references/locale-ru.md`,
|
||
`references/hh-ru.md`, `references/section-templates-ru.md`.
|
||
|
||
### 3.1 Краткое описание (summary)
|
||
Написать под ЭТУ роль по шаблону из section-templates-ru. Указать целевую
|
||
должность + 1–2 метрики, бьющие в приоритеты вакансии.
|
||
АНТИ-ПАТТЕРН: не начинать с «Опытный/Целеустремлённый/Ответственный…» —
|
||
переписать. См. `anti-cliche-ru.md`.
|
||
|
||
### 3.2 Ключевые навыки
|
||
3–5 функциональных категорий, самая релевантная — первой. Каждый
|
||
обязательный навык вакансии присутствует. Это поисковый индекс для
|
||
рекрутёра hh — см. `hh-ru.md`. Нерелевантное убрать (оставить в профиле).
|
||
|
||
### 3.3 Опыт работы
|
||
Свежие 2–3 роли — полный формат (контекст компании, масштаб, 3–5 буллетов
|
||
с метриками по формуле). Старые — сжато (1–2 релевантных достижения), но не
|
||
удалять. Каждый буллет — с числом и бизнес-контекстом. Сильные глаголы из
|
||
`anti-cliche-ru.md`.
|
||
|
||
### 3.4 Ключевые слова
|
||
Каждый обязательный навык — минимум в 2 местах (навыки + буллет опыта).
|
||
Семантические варианты, рус + англ синонимы («1С»/«1C»). Не более 3
|
||
упоминаний (без «накрутки»).
|
||
|
||
### 3.5 Образование и сертификаты
|
||
Порядок по локали (см. `locale-ru.md`: для опытных — после опыта; для
|
||
студентов/выпускников — перед). Релевантные сертификаты — на видном месте.
|
||
|
||
### 3.6 Правки под локаль РФ
|
||
По `locale-ru.md`: фото/ДР/семейное — опционально (по умолчанию без
|
||
фото и ДР для ATS-версии); зарплата — по решению из Q3; объём 1–2 страницы.
|
||
|
||
### 3.7 Анти-канцелярит
|
||
Прогнать весь текст по `anti-cliche-ru.md`: убрать мусорные «качества»
|
||
(стрессоустойчивость, коммуникабельность…) и канцелярит, заменить фактами.
|
||
|
||
---
|
||
|
||
## СТАДИЯ 4: Черновик
|
||
|
||
Сохранить в `docs/resume/draft-[компания-slug]-[ГГГГ-ММ-ДД].md`. Файл
|
||
содержит: (1) полное адаптированное резюме в markdown; (2) маркер
|
||
`<!-- ATS-ANALYSIS-START -->`; (3) блок анализа (только для ревью, удаляется
|
||
перед финалом):
|
||
|
||
```markdown
|
||
<!-- ATS-ANALYSIS-START -->
|
||
## Анализ ATS (только для ревью — в финал не войдёт)
|
||
### Оценка ATS: [XX]%
|
||
### Покрытие ключевых слов
|
||
| Требование | Найдено | Раздел |
|
||
### Разбивка скоринга
|
||
- Покрытие обязательных навыков: X/Y
|
||
- Покрытие желательных: X/Y
|
||
- Доля буллетов с метриками: Z%
|
||
- Полнота разделов: Z%
|
||
- Распределение ключевых слов: Z%
|
||
### Оставшиеся пробелы / Принятые решения
|
||
```
|
||
|
||
Перед показом прогнать **чек-лист анти-AI** (`anti-ai-fingerprint.md`).
|
||
Показать черновик пользователю.
|
||
|
||
---
|
||
|
||
## СТАДИЯ 5: Ревью и итерации
|
||
|
||
```
|
||
ЦИКЛ:
|
||
ждать обратную связь
|
||
ЕСЛИ «ок»/«финал»/«готово»: → Стадия 6
|
||
ИНАЧЕ: внести правки, пересчитать ATS-скоринг, обновить черновик,
|
||
показать с подсветкой изменений
|
||
```
|
||
|
||
---
|
||
|
||
## СТАДИЯ 6: Финальный вывод
|
||
|
||
### 6.1 Чистый markdown
|
||
Удалить блок анализа (всё после `<!-- ATS-ANALYSIS-START -->`).
|
||
|
||
### 6.2 Выбор формата вывода
|
||
Определить по запросу/контексту вакансии:
|
||
|
||
- **PDF (по умолчанию для прямого отклика)** — через HTML + weasyprint,
|
||
шаблон `references/html-template-ru.html`. Точный РФ-формат, фото
|
||
опционально (по умолчанию выкл; включать только если пользователь
|
||
просит и канал — hh/прямой отклик, не ATS).
|
||
- **DOCX** — если портал/вакансия просит .docx или нет weasyprint.
|
||
Через pandoc: `pandoc resume.md -o resume.docx` (опц.
|
||
`--reference-doc=reference.docx` для стилей).
|
||
- **Текст на hh.ru** — если цель: заполнить анкету hh. Выдать готовые
|
||
блоки (должность, ключевые навыки, о себе, опыт) для копирования в
|
||
поля hh; см. `hh-ru.md`.
|
||
|
||
### 6.3 PDF через weasyprint (если выбран)
|
||
Заполнить слоты `[SLOT]` в html-template-ru.html. Конвертация:
|
||
```bash
|
||
cd docs/resume && DYLD_LIBRARY_PATH="$(brew --prefix)/lib" \
|
||
uv run weasyprint resume-[slug].html [Имя]-[Роль].pdf
|
||
```
|
||
Требует weasyprint (`uv add weasyprint` или `pip install weasyprint`) и
|
||
system-deps `glib`/`pango`/`cairo` (через brew). На macOS нужен
|
||
`DYLD_LIBRARY_PATH`. Если weasyprint недоступен — fallback на DOCX (pandoc).
|
||
|
||
### 6.4 Сопроводительное письмо (если просили)
|
||
По `references/section-templates-ru.md` — короткое (3–6 предложений), под
|
||
вакансию, без штампов. Тон по `anti-cliche-ru.md` и `anti-ai-fingerprint.md`.
|
||
|
||
### 6.5 Отчёт и обновление профиля
|
||
Перечислить созданные файлы. Предложить дополнить мастер-профиль новой
|
||
информацией из сессии.
|
||
|
||
---
|
||
|
||
## Чек-лист перед выводом (Стадия 4)
|
||
|
||
### Соответствие ATS / hh
|
||
- [ ] Один столбец (без таблиц для вёрстки)
|
||
- [ ] Контакты в теле документа (не только в шапке)
|
||
- [ ] Стандартные заголовки разделов (по `ats-rules-ru.md`)
|
||
- [ ] Единый формат дат
|
||
- [ ] Без шкал навыков, иконок, графики
|
||
- [ ] Аббревиатуры расшифрованы при первом употреблении
|
||
- [ ] Ключевые навыки покрывают теги поиска рекрутёра (hh)
|
||
|
||
### Покрытие ключевых слов
|
||
- [ ] Каждый обязательный навык — в 2+ местах
|
||
- [ ] Ни одно слово не повторяется более 3 раз
|
||
- [ ] Должность из вакансии отражена в summary
|
||
|
||
### Качество контента
|
||
- [ ] Summary конкретно под ЭТУ роль (не шаблон)
|
||
- [ ] В каждом буллете опыта — метрика с бизнес-контекстом
|
||
- [ ] Свежие 2–3 роли подробно, старые сжато (не удалены)
|
||
- [ ] Перерывы > 6 мес. отмечены пользователю
|
||
- [ ] Нет мусорных «качеств» и канцелярита (`anti-cliche-ru.md`)
|
||
- [ ] Пройден скан анти-AI (`anti-ai-fingerprint.md`)
|
||
|
||
### Локаль РФ
|
||
- [ ] Фото/ДР/семейное — по решению (по умолчанию ATS-версия без них)
|
||
- [ ] Зарплата — по решению Q3
|
||
- [ ] Объём 1–2 страницы
|
||
|
||
### Анти-паттерны
|
||
- [ ] Summary НЕ начинается с «Опытный/Целеустремлённый/Ответственный»
|
||
- [ ] Нет «рекомендации предоставлю по запросу»
|
||
- [ ] Нет процентных шкал владения навыком
|
||
- [ ] Ранний опыт не вырезан в ноль
|
||
- [ ] Смежный домен переформулирован, а не выброшен
|