Career Manager
Five Claude Code skills for running a whole job search
▶ Full demo with audio. Click play to start.
What it does
- onboarding: reads your resume, derives your career paths, and writes every config file the pipeline needs.
- job-search: runs the full discovery pipeline. Phase 1 scrapes job boards (JobSpy), monitors known target companies, and exports prospecting context. Then parallel sub-agents do two waves: wave 1 scores known companies and new job-board hits against a 10-dimension rubric, wave 2 expands into competitors, investor portfolios, and curated lists for any career path that hit a threshold. Phase 2 merges into one ranked target list.
- company-research: produces a single deep dossier on one company (overview, signals, fit, risks) when the surface scoring is not enough.
- cv-tailor: picks the closest base .docx resume, proposes grounded text-only edits matched to exact paragraphs, and writes a tailored resume and cover letter per role with a change summary.
- job-tracker: keeps every application, follow-up, and status update in a local pipeline the rest of the skills read as the source of truth.
Why I built it
Job searching shouldn't feel like a full-time job. This project started as a way to keep building while putting myself back on the job market. I wanted everything in one place, on demand, and personalized. The goal was never to cast a wide net. It was to cast a precise one.
How it works
What was hard
- Claude's native web search is rate-limited and shallow for careers pages. The workaround is to route discovery through third-party integrations (JobSpy for the boards, Tavily for company-page mapping) and use Claude for judgment on top, not for scraping.
- Claude tries to rebuild .docx resumes wholesale and blows up the formatting. The workaround lives in cv-tailor: docx_safe_patch.py does phrase-level in-place edits that preserve run-level formatting, Claude proposes only text changes matched to exact strings from the base resume, and the pipeline enforces a 2-page cap before writing anything.
- Deciding what to make deterministic Python and what to leave to Claude. Scraping, merging, selecting base CVs, writing files: deterministic. Deciding which companies fit, writing the cover letter, classifying whether a role is the right shape: judgment. Mixing the two kills reproducibility and grading.
Outcome
- A live status dashboard the orchestrator surfaces in plain English at the start of every run: total companies tracked, how many are stale, active applications in flight, follow-ups due.
- A per-role tailored resume and cover letter, grounded in your real experience, with a change summary you can sanity-check before sending.
Tech
Claude Code skills · Python · JobSpy · Tavily · Gmail API · parallel sub-agents