Claude Info
Продуктивность

Агент поиска работы

Mahashwetha/Job-search-email-system-claude

Сквозной пайплайн поиска работы: ежедневные HTML-дайджесты вакансий, сканирование удалённых API, адаптация резюме через Gemini AI, рассылка HR-аутрич и черновики LinkedIn-сообщений. Управляется 9 голосовыми командами Claude Code Skills.

Установка

terminal
bash
pip install openpyxl requests beautifulsoup4 python-docx

README

Claude Job Search Agent 🎯

Сквозной автоматизированный пайплайн поиска работы, который берёт на себя всё — от поиска вакансий до подготовки заявок. Отправляет ежедневные стилизованные HTML-дайджесты из вашего Excel-трекера, сканирует удалённые job API на EMEA-совместимые роли, адаптирует резюме под каждую компанию с помощью Gemini AI, отправляет аутрич-письма HR с вложениями и составляет шаблоны сообщений для LinkedIn — всё на автопилоте через Windows Task Scheduler.

Полностью управляется Claude Code Skills — 9 голосовых команд на обычном языке покрывают весь рабочий процесс: добавление вакансий, отклонение, открытие горячих вакансий, письма HR, адаптация резюме и многое другое. Никаких скриптов для запоминания, никаких флагов.

Возможности

  • Ежедневные email-отчёты — стилизованные HTML-письма в 11:00 CET с компаниями, сгруппированными по роли и статусу
  • Раздел горячих вакансий — закреплённые листинги с LinkedIn + Welcome to the Jungle + BuiltIn (настраиваемые категории ролей, 5–8 слотов на категорию), которые сохраняются до добавления компании в трекер, затем заполняют только освободившийся слот — 1 слот в каждой категории всегда зарезервирован за BuiltIn, с автоматическим фолбэком на WTTJ/LinkedIn при отсутствии результатов — каждая вакансия отображает цветной бейдж источника (🔵 LI / 🟢 WTTJ / 🟠 BuiltIn) — WTTJ имеет приоритет внутри каждого уровня локации (hitsPerPage 30, сортировка по приоритету источника)
  • Сканер удалённых вакансий — получает данные из API RemoteOK, Remotive и Arbeitnow каждые 2 дня, фильтрует EMEA-совместимые роли
  • Адаптация резюме — персонализированные резюме под каждую компанию с помощью Gemini 2.5 Flash (бесплатный тариф) — никаких выдумок, только перестановка и выделение существующих навыков
  • Генератор аутрич-сообщений — автоматически создаёт короткие/средние/длинные шаблоны LinkedIn-сообщений для каждой компании, куда вы подали заявку
  • HR-аутрич письма — CLI-скрипт для отправки персонализированных холодных писем HR-контактам с прикреплёнными резюме и портфолио — автоматически определяет роль из трекера, всегда показывает превью перед отправкой
  • Интеграция с Excel — ежедневно читает трекер заявок для получения статусов, ссылок на роли и HR-контактов
  • Управление HR-контактами — ведёт базу рекрутеров с кликабельными ссылками на LinkedIn
  • Агрегаторы платформ — подобранные поисковые ссылки (Glassdoor, LinkedIn, WelcomeToTheJungle и др.)
  • Автоматизация Windows — работает на автопилоте через Task Scheduler
  • Claude Code Skills (9) — команды на обычном языке для каждого шага: добавить вакансии, отклонить, открыть горячие вакансии, написать HR, адаптировать резюме, запустить поиск — никаких флагов, никаких скриптов, просто скажите что нужно

Превью писем

Все данные ниже являются вымышленными.

Ежедневный отчёт о вакансиях (11:00)

Daily Email Sample

Компании сгруппированы по статусу с кликабельными ссылками на роли, HR-контактами (фиолетовый) и быстрыми поисковыми ссылками. Ссылки агрегаторов платформ отображаются под каждой категорией ролей.

Сканер удалённых вакансий (каждые 2 дня, 12:00)

