Install
$ agentstack add skill-vibewith-brent-claude-resume-skills-resume-coverletter ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Resume Cover Letter Generator
Overview
Generate professional cover letters that match your resume's design language. Choose from templates that align with resume styles (executive, tech-modern, generic) or create custom letters for specific companies and roles.
Quick Start
# Generate cover letter from resume YAML + job description
uv run scripts/generate_cover_letter.py resume.yaml \
--template tech-modern-cover \
--company "Block" \
--position "Outsourcing Program Manager" \
--job-file job_description.txt \
--output cover_letter.typ
# Compile to PDF
uv run scripts/compile_cover_letter.py cover_letter.typ --output cover_letter.pdf
Available Templates
tech-modern-cover
- Best for: Modern tech/creative roles
- Style: Deep lavender palette, Carlito font
- Matches: tech-modern resume template
- Features: Contemporary professional aesthetic
executive-cover
- Best for: Professional/executive roles
- Style: Navy/blue accents, Inter font
- Matches: executive resume template
- Features: Clean, traditional professional layout
generic-cover
- Best for: Reusable letters, industry-agnostic
- Style: Neutral, adaptable design
- Matches: Any resume template
- Features: Flexible content structure
Workflow
1. Generate Cover Letter
uv run scripts/generate_cover_letter.py \
--template \
--company "Company Name" \
--position "Job Title" \
[--job-file job_description.txt] \
[--output cover_letter.typ]
Parameters:
resume.yaml: Source resume data (uses contact info, experience, skills)--template: Cover letter template (tech-modern-cover, executive-cover, generic-cover)--company: Target company name (optional for generic)--position: Job title/position (optional for generic)--job-file: Job description text file for context (optional)--output: Output .typ file path (default: stdout)
Examples:
# Company-specific letter with job description
uv run scripts/generate_cover_letter.py resume.yaml \
--template executive-cover \
--company "Acme Corp" \
--position "Senior Manager" \
--job-file job_acme.txt \
--output cover_acme.typ
# Generic letter (no specific company)
uv run scripts/generate_cover_letter.py resume.yaml \
--template generic-cover \
--output cover_generic.typ
# Tech role with job URL (fetch job description first)
uv run .claude/skills/resume-optimizer/scripts/fetch_job_posting.py \
"https://jobs.company.com/123" --output job.txt
uv run scripts/generate_cover_letter.py resume.yaml \
--template tech-modern-cover \
--company "Tech Startup" \
--position "Engineering Manager" \
--job-file job.txt \
--output cover_tech.typ
2. Compile to PDF
uv run scripts/compile_cover_letter.py [--output ]
Example:
uv run scripts/compile_cover_letter.py cover_acme.typ --output cover_acme.pdf
3. Review and Iterate
After compilation:
- Review PDF for layout, spacing, content flow
- Check contact info matches resume exactly
- Verify company-specific details are accurate
- Ensure single-page format
- Test text extraction (copy-paste from PDF)
To revise:
- Regenerate .typ with adjusted parameters
- Recompile to PDF
- Review again
Content Strategy
Opening Paragraph
- Express specific interest in the role/company
- Briefly state years of experience and core expertise
- Connect your background to the role's requirements
Body Paragraphs (2-3)
- Highlight 3-5 key achievements from resume
- Use metrics and quantifiable impact
- Map your experience to job requirements
- Show cross-functional collaboration
- Demonstrate industry knowledge
Closing Paragraph
- Reinforce enthusiasm for the opportunity
- Summarize unique value proposition
- Call to action (discuss further, interview request)
- Thank the reader
Best Practices
- Keep to one page (600-800 words max)
- Use active voice and strong action verbs
- Mirror language from job description
- Balance confidence with humility
- Avoid generic phrases ("I am writing to apply...")
- Customize for each company/role
Template Selection Guide
| Resume Template | Matching Cover Letter | |----------------|---------------------| | executive | executive-cover | | tech-modern | tech-modern-cover | | modern-dense | executive-cover or tech-modern-cover | | compact | executive-cover | | minimal | executive-cover or generic-cover |
Auto-detection: Script will detect resume template from YAML metadata (if present) and suggest matching cover letter template.
Prerequisites
Typst Installation:
# macOS
brew install typst
# Linux
cargo install typst-cli
# Windows
winget install --id Typst.Typst
Verify:
typst --version
Integration with Other Skills
Complete application workflow:
- State: Use
resume-stateto manage resume versions - Extract: Use
resume-extractorto convert resume to YAML - Optimize: Use
resume-optimizerto tailor resume for target role - Format: Use
resume-formatterto generate resume PDF - Cover Letter: Use
resume-coverletter(this skill) to generate matching cover letter - Review: Review both documents together for consistency
Job application package:
# Optimize resume for role
uv run .claude/skills/resume-optimizer/scripts/fetch_job_posting.py \
"" --output job.txt
# Generate resume PDF
uv run .claude/skills/resume-formatter/scripts/yaml_to_typst.py \
resume.yaml tech-modern --output resume.typ
uv run .claude/skills/resume-formatter/scripts/compile_typst.py \
resume.typ --output resume.pdf
# Generate matching cover letter
uv run scripts/generate_cover_letter.py resume.yaml \
--template tech-modern-cover \
--company "Target Company" \
--position "Target Role" \
--job-file job.txt \
--output cover_letter.typ
uv run scripts/compile_cover_letter.py \
cover_letter.typ --output cover_letter.pdf
Tips for Best Results
Content:
- Extract top 3-5 achievements from resume
- Quantify impact with metrics
- Use job description keywords naturally
- Show understanding of company/industry
- Be specific about why this role/company
Formatting:
- Match cover letter template to resume template
- Ensure contact info is identical to resume
- Keep to single page
- Use consistent date formats
- Test PDF text extraction
Customization:
- Research company before writing
- Reference specific company initiatives/values
- Tailor achievements to role requirements
- Adjust tone for industry (formal vs. creative)
- Proofread for company-specific details
Troubleshooting
Template not found: Check available templates with ls assets/templates/ or use one of: tech-modern-cover, executive-cover, generic-cover
Contact info mismatch: Ensure resume YAML has complete contact section matching your actual resume
Content overflow: Reduce achievements to 3-5 key points; aim for 600-800 words total
Typst compile errors: Check typst --version; escape special characters in YAML
Generic vs. specific: Use generic template for reusable letters; use company-specific for targeted applications
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vibewith-brent
- Source: vibewith-brent/claude-resume-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.