AI Job Search is a free, MIT-licensed framework that turns Claude Code into a full job-application assistant: it evaluates postings against your profile, tailors your CV, writes cover letters, and even preps you for interviews. It is the hottest repository on GitHub trending today, adding roughly 2,500 stars in a single day on top of about 12,000 total, and this Tutorials guide walks the setup end to end. Budget around 20 minutes once you have Claude Code, Bun, and a LaTeX toolchain in place, and you go from an empty fork to Claude drafting genuinely tailored applications on your own machine.
- It is a fork-and-fill framework, not an installed app: you fork the repo, run
/setup, and drive everything from slash commands inside Claude Code. - Every
/applyruns a drafter-reviewer loop: one agent writes the CV and cover letter, a second critiques them, then the CV is compiled to PDF and read back through an ATS text-layer check. - The bundled job-portal search tools are Denmark-first, but a country-agnostic LinkedIn skill ships in the box and
/add-portalgenerates one for your local market. - It is MIT licensed and local-first: your profile and drafts stay on your machine unless you deliberately route the summary step through a cloud model.
/apply runs a drafter, reviewer, PDF-compile, and ATS-check loop before you send anything.What is AI Job Search and why is it trending?
AI Job Search, from developer Mads Lorentzen, is not a downloadable program. It is a Claude Code project you fork, fill with your own career data, and then operate through a set of slash commands. The core loop is simple to describe: /setup builds a structured profile from your CV, documents, or a guided interview; /scrape searches job portals and sorts results by fit; and /apply takes a posting and produces a tailored CV and cover letter in LaTeX. Underneath that simplicity sits the part that earned the stars: a drafter-reviewer workflow where a second Claude agent, spawned with a fresh context, researches the company and critiques the first agent's drafts before they reach you.
RelatedStrix Setup: Run an AI Penetration Tester on Your Code
The trending spike makes sense in a market where everyone is drowning in applications. Generic AI cover letters are easy to spot and easy to ignore. This project's pitch is the opposite: it verifies its own output. The /apply command compiles the CV to PDF and visually inspects it until the layout is clean and exactly two pages, then extracts the PDF text layer the way an applicant tracking system parses it, checking that your contact details are real text rather than icon glyphs and that keyword coverage is honest. It refuses to stuff skills you do not actually have. That combination, an agent that both writes and audits, is what a lot of one-click resume tools quietly skip.
How do you install AI Job Search?
The prerequisites are the real work. You need Claude Code (the CLI), Python 3.10 or newer, Bun for the job-search CLI tools, and a LaTeX distribution with both lualatex and xelatex (TeX Live on macOS and Linux, MiKTeX on Windows). The CV compiles with lualatex and the cover letter with xelatex, so you genuinely need both engines. An optional extra, pdftotext from poppler, powers the ATS parseability check; without it, that check degrades gracefully to a visual review. Install Bun from bun.sh and your LaTeX distribution from its own installer first, because the framework assumes they exist.
With those in place, fork the repository and clone your own copy:
# 1. Fork the repo and clone your copy (GitHub CLI)
gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search
Next, install the bundled job-portal search tools. Each one is a small Bun CLI, so install them in turn:
# 2. Install the job-search CLI tools
cd .agents/skills/jobbank-search/cli && bun install && cd ../../../..
cd .agents/skills/jobdanmark-search/cli && bun install && cd ../../../..
cd .agents/skills/jobindex-search/cli && bun install && cd ../../../..
cd .agents/skills/jobnet-search/cli && bun install && cd ../../../..
cd .agents/skills/linkedin-search/cli && bun install && cd ../../../..
The LinkedIn tool has zero runtime dependencies, so its bun install only pulls TypeScript types. If you want the ATS text-layer check on your compiled CV, add poppler for your platform:
# optional: pdftotext for the ATS parseability check
# macOS
brew install poppler
# Debian / Ubuntu
apt install poppler-utils
# Windows
choco install poppler
How do you set up your profile and start applying?
Everything from here happens inside Claude Code. Launch it in the project folder and run the onboarding command:
# 3. Launch Claude Code and build your profile
claude
# then, inside Claude Code:
/setup
/setup offers three paths and auto-detects which one you can use: it reads a populated documents/ folder (CV PDF, LinkedIn export, diplomas, past applications), imports a single CV pasted into chat, or walks you through an interview. The depth of this profile is the single biggest factor in output quality, so describe what you actually did in each role, not just job titles. Once the profile exists, search and apply:
RelatedSet Up OpenAI Codex Inside Claude Code
# 4. Find jobs, then apply to one
/scrape
/apply https://jobindex.dk/job/1234567
/scrape queries the portals, deduplicates results, and presents them sorted by fit; when it returns more than you want to read, /rank batch-scores everything against the fit framework and hands you a shortlist. Then /apply runs the full pipeline on a chosen posting, or on a job description you paste directly if the portal blocks automated fetches. Six more commands extend the core three: /outcome records what happened to each application, /expand enriches your profile from public sources you have linked, /upskill maps skill gaps into a learning plan, /add-template registers your own LaTeX CV, /add-portal builds a search skill for a new job board, and /reset clears your data when you want to start over.
How does it compare with LinkedIn Easy Apply and Teal?
| Trait | AI Job Search | LinkedIn Easy Apply | Teal |
|---|---|---|---|
| Runs where | Your machine, in Claude Code | Vendor cloud | Vendor cloud |
| Tailors CV per job | Yes, LaTeX, relevance-weighted | No, one saved resume | AI-assisted editing |
| Writes cover letters | Yes, drafter and reviewer | No | AI-assisted |
| Second-agent critique | Yes | No | No |
| ATS text-layer check | Yes, on the compiled PDF | No | Score only |
| Open source | Yes, MIT | No | No |
The hosted tools still win on convenience and reach: a genuine one-click apply button, a database of postings, and no toolchain to install. AI Job Search wins where control and tailoring matter more than speed. It is the option for people who would rather send twenty deeply customized applications than two hundred identical ones, and who are comfortable living in a terminal to get there.
What are the gotchas before you rely on it?
Four things to know before this becomes your job-hunt system of record. First, this is not a low-friction install: the LaTeX toolchain alone, with both lualatex and xelatex, is a heavier dependency than most casual users expect, and you also need Claude Code, Bun, and Python present. Second, the shipped job-portal skills target the Danish market (Jobindex, Jobnet, Akademikernes Jobbank, Jobdanmark), so if you are elsewhere you will lean on the country-agnostic linkedin-search skill or generate your own board with /add-portal. Third, that LinkedIn skill is explicitly personal-use-only: automated access runs against LinkedIn's terms of service, so keep the volume low and human. Fourth, it runs on Claude Code, which means model usage is billed to you, and while the transcript and profile stay local by default, routing the drafting or summary steps through a cloud model is a choice that sends that text off your device. It is also an independent project and is not affiliated with or endorsed by Anthropic.
- Markets beyond Denmark. The generator pattern is there; shipping first-class portals for more countries would remove the biggest barrier to adoption outside Scandinavia.
- An escape hatch from LaTeX. A Markdown or HTML CV path would open the tool to everyone who bounces off installing a full TeX distribution.
- The pattern spreading. Drafter-reviewer with self-verification is a strong template; expect other agent tools that do your paperwork to copy the compile-and-audit loop.
Our take
The clever move here is not that Claude can write a cover letter, which everyone already knew. It is that this project treats a job application as an artifact to be verified, not just generated. Compiling the CV to a real PDF, reading it back through an ATS parser, cutting the lowest-value line when it overflows two pages, and spawning a separate agent to tear the draft apart before you see it, these are the unglamorous steps that separate an application that lands from one that reads like it came out of a prompt. The cost is real friction: the LaTeX and toolchain setup will scare off anyone who wanted a website with a button. But for a Gen Z job market where recruiters can smell generic AI output in a second, a tool whose whole personality is disciplined, honest tailoring is exactly the right kind of overbuilt. Fork it, invest an evening in a deep profile, and it earns its keep.
- OfficialMadsLorentzen/ai-job-search repository, README, and SETUP.md
- ReferenceClaude Code the CLI the whole framework runs on
- ReferenceBun runtime for the job-portal search CLIs
- ReferenceTeX Live LaTeX toolchain used to compile the CV and cover letter
Original analysis by GenZTech. Tool documentation: MadsLorentzen/ai-job-search on GitHub.
