claudekit / tools / ai-job-search
[ Plugin · Productivity ]

AI Job Search

The job search that runs on your machine. An AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews — all driven by slash commands, running locally. Fork it and own it.

MadsLorentzen/ai-job-search ·updated
$ gh repo fork MadsLorentzen/ai-job-search --clone copy

An open-source project by Mads Lorentzen (MadsLorentzen/ai-job-search).

What it does

A job search is a loop of repetitive work — re-tailoring a CV for each posting, writing a fresh cover letter, tracking applications, and prepping for interviews. Doing each step by hand is draining, and optimizing a CV against a posting means starting over every time.

AI Job Search bundles that flow into Claude Code slash commands. It requires Claude Code to run, and it orchestrates a multi-step workflow — from evaluating postings to tailoring CVs, writing cover letters, and interview prep — inside the session. Your data and documents stay on your machine. From the README: “The job search that runs on your machine.”

What you can make

Running the commands produces these outputs, per the README:

  • Tailored CV PDF/apply <url> reworks your CV against the posting. moderncv (banking style), lualatex-compiled, exactly 2 pages, with relevance-weighted content cutting when it overflows.
  • Cover letter PDF — a custom cover.cls class, xelatex-compiled, one page with a visible signature. A drafter-reviewer flow drafts it, then a separate-context reviewer agent researches the company and critiques the draft before revision.
  • Fit-ranked job shortlist/scrape and /rank search portals, deduplicate, and score by fit against your profile, returning a ranked shortlist with gap analysis.
  • Interview prep package/interview maps likely questions to your documented STAR examples, researches company intel, and runs a mock-interview roleplay.
  • Skill-gap learning plan/upskill lays out skill gaps versus tracked postings as a heatmap and produces a learning plan with resources and time estimates.

The flow: /setup to build your profile → /scrape to collect and rank jobs → /apply <url> to generate the CV and cover letter → /interview to prep → /outcome to record results.

Key features

  • Slash-command workflow

    Run each stage as a command — /setup, /scrape, /apply, /rank, /interview, /outcome, /expand, /upskill. /expand enriches your profile by scanning GitHub repos, portfolio, and Kaggle.

  • PDF and ATS verification

    /apply compiles the CV and cover letter, then inspects the PDFs to catch orphaned job titles and spilled pages, and extracts the text layer to confirm contact-detail legibility and ATS keyword coverage.

  • Portal scraping

    Supports Danish portals (Akademikernes Jobbank, Jobindex, Jobnet) plus LinkedIn (public endpoints) and freehire. Use /add-portal to generate a skill for your own local job board.

  • LaTeX templates

    Keeps CVs and cover letters as LaTeX, and /add-template registers custom templates while preserving structure and ATS readability.

Usage

Install — fork and clone the repo, then install the portal CLI tools with Bun.

gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search
for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search freehire-search; do
  cd .agents/skills/$tool/cli && bun install && cd ../../../..
done

Setup and run — start Claude Code, build your profile with /setup, then use the commands.

claude
/setup
# then /scrape, /apply <url>, /interview, etc.

Notes

  • Requirements — Claude Code CLI, Python 3.10+, Bun, and a LaTeX distribution with lualatex and xelatex (TeX Live, MacTeX, TinyTeX, or MiKTeX). ATS text-layer verification optionally uses poppler’s pdftotext and degrades gracefully if it’s absent.
  • Portal coverage — the scrapers center on Danish job boards plus LinkedIn and freehire. The CV, cover letter, and interview features themselves are region-agnostic.
  • Fork and own — it’s not distributed via a plugin marketplace; you fork the repo and edit or extend it yourself.
  • MIT License — published as open source.
§ 6

See also

same category · curated
[01]
[Tool] Career-Ops · Open-source AI job search that runs locally in your AI coding CLI: scan job portals, score listings A-F, tailor your CV, track applications. It generates ATS-optimized resumes and cover letters, and never auto-submits.
tool · claudekit.io / tools / career-ops
[02]
[Tool] Browser Use · 🌐 Make websites accessible for AI agents. Automate tasks online with ease. An open-source framework that gives AI agents direct control over a real browser, with multi-LLM support and headless, parallel, and cloud-hosted execution. It ships an official Claude Code skill (`browser-use skill`) and powers the browser-use.com cloud.
tool · claudekit.io / tools / browser-use
[03]
[MCP] Asana · Asana's official remote MCP server, hosted by Asana. Search, create, and update tasks and projects in the Asana Work Graph and post status updates from Claude Code.
tool · claudekit.io / tools / asana
§ 7

Frequently Asked Questions

frequently asked
§ 7.1
What is AI Job Search?
An AI job application framework built on Claude Code that evaluates postings, tailors CVs, writes cover letters, and preps interviews through slash commands. As the README puts it, "The job search that runs on your machine."
§ 7.2
What does it run on?
It requires the Claude Code CLI — the slash commands and skills run inside a Claude Code session. It also needs Bun for the job-portal scrapers and a LaTeX distribution (lualatex and xelatex) to compile the CV and cover letter PDFs.
§ 7.3
How do I install it?
Fork and clone the repo (`gh repo fork MadsLorentzen/ai-job-search --clone`), install the portal CLI tools with Bun, then run `claude` and `/setup` to build your profile.
§ 7.4
What does it produce?
Per posting, a tailored CV PDF (moderncv, 2 pages) and a cover letter PDF (1 page). It also produces a fit-ranked job shortlist with gap analysis, STAR-based interview prep, and a skill-gap learning plan.
§ 7.5
Is it free? What's the license?
Yes, it's open source under the MIT License. The Claude Code usage that runs the commands is billed separately.