Skip to content
Back to skills

Cover Letter Gen

ASecurity

Generate ATS-optimized, company-specific cover letters for career-ops job applications. Paste a job description or provide a company name/URL → tailored cover letter in markdown, ready to attach or submit. Trigger when: the user asks to "generate cover letter", "write cover letter", "cover letter for this job", "/cover-letter", "tailor cover letter", or "company-specific cover letter"; the user pastes a job description; the user names a company and wants a targeted application letter; or the ...

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add Tekkiiiii/the-agency --skill cover-letter-gen --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cover Letter Gen?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cover Letter Gen
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tekkiiiii-cover-letter-gen/badge)](https://www.skillsdirectory.com/skills/tekkiiiii-cover-letter-gen)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cover-letter-gen
description: |
  Generate ATS-optimized, company-specific cover letters for career-ops job applications. Paste a
  job description or provide a company name/URL → tailored cover letter in markdown, ready to attach
  or submit. Trigger when: the user asks to "generate cover letter", "write cover letter", "cover
  letter for this job", "/cover-letter", "tailor cover letter", or "company-specific cover letter";
  the user pastes a job description; the user names a company and wants a targeted application letter;
  or the user wants to apply to a role with a customized, ATS-safe cover letter. Key capabilities:
  extracts company intel from JD (pain points, tech stack, culture signals, repeated keywords);
  scores achievements from cv.md against JD keywords (3pt direct match, 2pt relevant, 1pt loose,
  0pt irrelevant); archetype-based narrative framing (LLMOps, Agentic, Technical AI PM, Solutions
  Architect, FDE, Transformation); 4-paragraph structure (hook with role+company, proof with top
  scored achievements, company-specific reasoning, close with next step). Style: confident,
  specific, peer-to-peer, no clichés, no "thank you for your consideration", 350-word max, plain
  text for ATS safety. Ideal for: job seekers applying to targeted roles who need personalized,
  high-quality cover letters at scale. Also for: drafting cover letter variations per archetype;
  auditing existing cover letters against JD keyword density.
user_invocable: true
args: company-name-or-url
argument-hint: "[company name or job description URL — optional; paste JD text directly for fastest results]"
triggers:
  - "generate cover letter"
  - "write cover letter"
  - "cover letter for this job"
  - "/cover-letter"
  - "tailor cover letter"
  - "company-specific cover letter"
---

# Cover Letter Generator — career-ops Mode

## Core Mission
Generate a compelling, ATS-optimized, company-specific cover letter that complements the career-ops PDF CV. One cover letter per application — never generic. Stops before submission.

---

## Input Resolution (in priority order)

1. **Pasted JD text** — if the user pasted raw JD text, use it directly
2. **URL** — if a job URL was provided, fetch via WebFetch or Playwright
3. **Company name** — if only a company name was given, search for the active JD in `data/pipeline.md` or `reports/`
4. **Context files to read always:**
   - `cv.md` — canonical CV
   - `config/profile.yml` — candidate narrative, archetype, target roles
   - `data/applications.md` — check if an evaluation report exists for this company

---

## Step 1 — Company Intel Extraction

From the JD, extract:
- Company name and industry
- Role title and seniority level
- Top 3 pain points / challenges the role solves
- Must-have tech stack requirements
- Culture signals (startup / enterprise / remote-first / etc.)
- Tone of the JD writing (formal, direct, playful, technical)
- 2-3 specific keywords or phrases used repeatedly

---

## Step 2 — Achievement Scoring

From `cv.md`, extract all achievements / bullet points.

**Score each achievement** against the JD keywords:
- 3 pts: direct tech stack match + quantified result
- 2 pts: relevant skill match (non-quantified) OR quantified result (no skill match)
- 1 pt: loosely relevant
- 0 pts: irrelevant

Select the **top 3-4 scored achievements** for the proof paragraph.

---

## Step 3 — Archetype + Narrative Alignment

From `config/profile.yml` and the archetype:
- **Primary framing**: use the detected archetype (LLMOps, Agentic, Technical AI PM, Solutions Architect, FDE, Transformation)
- **Exit story**: one sentence on why the candidate is motivated to move — specific, not vague
- **Superpower statement**: the single strongest match to this role, framed as a capability, not a trait
- **Company-specific hook**: one specific thing about this company that resonates — name a product, a stated value, a published challenge

---

## Step 4 — Draft the Cover Letter

### Paragraph 1 — Hook (3 sentences)

```
Sentence 1:  Name the role + company specifically.
              "I'm writing to apply for the Senior LLMOps Engineer role at Acme AI."
Sentence 2:  Name the strongest alignment, quantified if possible.
              "My background building production RAG pipelines that serve 10M+ daily
              queries maps directly to your need for someone who can own the full
              inference stack."
Sentence 3:  State the motivation in one line.
              "After five years optimizing AI infrastructure at [current company], I'm
              ready to bring that depth to Acme's platform-scale challenges."
```

### Paragraph 2 — Proof (4-5 sentences, prose, no bullets)

Weave in the top-scored achievements. Vary sentence structure — short, medium, long. Mirror the JD's tone.

### Paragraph 3 — Company-Specific Reasoning (2-3 sentences)

Name something specific about this company. Connect it to a candidate strength. Not generic flattery.

### Paragraph 4 — Close (2 sentences)

- Reiterate fit in one sentence
- Propose a specific next step
- **Never write**: "Thank you for your consideration"

---

## Style Rules

| Rule | Details |
|------|---------|
| Tone | Confident, specific, peer-to-peer |
| "I" statements | Own every claim — no "we" or passive voice |
| Clichés → cut | "Results-oriented team player" "Excellent communication skills" "Passionate about..." |
| Word limit | 350 words max (prose, no bullet list) |
| JD keywords | Weave 2-3 naturally — not stuffed |
| Language match | English / Spanish / German — match the JD language |
| ATS safety | Plain text, no tables, no images, standard fonts |

---

## Output

1. **Save** to `output/{company-slug}-cover-letter.md`
2. **Register** in `data/applications.md` — add `cover-letter.md` path to the Notes column for this company
3. **Show** the cover letter inline to the user
4. **Stop** — do not submit or send anything

---

## Quality Checklist (run before saving)

- [ ] Hook names the role AND company specifically
- [ ] At least one quantified achievement is included
- [ ] Cover letter references something specific about the company
- [ ] Zero clichés or generic phrases
- [ ] Under 350 words
- [ ] 2-3 JD keywords woven in naturally
- [ ] Same language as the JD
- [ ] File saved to `output/{company-slug}-cover-letter.md`
- [ ] applications.md updated with cover letter path

---

## Error Handling

- **No JD found**: Ask the user to paste the job description or provide a URL
- **No evaluation report**: Generate without archetype framing — fall back to generic archetype
- **Cover letter exists**: Ask "A cover letter already exists for [Company]. Overwrite it?"
- **Language mismatch**: If the JD is Spanish but profile is English, match the JD (the company's language wins)

Files in this skill

  • SKILL.md6.7 KB
  • references/overview.md1.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…