Cindy Zhu.
Free guides
Career & job Claude

Run your whole job search inside Claude Code

Hey, it's Cindy ๐ŸŒฑ You commented HIRED, so here's the full setup for running your job search inside Claude Code.
btw the waitlist for AI System Club is now open! If you're keen on using AI to automate your content, video editing, job search, business or build AI agents, feel free to sign up (only if you want to hehe). Ps. the waitlist gets first dibs:)
โš ๏ธ Two things to know before you start. First, the code is free but Claude Code isn't: the README says you need a Claude Pro, Max or Team plan, or Anthropic API credits. Second, this isn't a one-click plugin. You copy the repo to your computer, install a few tools, and run Claude Code inside that folder. Plan on an evening for the first setup. After that, each application takes a fraction of the time it takes by hand.

what it is

A job search pipeline that lives in one folder

Every stage of a job search is a slash command you run inside Claude Code: set up your profile, find jobs, rank them, write the application, prep for the interview, then log what happened. Your profile, CVs and tracker are all files in the folder, so each run builds on the last.

The author lays the loop out as /setup โ†’ /scrape โ†’ /rank โ†’ /apply โ†’ /interview โ†’ /outcome, then back into /setup so fit scoring learns from what actually got you interviews.

๐Ÿ”Ž It judges fit before writing
/apply scores the posting against your profile first and asks whether to go ahead, so you don't spend an hour on a role you'd never get.
โœ๏ธ Two agents write each application
One drafts the CV and cover letter. A second agent with fresh context researches the company, critiques the draft and sends it back for revision, which catches the generic language a single pass leaves in.
๐Ÿ“„ You get real PDFs
It compiles through LaTeX and checks the output until the CV is exactly 2 pages and the letter exactly 1. Then it reads the PDF text back to check an applicant tracking system can parse it.
๐Ÿ™… It never makes things up
Every claim in a draft is checked against your profile. The README says it "never fabricates skills or experience", and it won't stuff keywords you don't actually have.

Every command, in plain English

CommandWhat you give itWhat you get
/setupYour documents, a pasted CV, or answers to an interviewYour full candidate profile, written into the repo's profile files
/scrapeNothing, or a focus like "remote product roles"New jobs from the enabled job boards, rated High, Medium or Low fit
/rankOptional --top 5 or --limit 10A scored shortlist from everything /scrape found (quick triage, not a full evaluation)
/applyA job URL, or the full posting text pasted inFit evaluation, then a tailored CV and cover letter as PDFs, plus a row in your tracker
/interviewA company you've applied toLikely questions, your STAR examples mapped to them, tough questions and questions to ask, with an optional mock interview
/outcomeA company, or followup or staleUpdates the status. followup drafts a short follow-up email but never sends it
/upskillNothing, or one posting URLYour skill gaps across the jobs you're targeting, with a study plan
/add-portalA job board's URLA new search tool for that board (public boards only, no login walls)

There's also /gmail-sync (reads replies and proposes status changes for you to approve), /html-report (an offline dashboard), /notion-sync (pushes your pipeline to a Notion database), /expand (finds skills your profile is missing) and /add-template (use your own CV design).


before you start

Install these first

  1. ๐Ÿ’ป Claude Code On Mac or Linux, run curl -fsSL https://claude.ai/install.sh | bash. On Windows PowerShell, run irm https://claude.ai/install.ps1 | iex. Then type claude and log in with your paid plan. Full instructions are in the Claude Code setup docs.
  2. ๐Ÿ Python 3.10 or newer The repo uses Python scripts to check your PDFs and track applications. Type python3 --version to check, or install it from python.org.
  3. โšก Bun This runs the job board search tools. Run curl -fsSL https://bun.sh/install | bash, or see bun.sh for Windows.
  4. ๐Ÿ“„ LaTeX, with lualatex and xelatex This turns your CV and cover letter into typeset PDFs. The big installs, MacTeX or TeX Live, are several GB. The small one, TinyTeX, needs one extra command afterwards, shown below.
  5. ๐Ÿงพ Optional: pypdf Run pip install pypdf for the text check that makes sure applicant tracking systems can read your PDF. If it's missing, the repo falls back to Poppler.

If you went with TinyTeX or BasicTeX, add the packages the templates need:

tlmgr install \
  moderncv fontawesome5 fontawesome6 academicons import luatexbase pgf \
  titlesec textpos xltxtra xunicode cite realscripts needspace

the setup

From zero to your first run

  1. ๐Ÿ“ฆ Copy the repo, and keep it private Your name, contact details and salary expectations end up in files inside this folder. The README warns that "a fork of this repo is always public", so don't use GitHub's fork button for your own job search. Clone it and keep it on your computer (commands below). If you want an online backup, push it to a new private repo, not a fork.
  2. ๐Ÿ”ง Install the job board tools From inside the folder, run the install loop below for your system. The LinkedIn and freehire.me tools have no dependencies, so this step mostly matters if you later add other boards.
  3. ๐Ÿ“‚ Fill the documents folder Drop your material into the documents/ subfolders: cv/, linkedin/ (on LinkedIn, go to your profile, then More, then Save to PDF), diplomas/, references/, projects/ and applications/ for past applications. Convert Word files to PDF first, because it can't read .docx. Your documents stay out of git.
  4. ๐ŸŒฑ Start Claude Code inside the folder and run /setup Type claude from inside the repo folder. The commands only load when you start Claude Code there. Run /setup and pick Path A, the documents folder. It cross-checks your files, shows every change it wants to make and asks before writing. It's safe to re-run whenever you add material.
  5. ๐ŸŒ Set your market Out of the box, /scrape searches LinkedIn and freehire.me. The four Danish job boards ship switched off, and /setup only turns them on if you're job hunting in Denmark. Tell /setup your city and target roles, or update them later with /setup --section search.
  6. ๐Ÿš€ Run your first search Run /scrape. If it finds more than a handful of jobs, run /rank for a shortlist, then /apply on the best one.

