Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/SudharakaA/ai-job-search/llms.txt

Use this file to discover all available pages before exploring further.

This guide gets you from zero to a working job application as fast as possible. You will fork the repository, install the required tools, populate your candidate profile, and run the full /scrape/apply workflow. The whole process takes under ten minutes if you have LaTeX installed already, a bit longer if you are installing it for the first time.
The single biggest factor in output quality is how much detail you put into your profile. A thin profile produces generic applications. A detailed one, with specific project descriptions and measurable achievements in each role, enables genuinely tailored results. Invest the time in /setup up front.
1

Fork and clone the repository

Fork the repo to your GitHub account and clone your fork in one command:
gh repo fork SudharakaA/ai-job-search --clone
cd ai-job-search
If you prefer the manual route, fork on GitHub first, then clone your fork with git clone.
2

Install Bun

The job search CLI tools are written in TypeScript and run with Bun. Install it for your platform:
curl -fsSL https://bun.sh/install | bash
On Windows you can also use winget install Oven-sh.Bun if you prefer a package manager.
3

Install job search CLI dependencies

Run this from the repository root to install dependencies for all five portal CLI tools:
for tool in jobbank-search jobdanmark-search jobindex-search jobnet-search linkedin-search; do
  cd .agents/skills/$tool/cli && bun install && cd ../../../..
done
The linkedin-search install is optional. It has zero runtime dependencies and runs with plain bun. Running bun install there only pulls TypeScript dev types. If you are outside Denmark, the four Danish portal tools will not return results for your market. Run /add-portal inside Claude Code later to generate a search skill for your local job board.
4

Install LaTeX

The /apply command compiles your CV with lualatex and your cover letter with xelatex. Install a LaTeX distribution for your platform:
sudo apt install texlive-full
  • macOS: Install MacTeX from the official site.
  • Windows: Install MiKTeX from the official site.
Do not use pdflatex to compile the CV. Modern MiKTeX installs fail on the fontawesome5 package with font-expansion errors. The framework uses lualatex for the CV and xelatex for the cover letter, and both are included in full TeX Live, MacTeX, and MiKTeX distributions.
Optionally, install pdftotext from the poppler library to enable the ATS parseability check on compiled CVs:
brew install poppler
If pdftotext is not installed, /apply skips the mechanical ATS check and falls back to a visual keyword review. Everything else works normally.
5

Start Claude Code and run /setup

Open a terminal in the repository root and start Claude Code:
claude
Then run the onboarding command inside Claude Code:
/setup
Claude will scan your documents/ folder and offer three paths:
  • Path A (documents folder): Drop your CV, LinkedIn export, diplomas, and reference letters in documents/ and Claude reads them all, cross-referencing for consistency. This is the richest starting point if you have several files.
  • Path B (single CV import): Paste or @-mention a single CV file. Claude extracts it and asks follow-up questions for anything missing.
  • Path C (interview mode): Answer structured questions section by section. Good if you are starting from scratch.
All three paths produce the same output: fully populated profile files ready for /scrape and /apply.
When describing your professional experience during setup, go beyond job titles. Describe the specific projects you worked on, the tools you used, and measurable achievements. “Built ML pipelines for customer churn prediction in Python using scikit-learn” gives Claude far more to work with than “Python, machine learning.”
6

Search for jobs with /scrape

Once your profile is populated, search for matching positions:
/scrape
Claude searches the configured job portals in parallel, deduplicates results, and presents them ranked by fit against your profile. Pick a posting from the list, or grab a URL from a job board directly and move to the next step.
7

Generate your first application with /apply

Pass a job posting URL to the /apply command:
/apply https://jobindex.dk/job/1234567
If the portal blocks automated access, paste the job description directly:
/apply [paste the full job description here]
Claude runs the full workflow: evaluates fit, drafts a tailored CV and cover letter in LaTeX, spawns a reviewer agent to critique both drafts, revises based on that feedback, compiles and inspects both PDFs, runs the ATS check, and presents the final output with a verification checklist.

What happens next

After /apply finishes, you will have two LaTeX files ready: a CV in cv/ and a cover letter in cover_letters/. Claude compiles them automatically during the workflow, but if you need to recompile manually:
cd cv && lualatex main_<company>.tex && cd ..
cd cover_letters && xelatex cover_<company>_<role>.tex && cd ..
From here you can explore the extended commands: /expand to enrich your profile from public sources, /upskill to analyze skill gaps against tracked postings, /add-template to register your own LaTeX templates, and /add-portal to add job boards for your market.

Build docs developers (and LLMs) love