Skill 详情

cover-letter

Produces tailored job cover letters from resume and job-description inputs.

匹配类型直接匹配已针对 求职信 审核
来源frankie-eight-days/claude-skills外部来源
报告安装量1仅表示受欢迎程度

使用前先检查

自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。

已保存的来源预览

SKILL.md

这段内容是审核时保存的快照。外部来源才是完整且最新的版本。

---
name: cover-letter
description: Generate a polished LaTeX cover letter from a resume, a job description, and applicant info. Produces a PDF with three clearly highlighted sections — About Me, Why <Company>, Why I'd Be a Good Fit. Use when the user asks to "write a cover letter", "apply to <company>", "draft a CL", etc.
---

# Cover Letter

Generate a tailored LaTeX cover letter from three inputs: resume, job description, and applicant contact info. Output is a compiled PDF with three highlighted sections.

## Tooling location

- `~/.claude/skills/cover-letter/template.tex` — LaTeX template with `{{PLACEHOLDERS}}`
- `~/.claude/skills/cover-letter/render.py` — substitutes placeholders, compiles via `latexmk -xelatex`
- `~/.claude/skills/cover-letter/count_tokens.py` — estimates token usage for the run

## How to use this skill

1. **Collect inputs.** Ask the user for whatever isn't already in hand:
   - Resume (path to `.tex`, `.md`, `.txt`, or `.pdf`)
   - Job description (path or pasted text — save to a temp `.txt` if pasted)
   - Company name, role title, hiring manager (if known)
   - Applicant name, email, phone, location
   - Output directory (default: current working dir)

2. **Read the resume and JD thoroughly.** Extract:
   - From resume: title, years of experience, top 3-5 concrete achievements, technical skills that overlap the JD
   - From JD: company name, exact role title, top 3 required qualifications, anything distinctive about the company / role / mission

3. **Write the three sections.** First-person, professional register. No corporate-speak boilerplate. Specific over generic. Target lengths:
   - **About Me** — 3-5 sentences. Who I am, what I do, why I'm writing.
   - **Why \<Company\>** — 3-5 sentences. Something specific about the company / role / product. Not "I admire your innovation."
   - **Why I'd Be a Good Fit** — 5-7 sentences. Map 2-3 concrete resume achievements to 2-3 specific JD requirements. Quantify where possible.

4. **Build the data JSON.** Write a JSON file with the substitution values:

   ```json
   {
     "name": "Daniel Walsh",
     "email": "[email protected]",
     "phone": "+1 (438) 336-2382",
     "location": "Montreal, QC",
     "date": "May 11, 2026",
     "company": "Ciena",
     "company_address": "Ottawa, ON",
     "recipient": "Hiring Manager",
     "role": "Analog/Mixed Signal Design Engineer",
     "about_me": "First section content...",
     "why_company": "Second section content...",
     "why_fit": "Third section content...",
     "closing": "Sincerely"
   }
   ```

   Leave `recipient` as `"Hiring Manager"` if no name is known. `closing` defaults to `"Sincerely"`.

5. **Render the PDF.**

   ```bash
   python3 ~/.claude/skills/cover-letter/render.py data.json --out cover-letter-<company>.pdf
   ```

   The script substitutes into `template.tex`, runs `latexmk -xelatex` in a temp dir, copies the PDF out, and prints a one-line summary.

6. **Report token usage** (optional but recommended):

   ```bash
   python3 ~/.claude/skills/cover-letter/count_tokens.py \
     --resume resume.tex --jd jd.txt --output cover-letter-<company>.tex
   ```

   Prints input/output token estimates and API-equivalent cost at current Claude prices.

7. **Optionally chain into `humanize`.** If the user wants to lower the AI-detector score, hand the rendered `.tex` body (or extract the prose) to the `humanize` skill. **Preserve formal first-person register** — cover letters are professional, not casual.

## Section style

- Use **active voice** and concrete verbs ("designed", "led", "shipped"), not passive ("was responsible for").
- **Numbers carry weight.** "Led power electronics for 4 spacecraft programs" beats "extensive aerospace experience."
- **Don't repeat the resume.** The letter should tell the story the resume can't — motivation, judgment, fit.
- **No "I am writing to apply for…"** as the opener. Start with something interesting.

## Gotchas

- The LaTeX template uses `xelatex` 
在 GitHub 阅读完整来源 (打开外部页面)
相关上下文

相关工作