Remote Email Sample

EMEA-совместимые удалённые роли из API RemoteOK, Remotive и Arbeitnow, отфильтрованные по настроенным ключевым словам ролей и предпочтениям по локации.

Что входит в поставку

Отслеживаемые роли

Роли определяются в daily_job_search.py — отредактируйте их под свой поиск работы. Стандартная конфигурация включает роли Java-бэкенда и продуктового менеджмента, но подойдёт любой стек или функция. Каждая роль связана с набором поисковых ссылок на job-бордах и запросами горячих вакансий.

Отслеживание статусов

  • ⬜ Не связывались
  • 🕐 На рассмотрении / В процессе
  • ✅ Подано
  • ⏸️ Нет доступных вакансий
  • ❌ Отказ

🌍 Важно: настройте под свою локацию

Инструмент поставляется с примерами поисковых ссылок. Перед использованием:

  1. Откройте daily_job_search.py
  2. Обновите переменные локации в начале файла (строки 15–16):
    py
    LOCATION_CITY = "YourCity"      # Замените "Paris"
    LOCATION_COUNTRY = "YourCountry" # Замените "France"
  3. При необходимости обновите URL job-бордов под вашу локацию (см. раздел Настройка URL ниже)

Требования

  • Python 3.7+
  • Аккаунт Gmail с включённым паролем приложения
  • Excel-трекер (опционально, но рекомендуется)
  • Windows OS (для автоматизации через Task Scheduler)

Быстрый старт

1. Установите зависимости Python

pip install openpyxl requests beautifulsoup4 python-docx

2. Настройте конфигурацию

ВАЖНО: Создайте файл конфигурации:

  1. Скопируйте config.template.py в config.py
  2. Отредактируйте config.py, указав свои данные:
py
EMAIL_CONFIG = {
    'smtp_server': 'smtp.gmail.com',
    'smtp_port': 587,
    'sender_email': 'YOUR_EMAIL@gmail.com',        # ← Ваш Gmail
    'sender_password': 'YOUR_APP_PASSWORD',         # ← Пароль приложения Gmail (16 символов)
    'recipient_email': 'YOUR_EMAIL@gmail.com',      # ← Email получателя
}

TRACKER_FILE = r'C:\Path\To\Your\Tracker.xlsx'     # ← Путь к вашему Excel-трекеру

3. Получите пароль приложения Gmail

  1. Перейдите в Безопасность аккаунта Google
  2. Включите двухэтапную верификацию (если ещё не включена)
  3. Перейдите в Пароли приложений (внизу страницы)
  4. Выберите «Почта» и ваше устройство
  5. Скопируйте 16-символьный пароль (без пробелов)
  6. Вставьте его в config.py как значение sender_password

4. Тестовый запуск

python daily_job_search.py

Проверьте почту — вы должны получить отчёт о поиске работы!

5. Настройте ежедневную отправку (11:00)

Простая настройка (рекомендуется):

  1. Нажмите правой кнопкой на setup_task_admin.bat
  2. Выберите «Запуск от имени администратора»
  3. Нажмите «Да» при появлении запроса
  4. Вы должны увидеть «SUCCESS! Scheduled task created»

Альтернативные способы:

  • Запустите setup_scheduled_task.ps1 (версия для PowerShell)
  • Ручная настройка через GUI Task Scheduler (см. SETUP_INSTRUCTIONS.txt)

Настройка Excel-трекера

Вариант 1: Использовать шаблон (рекомендуется)

  1. Скопируйте шаблон:

    bash
    # Репозиторий включает tracker_template.xlsx
    # Скопируйте его и заполните своими компаниями
  2. Обновите путь к трекеру в config.py:

    TRACKER_FILE = r'C:\Path\To\Your\tracker.xlsx'

Вариант 2: Использовать существующий трекер

Отформатируйте Excel-файл следующим образом:

| Company | Role | Role link | status of applic

Похожие скиллы