Write a tailored cover letter for a specific job posting
Scanned 9/6/2026
Install to Claude Code
npx -y skills add Infrasity-Labs/dev-gtm-claude-skills --skill cover-letter --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Cover Letter?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/infrasity-labs-cover-letter)More formats (shields.io, HTML) on the badges page.
---
name: cover-letter
description: Write a tailored cover letter for a specific job posting
argument-hint: "job URL, or 'last' to use the most recent job"
---
# Cover Letter Skill
> **Priority hierarchy**: See `references/priority-hierarchy.md` for conflict resolution.
Write natural, persuasive cover letters that sound like a real professional wrote them.
## File Structure
```
scripts/
write-cover-letter.md # Cover letter writing agent prompt
```
## Data Directory
Resolve the data directory using `references/data-directory.md`.
---
## Workflow
### Step 0: Check Prerequisites
Resolve the data directory, then check prerequisites per `references/prerequisites.md`. Resume is required; profile is recommended but not blocking.
### Step 1: Get Job Details
**If `$ARGUMENTS` is "last" or empty:**
- Check `DATA_DIR/jobs/` for the most recently modified folder
- If found, read `posting.md` and `resume.md` from that folder
- Confirm with the user which job this is for
- If no job folders exist, ask the user for a job URL
**If `$ARGUMENTS` is a URL:**
- Check if a job folder already exists for this company in `DATA_DIR/jobs/`
- If yes, read the existing `posting.md` and `resume.md`
- If no, use Claude in Chrome MCP tools to fetch the job posting per `references/browser-setup.md`
- Save the posting to `DATA_DIR/jobs/[company-slug]-[date]/posting.md` if not already saved
If the page can't be loaded, ask the user to paste the job description directly.
### Step 2: Gather Materials
For the target job folder, check what exists:
- `posting.md` - the job description (required)
- `resume.md` - a tailored resume (optional, improves quality significantly)
If no tailored resume exists, use the original resume and work history profile directly.
### Step 3: Write the Cover Letter
Follow the framework in `scripts/write-cover-letter.md`. Use:
- The work history profile (or original resume if no profile)
- The tailored resume for this role (if available)
- The job posting
The cover letter must:
- Be 250-350 words
- Start with "Dear Hiring Manager,"
- End with "Regards, [Name]"
- Use ONLY hyphens, never em dashes
- Sound like a real human wrote it
- Never fabricate or exaggerate any detail
- Connect 2-3 specific, measurable achievements to the employer's needs
### Step 4: Present and Save
Save to `DATA_DIR/jobs/[company-slug]-[date]/cover-letter.md`
Present the cover letter to the user with:
- The full text
- A brief note on which achievements were highlighted and why
- The file path where it's saved
### Step 5: Iterate
Ask if the user wants to adjust:
- Tone (more formal, more casual, more technical)
- Which achievements to highlight
- Specific phrasing
- Length
Apply changes and re-save.
---
## Response Format
Structure user-facing output with these sections:
1. **Cover Letter** — the full cover letter text
2. **Writing Notes** — which achievements were highlighted and why, any tradeoffs made
3. **What's Next** — suggest iterating on tone/emphasis, or using other skills
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!