Step 1, copying the repo to your computer:

git clone https://github.com/MadsLorentzen/ai-job-search.git
cd ai-job-search

Step 2 on Mac or Linux:

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

Step 2 on Windows PowerShell:

$tools = @("jobbank-search", "jobdanmark-search", "jobindex-search", "jobnet-search", "linkedin-search", "freehire-search")
foreach ($tool in $tools) {
  Push-Location ".agents/skills/$tool/cli"
  bun install
  Pop-Location
}
๐Ÿ’ก Want Claude to do the setup with you? Open Claude Code in an empty folder and paste the prompt below. It clones the repo, checks what's already installed and walks you through the rest. It can't install LaTeX for you (that's a normal installer that may ask for your password), and afterwards you still reopen Claude Code inside the new folder before running /setup.
๐Ÿ› ๏ธ set it up with me
I want to set up the open-source job search framework at https://github.com/MadsLorentzen/ai-job-search for my own job search. Clone it into this folder, then read its README.md and SETUP.md in full before doing anything else.

Check which prerequisites I already have: Python 3.10 or newer, Bun, and a LaTeX distribution with both lualatex and xelatex. For anything missing, tell me the exact install step for my operating system and wait for me to confirm it's done. Don't run installers that need my password yourself.

Then run the job board tool install loop from the README. I'm keeping this repo private on my own computer, so don't fork it or push it anywhere. When everything is ready, tell me the exact command to open Claude Code inside the repo folder so I can run /setup.

using it well

How to get applications that actually get replies

  1. ๐Ÿง  Feed it a deep profile The README calls profile depth "the single biggest factor in output quality." Add reference letters and project write-ups, not just your CV, and describe what you actually did with each tool. A thin profile gets you a generic application.
  2. ๐Ÿ”— Paste the posting when a site blocks it Some job sites don't let Claude read the page. Run /apply with the full posting text pasted in, or save it as documents/postings/Company - Job Title.txt and tell Claude it's there.
  3. โž• Tell it new facts mid-run If you remember a metric or a project during /apply or /interview, say so and it adds it to your profile. Anything that isn't in your profile gets stripped from later drafts as unsupported.
  4. โœ… Log every result with /outcome After you submit, run /outcome with the company name so the tracker moves from drafted to applied. It also needs a tracked application before /interview can prep you. Once about 3 applications have a result, re-run /setup and it adjusts your fit scoring based on what actually got interviews.
  5. ๐Ÿ™‹ Trust the "not a fit" The whole point is ten well-targeted applications instead of a hundred sprayed ones. When it tells you honestly you're not a fit, skipping that job is the time saved.

Before your first /apply, check the rules the author wrote for his own search. For example, the repo's CLAUDE.md tells it to name "Claude Code" whenever a CV mentions AI tooling. Paste this into Claude Code inside the repo:

๐Ÿ” make the rules mine
Before I run /apply for the first time, read CLAUDE.md and every file in .claude/skills/job-application-assistant/. List every rule that looks specific to the original author's own job search rather than mine, such as tools it always mentions by name, language assumptions, the Danish job market, or formatting preferences.

For each one, quote the exact line, name the file it's in, and explain in one sentence how it would change my CV or cover letter. Then ask me which ones to keep, change or remove, and only edit the files after I answer. Don't touch anything in my profile section while you do this.

If you're not in Denmark, use this to point the search at your own market:

๐ŸŒ search my market
Set up job searching for my market. I'm looking for [target roles, for example "marketing manager or growth lead"] in [city and country, for example "Sydney, Australia"], and I'm open to [remote / hybrid / on-site].

Check that the Danish job boards are disabled and that LinkedIn and freehire.me are enabled. Update the search queries file so /scrape searches my roles with my location, and show me the changes before saving them. Then run one LinkedIn search as a test and show me the first results. Keep the search volume low, because LinkedIn only allows personal use.

Finally, tell me whether [name of a local job board, for example "Seek"] is a good candidate for /add-portal. Say whether it's public without a login and whether its robots.txt allows access, but don't build it until I say so.

good to know

The honest bits

๐Ÿ”’ Privacy
Your files stay on your computer and your documents are kept out of git. Anything Claude reads is still processed through your Anthropic account, and /apply searches the web about each company.
๐Ÿ”‹ It uses a lot of your plan
Each /apply runs several agents, company research and PDF compile loops. The author says it trades extra tokens for fewer broken PDFs, so expect to hit Pro limits faster on heavy days.
๐Ÿ›ก๏ธ Review before you send
Job postings can contain hidden instructions. The repo's security notes say its defences "are not a sandbox", so read what it wrote before anything goes out, and read a job board tool's code before you install it.
๐Ÿ”„ It changes fast
It's a community project, not an Anthropic product. Update to a tagged release rather than the latest code, and run python3 tools/check_upstream_updates.py to preview what an update changes.
๐Ÿงพ Rather not install LaTeX? Fit scoring and /rank work without it, but /apply has to compile PDFs to finish. The lighter route is /add-template, which lets you register your own CV template in another toolchain that compiles from the command line, like Typst. It test-compiles the template before using it.

Proof

ai-job-search on GitHub (README, stars, license)
SETUP.md, the full install walkthrough
SECURITY.md, what it does and doesn't protect against
CHANGELOG.md, release history
Community forks and adaptations
Claude Code setup docs (plan requirements)

the waitlist is now open

AI System Club is launching soon

Build AI systems with me through recorded lessons you can follow at your own pace. Join the waitlist for first access and the founding price.

btw this list gets first dibs
the moment doors open :)