Primary question: Does Claude Code's CLI fit your job-search routine, and can you maintain a LaTeX distribution plus Bun toolchain on your machine?
RepoDaily adoption score
RepoDaily rates this as 91/100 (strong) for adoption: evidence, installation path, production risk, differentiation, license clarity, and AI/agent fit are scored from the article sources and adoption notes.
4 source(s) across 3 source category/categories, plus a RepoDaily-specific evidence module when available.
6 workflow step(s), 5 next-action step(s), and 3 command/install signal(s) were detected.
Trending momentum is +3,728 stars, with maintenance/release/issue signals counted when present.
Risk is marked medium, with 5 security note(s) and 4 explicit skip condition(s).
3 opportunity lens item(s), 4 alternative(s), and 4 type-specific section(s) support differentiation.
License source or license wording is present.
4 AI/agent-related signal(s) were detected in the article text and metadata.
Project overview
MadsLorentzen/ai-job-search is an AI-powered job-application framework built on Claude Code. The README frames it as a structured workflow: you fork the repo, fill in your profile, and Claude evaluates job postings, tailors your CV in LaTeX, writes cover letters, and prepares you for interviews. It is an independent project with no affiliation with Anthropic, which the README states explicitly.
The core lifecycle is feature-complete: /setup → /scrape → /rank → /apply → /interview → /outcome, with calibration feeding back into /setup. Supporting commands include /expand, /upskill, /add-template, /add-portal, and /reset. The README describes this as covering every stage of a real job hunt, with each stage having an owner command.
The project ships as a universal template. The core workflow (self-profiling, fit evaluation, and the drafter-reviewer application pipeline) is language- and country-agnostic. The bundled job-portal search skills target the Danish market — Jobindex, Jobnet, Akademikernes Jobbank, and others — but the pattern is designed so you can swap in your own local boards via /add-portal.
Why it is trending now
- 3,728 period stars and trending rank 1 on 2026-07-10, driven by a relatable use case: automating the repetitive parts of job hunting that most people dread.
- Built directly on Claude Code's CLI, which makes it immediately usable for anyone already in the Anthropic ecosystem without a separate runtime or orchestration layer.
- The fork-and-personalize model means there is no sign-up, no account, and no data leaving your machine beyond what Claude Code itself sends — appealing to privacy-conscious job seekers.
- The reviewer-agent loop (draft → critique → revise → final output) is a concrete demonstration of multi-step agent orchestration applied to a everyday task, which resonates with the agent-framework audience.
Problem it solves
- Writing tailored cover letters for each application is repetitive and time-consuming, and generic templates rarely fit individual postings.
- Manual job-fit evaluation is inconsistent — different applicants apply different criteria, and structured rubrics are rarely enforced.
- LaTeX-based CVs look professional but are hard to maintain: font packages break across TeX distributions, and pdflatex often fails on modern MiKTeX with fontawesome5 errors.
- Career-guidance best practices (structured evaluation, forward-looking cover-letter framing, salary benchmarking) exist in theory but are rarely operationalized in a repeatable loop.
How it works
- Fork and clone the repo: `gh repo fork MadsLorentzen/ai-job-search --clone`, then cd in.
- Run /setup to fill in your profile. The README notes that profile files are generated locally in your fork; CI enforces that upstream stays placeholder-only.
- Run /scrape to search job portals. Six CLI tools are bundled under .agents/skills/ — jobbank-search, jobdanmark-search, jobindex-search, jobnet-search, linkedin-search, and freehire-search — each installed via `bun install`.
- Run /rank to evaluate fit. The framework encodes structured evaluation criteria and produces fit ratings on matched jobs.
- Run /apply <url> on a chosen match. Claude drafts a tailored CV (compiled with lualatex) and cover letter (compiled with xelatex), then a reviewer agent critiques the draft and triggers a revise cycle.
- Run /interview for interview preparation, then /outcome to record results and calibrate future /setup cycles.
Product demo and interface preview

