Generates a tailored PDF resume against a specific JD using Playwright to render markdown through a clean typographic template. The output is structurally simple — no tables, no columns, no graphics — exactly what ATS parsers handle reliably.
What it does
pdf mode reads your master cv.md, the JD context, and runs the tailor step (rewriting bullets, reordering sections, integrating priority keywords) before exporting to PDF via Playwright with a CSS template that respects ATS parser conventions. The result is upload-ready.
When to use it
Use pdf when you have already evaluated the listing and decided to apply, and want only the tailored PDF without re-running the evaluation step.
What a run looks like
You point the mode at a listing you've already evaluated and it produces one tailored, ATS-ready PDF — no re-evaluation. It extracts 15-20 keywords from the JD, picks the paper size from the company's location, rewrites your summary and reorders bullets around the role, then renders the HTML to PDF and reports keyword coverage.
/career-ops pdf acme
# detected JD language: en · paper: letter (US) · 18 keywords extracted
node generate-pdf.mjs output/cv-jane-doe-acme.html \
output/cv-jane-doe-acme-2026-05-18.pdf --format=letter --report=008
PDF: output/cv-jane-doe-acme-2026-05-18.pdf
Pages: 2 · Keyword coverage: 16/18 (89%)The layout stays single-column with standard section headers and selectable text — the structure ATS parsers read cleanly — and keywords are woven into real achievements, never invented.
When to reach for it
Reach for pdf when you've decided to apply and want only the tailored resume, skipping the evaluation step. A few behaviors worth knowing:
- Paper size follows the company's location automatically:
letterfor US and Canada roles,a4everywhere else. - Keyword injection is truth-based. The mode rewords real experience into the JD's exact vocabulary but never adds a skill you do not have.
- For DACH and much of continental Europe you can opt into a photo by setting
candidate.photoinconfig/profile.yml; leave it empty and the CV renders pixel-for-pixel identical without one, which is the safer default for US, UK, and ATS-first markets.
Gotchas
Requires Playwright installed locally. The build script may fail on minimal Linux installs missing system fonts. Run npm run doctor to diagnose.
Related
interview-prep
Post-#489 the interview-prep mode splits by interview round type: recruiter screen, hiring manager, peer technical, and panel. Each variant produces a focused prep doc with likely questions, talking points, and STAR-format stories from your profile.
training
Should you take that $4,000 ML systems course? The Coursera specialization? The expensive AWS certification? training mode scores a learning investment against your stated career direction and surfaces the actual return on time and money.