← ClaudeAtlas

write-cover-letterlisted

Write and render a tailored cover letter (PDF, from LaTeX) for each role the user has marked "selected" in the Role Pipeline artifact, drawing on the same fact banks tailor-cv uses, then run it through the li-human humanizer so it doesn't read as AI-written. Use when the user runs /write-cover-letter or asks for a cover letter for a job.
robbiehaynes/job-search · ★ 0 · Data & Documents · score 62
Install: claude install-skill robbiehaynes/job-search
# write-cover-letter Generates a per-job tailored cover letter for every role marked `selected: true` in the **Role Pipeline** artifact's `jobs` database collection that doesn't already have one. Sibling to `tailor-cv` (Phase 2) — same source material, same "write, don't invent" rule, same per-job angle — but produces a letter instead of a CV, and additionally has to survive the humanizer before it's rendered. Every claim in the letter must trace back to a real fact: `../tailor-cv/work-experience-bank.json` (current role), `../tailor-cv/undergrad-experience-bank.json` (earlier role), or `../tailor-cv/project-bank.json` (personal projects). Never invent an achievement, number, or technology the letter doesn't already have evidence for elsewhere in the user's CV. ## Files in this skill's directory - `cover-letter-template.tex` — the base letter with `%%DATE%%`, `%%RECIPIENT_BLOCK%%`, `%%SALUTATION%%`, and `%%BODY%%` markers. Header/contact block matches the CV. - `render_cover_letter.py` — pure renderer, same pattern as `../tailor-cv/render_cv.py`. Takes `{slug, company, date, paragraphs: [...]}`, fills the template, compiles with `pdflatex` if available. Run as `python3 render_cover_letter.py <spec.json>`; prints `{tex, pdf, compiled, error}`. **It does not humanize anything** — paragraphs must already be final, humanized text by the time they reach this script. Output lands in the repo at `cover-letters/tex/<slug>.tex` and, if compilation succeeded, `cover-letters/pdf/<s