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.

/apply is the core application pipeline. Give it a job posting as a URL or pasted text, and it runs a structured six-step workflow: evaluating your fit, drafting a tailored CV and cover letter, dispatching a second agent to critique and research the company, revising based on that feedback, compiling both documents to PDF, and verifying the output against a full checklist. The result is two production-ready LaTeX files and two inspected PDFs, ready to submit.

Syntax

/apply <url>
/apply <pasted job description text>
Some job portals block automated URL fetching. If you see a fetch error, paste the full job description directly as the argument. The workflow handles pasted text and URL input identically from Step 1 onward.

The six-step workflow

1

Fit evaluation

/apply reads your evaluation framework (04-job-evaluation.md) and candidate profile (01-candidate-profile.md) and scores the posting across four dimensions: skills match, experience match, behavioral and culture match, and (if the salary lookup tool is configured) salary benchmark. It reports an overall fit score of strong, moderate, or weak, and asks whether you want to proceed before doing any drafting.
2

Draft CV and cover letter

Working from your profile, writing style guide, and template files, the drafter writes both documents:
  • CV (cv/main_<company>.tex): always in English, moderncv banking format, tailored profile statement and experience bullets, 2 pages
  • Cover letter (cover_letters/cover_<company>_<role>.tex): matches the language of the job posting (a Danish posting produces a Danish cover letter), uses cover.cls, approximately one page
Both drafts are held in context for the next step, so the reviewer does not need to re-read them from disk.
3

Reviewer agent critique

A second agent is spawned with a fresh context. It receives both drafts inline, researches the company and its recent strategic priorities via web search, reads your behavioral profile and writing style guide, and returns structured feedback in two parts:
  • Part A: a JSON array of exact string replacements, each with a one-line rationale (keyword match, company angle, style fix)
  • Part B: narrative suggestions for judgment calls that do not map to a single string swap, including missed requirements, passive phrasing, and tone mismatches flagged against your behavioral profile
4

Revise based on feedback

The drafter applies Part A edits directly using the exact old_string/new_string pairs from the reviewer. Part B suggestions are worked through category by category: missed keywords are added to experience bullets, company-specific angles are woven into the cover letter opening, passive phrasing is rewritten, and style-guide fixes are applied. Any suggestion that would require fabricating skills or experience is skipped.
5

Compile and inspect PDFs (mandatory)

Both documents are compiled and visually inspected. This step is non-skippable because LaTeX page-break decisions are unpredictable and .tex files that look correct often produce broken PDFs.
cd cv && lualatex -interaction=nonstopmode main_<company>.tex
cd ../cover_letters && xelatex -interaction=nonstopmode cover_<company>_<role>.tex
The CV compiles with lualatex because pdflatex fails on modern MiKTeX with fontawesome5 font-expansion errors. The cover letter compiles with xelatex because cover.cls requires fontspec.
Layout checks for the CV: exactly 2 pages, no orphaned \cventry titles (a job title at the bottom of page 1 with its bullets on page 2), no isolated section headings. Layout checks for the cover letter: exactly 1 page, signature block visible, bullet font matches body text.The step also runs an ATS parseability check on the CV using pdftotext (if installed): it extracts the text layer, verifies that email and phone are present as literal text, checks that reading order matches the visual order, and reports keyword coverage against the posting’s required and preferred terms.If the layout or ATS check fails, /apply edits the .tex files and recompiles until both PDFs pass.
6

Final verification and output

/apply runs the full verification checklist from CLAUDE.md exactly once, at the end. It reports pass/fail for every item and summarizes 3-5 key tailoring decisions: what was emphasized, which company-specific angles were incorporated, what the reviewer’s most impactful suggestion was, and how any gaps were acknowledged or reframed.

Output files

FileDescription
cv/main_<company>.texTailored LaTeX CV, 2 pages, English
cv/main_<company>.pdfCompiled PDF, layout-verified
cover_letters/cover_<company>_<role>.texTailored cover letter, approx. 1 page, posting language
cover_letters/cover_<company>_<role>.pdfCompiled PDF, layout-verified
Build artifacts (.aux, .log, .out files) are deleted after the final clean compile.

Verification checklist categories

The final verification pass checks six categories:
CategoryWhat is checked
Factual accuracyAll claims in the CV and cover letter are grounded in your actual profile with no fabricated skills, inflated titles, or invented achievements
TargetingThe profile statement, experience bullets, and cover letter opening are specific to this role and company, not generic
ConsistencyDates, titles, and skills are consistent between the CV and cover letter, and between both documents and your profile
QualityNo passive phrasing, clichés, em-dashes, or hedging language; bullets are action-oriented and quantified where possible
PDF compilationBoth PDFs compiled cleanly, page counts are correct, layout passes visual inspection, ATS text extraction is clean
ATS keyword coverageRequired and preferred keywords from the posting appear in the CV text layer, with a table of status for each term

/scrape

Find matching jobs before running /apply

/setup

Populate your profile so /apply has accurate data to work from

/add-template

Register a custom LaTeX template instead of the stock moderncv style

/upskill

Identify skill gaps exposed by the jobs you are applying to

Build docs developers (and LLMs) love