AI Job Search

πŸš€ Description

MadsLorentzen/ai-job-search β€” a fork-and-fill job application framework built on Claude Code. Fork the repo, run /setup to build your profile (from a documents/ folder, a pasted CV, or an interview), then /scrape searches job portals and /apply <url> runs the full pipeline: evaluate fit β†’ draft LaTeX CV + cover letter β†’ reviewer agent critiques β†’ revise β†’ compile and verify PDFs.

The core workflow is language- and country-agnostic; the shipped portal skills target the Danish market (Jobindex, Jobnet, Akademikernes Jobbank), plus a country-agnostic linkedin-search skill on LinkedIn’s public endpoints. /add-portal generates a search skill for any local job board.

🧩 Features

  • Drafter-reviewer separation β€” a second Claude agent with fresh context researches the company and critiques the drafts; the drafter revises. Catches generic language a single pass leaves in.
  • PDF verification loop β€” compiles with lualatex/xelatex, visually inspects the rendered pages, iterates until the CV is exactly 2 pages with no orphaned titles and the letter exactly 1 page (\needspace, \enlargethispage, font-matching fixes).
  • ATS check on the PDF text layer β€” extracts the compiled CV via pdftotext and verifies what a parser actually sees: literal contact details, sane reading order, keyword coverage. Honesty rule: gaps stay visible, never keyword-stuffed.
  • Relevance-weighted CV cutting β€” overflow lines scored by posting relevance + uniqueness + cover-letter dependency; lowest score cut first, not β€œoldest section first”.
  • 7 commands β€” /setup, /scrape, /apply, plus /expand (mine GitHub/portfolio/Scholar for competencies), /upskill (skill-gap heatmap + learning plan), /add-template (register your own LaTeX templates), /add-portal.
  • Skill-per-portal architecture β€” each job board is a Bun CLI skill under .agents/skills/ with a shared output contract; profile knowledge lives in numbered skill files (candidate profile, behavioral profile, writing style, evaluation framework, STAR examples).
  • Anti-fabrication rule β€” every CV/letter claim verified against the profile; the system never invents skills or experience.

Reasoning for

Second entry in the AI-job-search pattern next to Career-Ops β€” same thesis (job hunting as a Claude Code harness), different center of gravity. Career-Ops leads with offer scoring and a Go TUI command center; ai-job-search leads with output quality mechanics: the drafter-reviewer loop, compile-and-inspect PDF verification, and the ATS text-layer check are directly reusable Harness Engineering patterns (verify the artifact the consumer sees, not the source you wrote). The /add-portal skill-generator is a nice example of agents scaffolding their own Agent Skills.

Alternatives considered

  • Career-Ops β€” the sibling framework: A–F offer scoring, portal scanner, batch sub-agents, human-in-the-loop; less emphasis on PDF/ATS verification.
  • Manual CV tailoring β€” what both replace: hours per application, no systematic keyword coverage.
  • CV-builder SaaS (Teal, Rezi, etc.) β€” hosted, subscription, opaque; here you own the pipeline and the LaTeX.

Template: tool