Architecture: markdown specs are the implementation
The most unusual design choice is stated bluntly in CONTRIBUTING.md: 'The markdown specs ARE the implementation.' There is no parallel codebase that mirrors the agent workflow. A second copy — whether another agent CLI, an orchestration layer, or a wrapper command — would drift from the spec the moment either changes.
This is why alternative-harness ports and duplicate workflow sources are declined (precedents: #44, #49, #66). The contributor guidance argues that maintaining two sources of truth for the same workflow is unsustainable for a single-maintainer project.
The portal-search CLIs are the exception: each lives under .agents/skills/<name>/cli as a Bun-based TypeScript tool with its own tests under .agents/skills/<name>/cli/tests/. Python tooling sits under tests/ and is linted by tools/lint_skills.py.
Try-it path: concrete commands and prerequisites
- Prerequisites: Claude Code CLI, Python 3.10+, Bun, and a LaTeX distribution with lualatex and xelatex (TeX Live, MacTeX, TinyTeX, or MiKTeX).
- Fork: `gh repo fork MadsLorentzen/ai-job-search --clone` then `cd ai-job-search`.
- Install each portal tool: `cd .agents/skills/jobindex-search/cli && bun install && cd ../../../..` (repeat for all six tools).
- CV compiles with lualatex; cover letter compiles with xelatex because cover.cls requires fontspec.
- Optional: install poppler (`brew install poppler` on macOS, `apt install poppler-utils` on Debian/Ubuntu, `choco install poppler` on Windows) for the ATS parseability check via pdftotext. If absent, the check degrades to a visual keyword review.
- Minimal TeX installs (TinyTeX, BasicTeX) need extra packages listed in SETUP.md.
Maintenance risk: a narrow contribution philosophy
The project has a deliberately narrow scope, and CONTRIBUTING.md warns that most declined PRs are well-executed work that simply did not fit the philosophy. The one governing rule: 'This repo is a universal template.' Upstream stays market-agnostic, person-agnostic, and Claude Code-native.
Country-specific portal skills are consistently declined: #31 (India), #39 (France), #67 (China). The Danish portals in-tree are the maintainer's own demonstration instance. The stopping principle is that one country's portal opens the door to every country's portal.
Personal profile data is rejected: CI enforces placeholder-integrity (precedents #17, #72). The template ships placeholders; your populated profile lives only in your fork.
New commands face a high bar because the core lifecycle is feature-complete. The admission test: does a proposal operationalize something error-prone that already exists in the framework? 'Useful' and 'possible' alone are not sufficient.
Command surface: the full lifecycle
- /setup — fill in your profile, generate profile files locally.
- /scrape — search job portals and present matches with fit ratings.
- /rank — evaluate fit against structured criteria and score/recommend.
- /apply <url> — draft CV (lualatex) and cover letter (xelatex), then run reviewer-agent critique and revise cycle.
- /interview — prepare for interviews based on the evaluated job.
- /outcome — record results and calibrate back into /setup.
- /expand, /upskill, /add-template, /add-portal, /reset — supporting commands around the core lifecycle.
Who should pay attention?
Good fit if
- You already use Claude Code's CLI and are comfortable in a terminal.
- You maintain (or are willing to install) a LaTeX distribution and Bun on your machine.
- You want a fork-and-own model where your profile data never leaves your local repository.
- You are job hunting in Denmark (bundled portal skills) or willing to adapt portal skills to your local market via /add-portal.
Skip for now if
- You do not have a Claude Code subscription or CLI access.
- You want a hosted SaaS with a web UI and no local setup.
- You cannot install a LaTeX distribution or Bun runtime on your target machine.
- You expect upstream to accept your country-specific portal or personal profile data as a PR.
Risks and cautions
The framework is well-structured and MIT-licensed, but adoption requires Claude Code CLI access, a working LaTeX toolchain with specific compilers, and Bun — a non-trivial local setup. Ongoing use means maintaining your own fork.
- Claude Code CLI is a hard prerequisite; without it, none of the slash commands function.
- LaTeX compilation requires lualatex for the CV and xelatex for the cover letter; minimal TeX installs need extra packages from SETUP.md.
- Bun must be installed and each of six portal-skill CLIs must be individually set up via `bun install`.
- The maintainer explicitly declines country-specific and profile-data contributions, so users outside Denmark must maintain their own portal forks indefinitely.
- The markdown-specs-as-implementation design means there is no fallback runtime; if Claude Code's behavior changes, the specs may need manual updates.
- MIT License (Copyright (c) 2026 Mads Lorentzen) — permissive for personal and commercial use.
- Profile data stays in your fork; CI enforces placeholder-integrity on upstream so no personal data leaks via merged PRs.
- The project is independent and not affiliated with, endorsed by, or maintained by Anthropic, per the README's explicit disclaimer.
- Portal-search CLIs run locally via Bun; no data is sent to any backend beyond what Claude Code itself transmits to Anthropic.
- The optional ATS check uses pdftotext from poppler on the compiled CV; if poppler is absent, it degrades gracefully rather than failing.
Alternatives to compare
| Approach | When to use | Trade-off |
|---|---|---|
Awesome-CV | You want a polished LaTeX CV template without an agent-driven application pipeline. | Free / open-source (LaTeX). |
Plain Claude.ai or ChatGPT chat | You want ad-hoc help with a single cover letter or CV tweak without committing to a full framework. | Subscription or free tier. |
Jobscan or similar ATS scanners | Your primary need is keyword-optimization against a specific job posting, not end-to-end drafting. | Subscription. |
Manual LaTeX CV with a personal template | You already have a CV system and only want Claude Code's chat help for individual sections. | Free. |
What this trend reveals
Localize portal skills for non-Danish markets
The maintainer declines country-specific portals upstream (#31 India, #39 France, #67 China), but the /add-portal command and the .agents/skills/<name>/cli pattern make it straightforward to build a personal fork for your local job boards.
CONTRIBUTING.md names /add-portal (#37) as a precedent for universal customization features, and the existing Danish portals demonstrate the skill structure to follow.
Extend the reviewer-agent loop with custom rubrics
The drafter-reviewer pipeline is the core of /apply. Because the markdown specs are the implementation, you can edit the reviewer criteria in your fork to match your industry's expectations (e.g., quantified achievements, domain-specific keywords).
The README states the reviewer agent critiques drafts and triggers a revise cycle; CONTRIBUTING.md confirms specs are editable markdown, not compiled code.
Wire the ATS check into a pre-submit gate
The /apply command's pdftotext-based ATS parseability check can be extended in a fork to flag missing keywords from the job posting before you submit, creating a local quality gate.
README documents that /apply uses pdftotext from poppler for the ATS check on the compiled CV and degrades gracefully if poppler is absent.
RepoDaily verdict
ai-job-search is a thoughtfully scoped Claude Code framework that turns job hunting into a structured, fork-and-own loop. The markdown-specs-as-implementation design is unusual and keeps the project maintainable, but adoption hinges on having Claude Code CLI, a LaTeX toolchain, and Bun ready to go. For individual job seekers already in the Claude ecosystem — especially in Denmark or willing to adapt portal skills — it is a strong, privacy-respecting starting point.