explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsdictionaryagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportcontactprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR — what job seekers ask first
  • Does it actually work?
  • Architecture: local files, agent pipeline
  • Quick start: private clone → portal CLIs → /setup
  • Prerequisites
  • Command reference beyond the core trio
  • What makes /apply different
  • Job portals: Denmark shipped, everywhere extensible
  • Profile depth = output quality
  • Honest limits and hiring-market caveats
  • Staying current with upstream
  • The bottom line
  • Related on explainx.ai
← Back to blog

explainx / blog

AI Job Search: Local Claude Code Framework for CVs, Interviews, and Fit Scoring

MadsLorentzen/ai-job-search (35.8k GitHub stars) runs on your machine — /setup, /scrape, /apply with drafter-reviewer agents, LaTeX PDF checks, and honest ATS limits. Fork, own your profile, adapt portals for your market.

Aug 26, 2026·7 min read·Yash Thakker
Claude CodeJob SearchAgent SkillsCareerLaTeXOpen Source
go deep
AI Job Search: Local Claude Code Framework for CVs, Interviews, and Fit Scoring

The job search that runs on your machine is the pitch for MadsLorentzen/ai-job-search — roughly 35.8k GitHub stars, 12.2k forks, MIT license. Fork it (or clone into a private repo), fill a structured profile, and Claude Code evaluates postings, tailors LaTeX CVs and cover letters, spawns a reviewer agent, compiles PDFs, and ATS-checks the text layer before you submit.

It is not Anthropic-official. It is also not a silver bullet: creator Mads Lorentzen reported 69 applications → 20 first interviews → one offer in his own 2025–2026 search — proof the workflow can work, not a promise it will for you in every market.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.

TL;DR — what job seekers ask first

table · 2 cols
QuestionDirect answer
Repo?github.com/MadsLorentzen/ai-job-search
Core flow?/setup → /scrape → /rank (optional) → /apply → /outcome
What's special?Drafter-reviewer split + mandatory PDF compile loop + ATS keyword pass
Private data?Use private clone, not public fork — /setup writes PII to tracked files
Denmark only?Portal CLIs are Danish; linkedin-search + /add-portal elsewhere
Cost?Framework free (MIT); you pay Claude Code / API usage
Honest ceiling?Better materials ≠ offers in a frozen or referral-heavy market

Local Claude Code job search framework — resume, cover letter, and checklist pipeline on a personal laptop

Does it actually work?

Lorentzen — a geophysicist whose role was cut in late 2025 — built this to run his search. He was upfront with employers about using it; he reports it often sparked technical conversation rather than counting against him. By June 2026 he started as an AI engineer.

That story matters for expectations, not marketing:

  • Volume still required — 69 tailored applications is real work.
  • Conversion is human — interviews depend on timing, team fit, and luck.
  • Automation ≠ networking — no slash command replaces warm intros.
  • Market regime matters — AI-engineer hiring in 2026 ≠ every sector or geography.

Use ai-job-search to compress drafting and QA time, not to skip judgment on whether a role is worth pursuing.

Architecture: local files, agent pipeline

snippet
/setup          /scrape              /apply <url>
  |                |                     |
  v                v                     v
Profile files    Search portals       Evaluate fit (5 dimensions)
ready            Dedupe + sort        Draft CV + cover letter (LaTeX)
                 by fit               Reviewer agent critiques
                   |                     |
                   v                     v
               /rank (optional)      Compile PDFs → inspect layout
               batch shortlist       ATS text extract → keyword score
                                     Present checklist → you submit

The pattern mirrors loop engineering: explicit phases, handoffs, and a second agent with fresh context — applied to career outcomes, not pull requests.

Quick start: private clone → portal CLIs → /setup

1. Clone privately (recommended for job seekers)

Public forks expose profile data. From SETUP.md section 8:

bash
git clone https://github.com/MadsLorentzen/ai-job-search.git my-job-search
cd my-job-search
git remote rename origin upstream
# Create empty private repo on GitHub, then:
git remote add origin git@github.com:YOU/my-job-search.git
git push -u origin master

Fork publicly only when contributing upstream.

2. Install job portal CLI tools (Bun)

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

linkedin-search and freehire-search run with plain bun — zero runtime deps; install pulls TypeScript dev types only.

3. Profile setup inside Claude Code

bash
claude
text
/setup

Three paths: read populated documents/ (CV PDF, LinkedIn export, diplomas), paste a single CV, or interview walkthrough. Re-run safely as you add material — see documents/README.md.

4. Search and apply

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

Blocked URL? Paste the full description:

text
/apply <paste the full job description here>

Postings are untrusted input — the workflow ignores embedded instructions and does not follow links from posting bodies. Skim fetched content before send; see SECURITY.md.

Prerequisites

table · 2 cols
DependencyWhy
Claude Code CLISlash commands + reviewer subagents
Python 3.10+Salary tooling and scripts
BunTypeScript portal CLIs
LaTeX (lualatex, xelatex)CV + cover letter PDF compile
pdftotext (optional)ATS text-layer extraction — brew install poppler on macOS

CV uses moderncv banking style. Cover letters use custom cover.cls with Lato/Raleway fonts under cover_letters/OpenFonts/.

Command reference beyond the core trio

