Resume cover letter generator
Skill rubenviolinha/linkedin-job-search-skill/skills/resume-cover-letter-generator
Generate tailored resumes and cover letters as PDFs for job applications. Takes job URLs or job analyzer results and creates customized documents. Use to batch-process top job picks.From its SKILL.md
npx -y skills add rubenviolinha/linkedin-job-search-skill --skill resume-cover-letter-generatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.4 KB, 962 tokens by cl100k_base, as published. Nobody here has run it
resume-cover-letter-generator
Generates tailored resumes and cover letters for targeted job applications.
Description
Takes a list of job URLs (typically from /job-analyzer results) and automatically generates tailored resume and cover letter PDFs customized for each role. Perfect for batch-processing your top job picks.
Input Format
Users provide one of:
- Job URLs - Direct LinkedIn job URLs or list of URLs
- Job analyzer results - Copy-paste from job-analyzer output (skill auto-extracts URLs)
- Manual job list - Simple list: "TechCorp Senior PM", "Google PM", etc.
Plus:
- User's resume - Paste your current resume text or mention a file path
- Optional context - Any specific achievements or projects you want highlighted
Usage Examples
/resume-cover-letter-generator
Jobs:
- https://www.linkedin.com/jobs/view/123456/
- https://www.linkedin.com/jobs/view/234567/
- https://www.linkedin.com/jobs/view/345678/
Resume: [paste your resume here or say "use my resume at ~/path"]
Or after using job-analyzer:
The top 3 picks look great. Generate tailored resumes and cover letters for:
- TechCorp (Senior Product Manager)
- Google (Product Manager)
- Microsoft (Senior PM)
My resume is at ~/Documents/resume.txt
Workflow
Phase 1: Parse Input
- Extract job URLs from user message
- Fetch full job descriptions in parallel (WebFetch)
- Extract company name, job title, key requirements, skills from each JD
Phase 2: Analyze & Generate
- For each job:
- Identify top 3-5 key requirements from JD
- Generate tailored resume (Claude) - reorder/emphasize relevant experience
- Generate tailored cover letter (Claude) - address specific role + company
- Save both as HTML files (for review before PDF if needed)
Phase 3: PDF Export
- Convert each resume HTML → PDF via Playwright
- Convert each cover letter HTML → PDF via Playwright
- Organize in
output/{CompanyName}/folders - Verify all PDFs created successfully
Phase 4: Summary
- Show list of generated documents
- Display file paths for easy access
- Offer to open folder or export summary
Output
File Structure:
output/
├── CompanyName_1/
│ ├── Resume_CompanyName_1.pdf
│ └── CoverLetter_CompanyName_1.pdf
├── CompanyName_2/
│ ├── Resume_CompanyName_2.pdf
│ └── CoverLetter_CompanyName_2.pdf
Resume: Tailored version highlighting role-relevant experience, reordered to match job requirements Cover Letter: Standard business format with specific company/role references and 1-2 tailored requirements
Key Rules
- Always fetch actual JD - Never invent job requirements
- Reuse existing experience - Don't fabricate skills or roles, emphasize what's relevant
- Specific over generic - Cover letters mention company name + specific requirement
- Parallel generation - Process 3-5 jobs simultaneously (~20-30s total time)
- ATS-friendly - Resume uses standard format readable by applicant tracking systems
- Idempotent - Safe to re-run; overwrites existing PDFs without duplication
- User's resume is source of truth - All content tailored from provided resume, never invented
Implementation Notes
- Reuse
job-analyzerWebFetch pattern for parallel job fetching - Use Playwright (from
scraper/pdf_generator.mjsutility) for HTML → PDF conversion - Resume template: Adapt existing
resume/resume-template.htmlwith dynamic data injection - Cover letter template: New clean HTML template with standard business letter format
- Folder creation: Auto-create
output/{company}/if doesn't exist - Error handling: If any PDF fails, report which job(s) and why; continue with others
Related Skills
job-analyzer- Use this first to find/rate jobs, then pass results here for doc generationlinkedin-jobs-fetch- Use to fetch your saved LinkedIn jobs as input
Feedback Loop
Generated docs can be:
- Reviewed before final PDF (with Claude help for edits)
- Directly submitted via LinkedIn/company career pages
- Fine-tuned for multiple rounds of applications
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most hr recruiting skills give in 962 tokens
Counted across 356 of the 357 authors here whose files we hold, read 2026-08-07
- Quantify achievements with specific metricsin 14 of 356, across 6 files
- Keep the resume under two pagesin 14 of 356, across 6 files
- Request the full job description if not providedin 12 of 356, across 4 files
- Extract keywords and prioritize job requirementsin 12 of 356, across 4 files
- Stop and ask for clarification if required inputs are missingin 12 of 356, across 5 files
- Map candidate experience to job requirementsin 11 of 356, across 3 files
- Ask if the user wants adjustmentsin 11 of 356, across 3 files
- Provide strengths and gap analysis after the resumein 10 of 356, across 2 files
- Request candidate background details if not providedin 10 of 356, across 2 files
- Format experience bullets as action verb plus resultin 10 of 356, across 2 files
- Ask for missing inputs before startingin 10 of 356, across 9 files
- Use exact job description terminologyin 9 of 356, across 1 file
Said here and by no other author read
- fetch job descriptions in parallel
- identify top key requirements per job
- generate tailored resumes from existing experience
- save documents as HTML files
- convert HTML files to PDF via Playwright
- organize PDFs into per-company folders
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.