AgentStack
SKILL verified MIT Self-run

Generating Cover Letters

skill-vibewith-brent-claude-resume-skills-resume-coverletter · by vibewith-brent

Generates professional cover letters matching resume templates. Use when the user needs a cover letter, is applying for a job, or wants matching application materials with consistent styling.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-vibewith-brent-claude-resume-skills-resume-coverletter

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-vibewith-brent-claude-resume-skills-resume-coverletter)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
6mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

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 →
Are you the author of Generating Cover Letters? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

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:

  1. Review PDF for layout, spacing, content flow
  2. Check contact info matches resume exactly
  3. Verify company-specific details are accurate
  4. Ensure single-page format
  5. Test text extraction (copy-paste from PDF)

To revise:

  1. Regenerate .typ with adjusted parameters
  2. Recompile to PDF
  3. 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:

  1. State: Use resume-state to manage resume versions
  2. Extract: Use resume-extractor to convert resume to YAML
  3. Optimize: Use resume-optimizer to tailor resume for target role
  4. Format: Use resume-formatter to generate resume PDF
  5. Cover Letter: Use resume-coverletter (this skill) to generate matching cover letter
  6. 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:

  1. Extract top 3-5 achievements from resume
  2. Quantify impact with metrics
  3. Use job description keywords naturally
  4. Show understanding of company/industry
  5. Be specific about why this role/company

Formatting:

  1. Match cover letter template to resume template
  2. Ensure contact info is identical to resume
  3. Keep to single page
  4. Use consistent date formats
  5. Test PDF text extraction

Customization:

  1. Research company before writing
  2. Reference specific company initiatives/values
  3. Tailor achievements to role requirements
  4. Adjust tone for industry (formal vs. creative)
  5. 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.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.