# Cover Letter

> Use when the user says "write a cover letter," "draft a note for this application," or wants a letter for a specific job. Proposes 2–3 angles, picks one, and drafts a tailored one-page letter addressed to a real hiring manager. No slop, no fabrication.

- Skill: `guerrilla2799/cover-letter` (Agent Skill)
- Install (CLI): `npx skillmds@latest add guerrilla2799/cover-letter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/guerrilla2799/cover-letter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: guerrilla2799 (https://skillmd.com/u/guerrilla2799)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/guerrilla2799/cover-letter

---


# Cover Letter

Write a one-page cover letter built around a single sharp angle, addressed to a real person, that earns the interview instead of restating the resume.

## When to use
- User says "write a cover letter," "they want a cover note," "draft a letter for <company>."
- A pipeline row is in `tailoring` and the posting requires or invites a letter.
- The user has a resume tailored and wants the matching narrative.

## Inputs
- Reads:
  - `workspace/profile/profile.md` – who the candidate is, what they want, their throughline.
  - The job description, from `workspace/pipeline/applications/<id>-company-role.md` or pasted.
  - `workspace/output/<id>-company-research.md` – the company dossier, if `company-research` has run (stage, market, recent moves, the named hiring manager).
  - `workspace/stories/story-bank.md` – the proof stories, one of which becomes the letter's spine.
  - `templates/cover-letter-template.md` – output skeleton.
- Needs from user:
  - The JD (ask if not on file).
  - The `id`. If the tailored resume already exists at `output/<id>-resume.md`, reuse its chosen angle for consistency.
  - Confirmation of the angle (this is an interactive pick, see step 2).

## Workflow
1. **Gather the spine.** Read profile, JD, company dossier, and story-bank. If there's no dossier and you can't name a hiring manager or say anything specific about the company, run or ask for `company-research` first. A generic letter is a deleted letter.
2. **Propose 2–3 angles and pick one (interactive).** An angle is the *one* reason this candidate is the fit for *this* role, not a list. Examples of angle types:
   - **Shared problem.** You've solved the exact problem they're hiring to solve.
   - **Result that maps.** A specific outcome you drove that mirrors their top need.
   - **Stage/motion fit.** You've operated at their stage (Seed→A, PLG→SLG) and know the traps.
   - **Genuine connection.** To their product, mission, or a person, stated without flattery.
   Present the options with a one-line rationale each, recommend one, and let the user choose before drafting. Default to the recommended angle if the user just says "go."
3. **Find the addressee.** Name the real hiring manager (from the dossier, the JD, `networking-and-referrals`, or a quick search of the company + role + "hiring"/team page). Use "Hiring Team" only as a genuine last resort, and say you couldn't find a name.
4. **Draft** from `templates/cover-letter-template.md` into `workspace/output/<id>-cover-letter.md`, in four short paragraphs:
   - **Hook.** Open on the chosen angle. Never "I'm excited to apply" / "I'm writing to express interest."
   - **Proof.** One concrete story from the story-bank that maps to their top requirement, with the real quantified outcome. This paragraph earns the interview.
   - **Company fit.** Why this company and why now. Show you understand their stage, market, and problem from the research. Connect to where they're going.
   - **Close.** Direct, confident, low-friction. State interest and readiness. No groveling, no "thank you for considering."
5. **Slop gate.** Run the `writing-quality` skill. Strip AI tells, hollow verbs, "it's not X it's Y," rule-of-three filler, and every "excited"/"passionate" opener.
6. **Eval gate.** Submit to `artifact-eval` (cover-letter spec). Fix any REVISE/FAIL and re-submit until PASS.
7. **Log it.** Update `applications/<id>` Materials with the letter path and the angle chosen (so interview-prep and follow-up stay consistent).

## Output
- Writes to: `workspace/output/<id>-cover-letter.md`.
- Appends to: `workspace/pipeline/applications/<id>-company-role.md`, the Materials line (path + angle).
- Format: `cover-letter-template.md` structure (dated, named salutation, four short paragraphs, signed), followed by a one-line receipt: `angle: <chosen> · writing-quality: PASS · artifact-eval: PASS (cover-letter v<ver>, score N)`.

## Rules & quality bar
- **Angle first.** Commit to one angle and build the letter around it. If you can't name the angle in a sentence, you're not ready to draft.
- **One page, four paragraphs, max.** Longer reads as unfocused.
- **No fabrication.** Every claim traces to profile, master-resume, or story-bank. Numbers are the real numbers.
- **Real name or admit it.** Address a person. Don't fake a name, and flag when you couldn't find one.
- **No slop, no clichés.** Banned openers: "excited to apply," "I am writing to," "passionate about." No "it's not X, it's Y." No summarizing the resume back.
- **Specific about the company or do more research.** Never pad with generic praise.
- **Human sends.** This skill drafts. A person submits.
- Ends only after `writing-quality` PASS and `artifact-eval` (cover-letter spec) PASS.

## Related skills
- `company-research` – supplies the dossier and the hiring-manager name. Run it first.
- `story-bank` – source of the proof paragraph.
- `resume-tailor` – pairs with the letter. Share the angle across both.
- `networking-and-referrals` – a warm referral usually beats a cold letter, and finds the name.
- `writing-quality` – mandatory slop gate.
- `artifact-eval` – mandatory PASS (cover-letter spec).
- `search-and-scale-os` – orchestrator that triggers this in the tailoring stage.

