ai-job-search: Use Claude Code to Manage Job Search, Rank Roles, Tailor CVs, and Write Cover Letters

ai-job-search is an open-source Claude Code workflow for building a candidate profile, searching jobs, scoring fit, tailoring CVs and cover letters, and checking ATS readability.

Job search work is rarely one single task. Postings sit on different sites, every role needs a slightly different CV, cover letters need rewriting, and the outcome has to be tracked somewhere. After a few weeks, it easily becomes a mess of tabs, PDFs, and half-maintained spreadsheets.

MadsLorentzen/ai-job-search puts that workflow inside Claude Code. You build a profile, search and rank jobs, generate tailored CVs and cover letters, and record what happened after applying. It is a structured workflow template, not a one-click mass-application bot.

What It Solves

ai-job-search focuses on four problems:

  • turning your experience, skills, education, and writing style into structured profile files;
  • searching job portals and sorting opportunities by fit;
  • drafting CVs and cover letters for a specific posting;
  • recording outcomes so later applications can be calibrated against real feedback.

That framing is useful. It does not promise to get you an offer automatically; it helps reduce the repeated, error-prone parts of applying.

Core Workflow

The main commands are /setup, /scrape, /rank, and /apply.

1. /setup: Build Your Profile

Start in Claude Code:

1
/setup

The setup command can read materials from documents/, import a pasted CV, or interview you to build the profile. The richer and more honest this step is, the better the later scoring and writing will be.

2. /scrape: Search for Jobs

After setup:

1
/scrape

The bundled search tools are strongest for the Danish market, including Jobindex, Jobnet, and Akademikernes Jobbank. The pattern can be adapted to other markets, and LinkedIn public job listings are more general.

If a site blocks fetching, you can still paste the full job description into /apply.

3. /rank: Prioritize Matches

When search returns too many roles, use:

1
/rank

It scores postings against the fit framework, including skills, experience, culture, location, and career alignment. That matters because many failed applications are not writing problems; they are targeting problems.

4. /apply: Produce the Application Package

For a selected job:

1
/apply https://example.com/job/123

Or paste the posting text:

1
/apply <paste the full job description here>

The command parses the posting, evaluates fit, drafts a tailored CV and cover letter, runs a reviewer agent, revises, compiles PDFs, checks ATS readability, and presents the final package with a checklist.

Why the ATS Check Matters

A PDF can look beautiful and still parse badly in an applicant tracking system. Icons, multi-column layouts, special fonts, and LaTeX output can produce garbled text or a broken reading order.

ai-job-search can use pdftotext to inspect the PDF text layer, verify contact details, and compare keyword coverage against the posting. The README also makes the honesty rule explicit: unsupported keywords stay visible as gaps and are not stuffed into the CV.

Extra Commands

The project includes several commands beyond the core flow:

  • /outcome records interviews, offers, rejections, and silence;
  • /expand enriches the profile from public sources such as GitHub, portfolio sites, Kaggle, or Google Scholar;
  • /upskill turns job gaps into a learning plan;
  • /add-template registers a custom LaTeX CV or cover letter template;
  • /add-portal scaffolds a search skill for a local job board;
  • /reset starts over.

This makes it closer to a maintained job-search system than a one-off resume generator.

Requirements

The project expects Claude Code CLI, Python 3.10+, Bun for search CLIs, a LaTeX distribution such as TeX Live or MiKTeX, and optionally pdftotext for ATS checks.

Quick start:

1
2
gh repo fork MadsLorentzen/ai-job-search --clone
cd ai-job-search

Then install the job-search tool dependencies and run /setup in Claude Code.

This is not lightweight for non-technical users. It fits people who already use command-line tools and are comfortable configuring Claude Code and LaTeX.

Who It Fits

It is useful if you are applying to many roles, tailoring applications seriously, already using Claude Code, care about PDF quality, and want to track outcomes over time.

It is less useful if you only apply to one or two jobs, do not want command-line setup, expect one-click mass applications, or are unwilling to organize your real experience.

Notes

Do not let AI invent experience. Keep the repository private if it contains CVs, references, diplomas, or application history. And expect local job-board integration to require work outside the Danish portals bundled by default.

Conclusion

ai-job-search is valuable because it turns job searching into a repeatable workflow: profile, search, rank, tailor, check, submit, record, and learn. If you already use Claude Code and are running a serious job search, it is a practical open-source framework worth studying.

Sources:

记录并分享
Built with Hugo
Theme Stack designed by Jimmy