Analyses a job vacancy against Ivan's CV, identifies gaps, and generates a tailored CV + cover letter. Two backends: local Ollama (free, private) or Claude API (cloud).
| File | Description |
|---|---|
ollama_job_agent.py |
Local Ollama (llama3.1:8b) — no API key needed |
job_agent.py |
Claude API (Anthropic) — requires ANTHROPIC_API_KEY |
make_cv.py |
Batch mode: reads "норм" jobs from Google Sheets, generates all, updates status |
# 1. Install Ollama: https://ollama.com
ollama pull llama3.1:8b
# 2. Run
pip install -r requirements.txt
python ollama_job_agent.py
# paste a job URL or description when promptedNon-interactive (for scripts):
python ollama_job_agent.py --auto "https://linkedin.com/jobs/view/..."export ANTHROPIC_API_KEY="sk-ant-..."
python job_agent.pyReads jobs marked "норм" in column G of sheets linkedin and linkedin_promoted
in the "Job Tracker" spreadsheet, generates applications, updates status to "cv готов".
python make_cv.pyRequires service_account.json in the project folder.
Each run creates a folder in ~/Desktop/CV Agent/:
Company — Job Title/
analysis.txt # match score, gaps, strengths
CV_Ivan_Meshalkin.Rmd # tailored CV (R Markdown / LaTeX)
cover_letter.txt # cover letter
- Analysis — scores CV match (0–100), lists CRITICAL / MODERATE / MINOR gaps
- Gap filling — interactive CLI asks about missing experience (skipped in
--automode) - CV generation — rewrites CV in Markdown/Rmd to emphasise relevance for this specific role
- Cover letter — max 250 words, opens with a specific hook, cites 2–3 concrete achievements