Favicon of AI Job Search

AI Job Search

Open-source Claude Code framework that scrapes job postings, scores fit, drafts tailored CVs and cover letters, and preps interviews.

AI Job Search website screenshot
AI Job Search GitHub repository preview

AI Job Search is a Python-based framework built on top of Claude Code that turns the CLI agent into a full job-application pipeline. It's for job seekers comfortable forking a repo, filling in personal data files, and running slash commands rather than clicking through a SaaS dashboard. The core workflow (profiling, fit evaluation, CV/cover letter drafting) is language- and country-agnostic; the shipped job-portal search skills target the Danish market (Jobindex, Jobnet, Akademikernes Jobbank), but the pattern is meant to be adapted to local boards via /add-portal.

Everything runs locally against your own fork or private repo. Claude Code drives the process through custom commands and skills defined in markdown files, and your CV/cover letter output compiles from LaTeX templates.

Key features

  • /setup onboarding: builds your candidate profile from a documents folder, a pasted CV, or an interview-style Q&A, and is safe to re-run as you add material.
  • /scrape and /rank: search multiple job portals, deduplicate results, and batch-score postings against a structured fit framework with deal-breaker vetoes and deadline flags.
  • /apply drafter-reviewer pipeline: evaluates fit on a given posting, drafts a tailored CV and cover letter in LaTeX, has a second agent critique the draft, and revises before final output.
  • /interview prep packs: builds stage-specific prep from the actual submitted CV, cover letter, and any recorded feedback, maps questions to your STAR examples, and offers a mock interview.
  • /outcome tracking: archives submitted materials per application, updates a CSV tracker, and drafts (never auto-sends) follow-up notes for applications that have gone quiet.
  • Integrations: /gmail-sync proposes tracker updates from Gmail signals for your approval, /notion-sync publishes a read-only pipeline view to Notion, and /html-report generates an offline HTML dashboard.
  • Extensibility commands: /add-template registers custom CV/cover letter templates (LaTeX, Typst, others), /add-portal scaffolds a new job-board search skill, and /expand//upskill enrich your profile and surface skill gaps.
  • Prompt-injection awareness: job postings are treated as untrusted input; the workflow doesn't follow embedded instructions or fetch links from posting bodies.

Ideal use cases

This fits someone doing an active, sustained job search who wants every application tailored rather than templated, and who is willing to set up a real toolchain (Claude Code, Python, Bun, a LaTeX distribution) to get there. It works well if you want your CV, cover letter, application tracking, and interview prep in one repo you control, with your personal data staying on your own machine or private repo.

It's not a fit if you want a hosted, no-setup tool, or if you're only applying to a handful of jobs and don't need scoring, tracking, or LaTeX-based document generation. It's also not ideal outside markets with comparable job portals unless you're willing to build a search skill for your own boards with /add-portal. Anyone uncomfortable running an AI agent against job postings and reviewing its output before submission should also think twice, since the safeguards are instruction-level, not a sandbox.

Installation

Prerequisites: Claude Code CLI, Python 3.10+, Bun, and a LaTeX distribution with lualatex and xelatex (TeX Live, MacTeX, TinyTeX, or MiKTeX). pdftotext from poppler is optional and used for an ATS parseability check.

Fork and clone (use a private repo with this as upstream if this is for your own job search, since forks are public and /setup writes personal data into tracked files):

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

Install the job-portal search tools:

for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search freehire-search; do
  (cd .agents/skills/$tool/cli && bun install)
done

Set up your profile inside Claude Code:

claude
# Then inside Claude Code:
/setup

Search for jobs and apply:

/scrape
/apply https://jobindex.dk/job/1234567

/apply also accepts a pasted job description if a portal URL can't be fetched.

Frequently asked questions

Share:

Stars
36.6K
Forks
12.4K
Last commit
17 hours ago
Repository age
5 months
License
MIT
Self-hosted
No
Activity score
87/100
View Repository
Built with:
Ad
Favicon

 

  
 

Similar to AI Job Search

Favicon

 

  
 
Favicon

 

  
 
Favicon