table · 2 cols
CommandPurpose
/setupOnboard profile — documents, CV paste, or interview
/scrapeMulti-portal search, dedupe, fit-sorted results
/rankParallel batch scoring; deal-breaker vetoes; hands off to /apply
/applyDrafter-reviewer + PDF + ATS pipeline
/interviewStage-specific prep from archived materials + mock interview
/outcomeRecord stages; archive CV/cover/posting; calibrate fit over time
/expandEnrich profile from GitHub, portfolio, Kaggle, syllabi
/upskillSkill-gap heatmap vs tracked postings
/gmail-syncPropose status updates from Gmail (batch approval)
/notion-syncRead-only pipeline view in Notion via MCP
/add-templateRegister custom LaTeX/Typst templates with test compile
/add-portalScaffold a job-board CLI for your market
/resetWipe profile or documents (type RESET to confirm)

/outcome followup surfaces quiet applications and drafts channel-appropriate follow-ups — drafts only, never sends.

What makes /apply different

Drafter-reviewer separation

The drafter writes; a second Claude agent researches the company and critiques. Claims stay tied to your profile — no fabricated skills.

PDF verification loop

/apply compiles and visually inspects PDFs:

  • CV: exactly 2 pages, no orphaned entry titles
  • Cover letter: exactly 1 page, signature visible
  • Fixes via \needspace, \enlargethispage, font-matching list wrappers

ATS verification on the text layer

pdftotext extracts embedded text — contact fields as literal strings, sane reading order, keyword coverage without stuffing gaps your profile does not support.

Relevance-weighted CV cutting

Overflow lines are scored by posting relevance, uniqueness, and cover-letter dependency — not naive "delete oldest job first."

Job portals: Denmark shipped, everywhere extensible

table · 2 cols
SkillPortal / scope
jobindex-searchJobindex.dk
jobnet-searchJobnet.dk (government)
jobbank-searchAkademikernes Jobbank
jobdanmark-searchJobdanmark.dk
linkedin-searchGuest endpoints — -l "Berlin, Germany", -l "Remote" (personal use only)
freehire-searchfreehire.me REST API — tech roles, multi-market

Run /add-portal with a board URL to scaffold a matching CLI. Auth-walled portals are declined.

Profile depth = output quality

Thin profile → generic applications. The README is explicit:

  • Describe projects and measurable outcomes per role, not titles alone
  • Put skills in context ("built churn ML pipelines in Python/scikit-learn" beats "Python, ML")
  • Use /expand after /setup to surface competencies from public repos
  • Re-run /setup --section search when targeting shifts

Honest limits and hiring-market caveats

table · 2 cols
LimitReality check
Not affiliated with AnthropicYou bring your own Claude Code subscription and accept model behavior
Token cost/apply, /rank, and reviewer runs add up — budget like any agent workflow
LaTeX fragilityWrong engine breaks moderncv/fontawesome5; follow README engine rules
Portal blockingSome URLs need pasted descriptions; robots and rate limits vary
LinkedIn ToSAutomated search is against terms at volume — keep personal, low frequency
Instruction-level securityNot a sandbox; review materials before submit
Market headwindsLayoffs, visa screens, and "posted but frozen" roles still waste cycles
No crypto affiliationREADME warns scams claiming token sponsorship — only Ko-fi + GitHub are official

Scam note: README states there is no affiliated cryptocurrency or paid sponsorship program.

This is a personal workflow framework, not HR-compliant hiring software. Accuracy and ethics remain yours — relevant if you touch AI and employment law themes.

Staying current with upstream

Track tagged releases in CHANGELOG.md rather than blind merges:

bash
python3 tools/check_upstream_updates.py
python3 tools/upstream_triage.py

Full walkthrough in SETUP.md section 8.

The bottom line

ai-job-search is the most complete local, fork-and-own Claude Code career framework in August 2026: structured commands, verifier agents, LaTeX discipline, and outcome tracking — closer to a useful agent build than a one-shot resume prompt.

Clone github.com/MadsLorentzen/ai-job-search into a private repo, invest in /setup, treat /apply as a pipeline you iterate, and use /outcome so fit scoring learns from real results. Expect better PDFs and faster tailoring — not automatic offers.

Related on explainx.ai

  • Build Useful AI Agents with Claude Code — smaller job shortlist agent pattern
  • Claude Code Commands: Complete Reference — slash commands and custom skills
  • What Are Agent Skills? — SKILL.md packages ai-job-search extends
  • Loop Engineering with Claude Code — phased agent workflows
  • Top 10 AI Agent Skills Directories — skills ecosystem context
  • npx skills Install Guide — installing portal skills
  • Forward Deployed Roles and the Future of Work — targeting non-obvious paths
  • Sam Altman and Dario Amodei on AI Jobs — macro context for expectations

Source: MadsLorentzen/ai-job-search on GitHub (MIT; README and SETUP.md as of August 26, 2026).

Star counts, command set, and creator funnel stats reflect the public repository at publication time. Verify README before installing portal CLIs or submitting live applications.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Aug 26, 2026

Claude Obsidian: Self-Organizing AI Second Brain for Obsidian + Claude Code

claude-obsidian is an MIT-licensed Claude Code plugin with 15 Agent Skills that capture sources, ground claims in ledgers, link notes into an Obsidian knowledge graph, and answer from vault evidence — plain Markdown you own, not a cloud PKM lock-in.

Aug 21, 2026

Claude Code Community Projects: 6 Builds Worth Studying

Developers are shipping far beyond CRUD with Claude Code — animated terminal faces, offline medical viewers, isometric repo cities, and carrier-pigeon session messaging. explainx.ai tours six community projects and what each teaches about harness design.

Aug 21, 2026

Variate: The Agent Skill That Puts 4 Real UI Variants on Your Localhost

Most "AI design variation" tools drop you into a separate studio or a Figma-style preview that never quite matches your app. Variate does the opposite — it writes four complete, drop-in versions of one file in your own repo and lets you flip through them on the localhost you already have open, arrow key by arrow key.