Cover Letter Generator
Generate a tailored cover letter using cover_letter.py.
How to invoke
Slash command (preferred):
/cover-letter https://job-url
/cover-letter https://job-url Company Name
/cover-letter https://job-url Company Name "Role Title"
Or natural language: cover letter <url>, generate cover letter for Constructor
How to run
python cover_letter.py "https://job-url" "Company Name" "Role Title"
python cover_letter.py "https://job-url" "Company Name" # role extracted from JD
What it does
- Fetches the job description from the URL (same scraper as resume_tailor.py)
- Calls Gemini to generate two tailored paragraphs:
- Matched skills paragraph — specific tech/tools from the JD that the candidate has
- Gap bridge paragraph — honest bridge for the 1-2 most important gaps
- Assembles the full letter using a fixed template (intro, generated paras, fixed personal projects + close)
- Saves DOCX to
cover_letters/CoverLetter_{Company}.docx - Dumps the full text to console
Output location
C:\Users\mahas\OneDrive\Desktop\Applications\JobSearch\cover_letters\CoverLetter_{Company}.docx
Template structure (fixed)
- Header (Paris, France | phone | email)
- "Respected Hiring Manager,"
- Intro — role, company, company value prop (Gemini-generated hook)
- Matched skills para — Gemini-generated
- Gap bridge para — Gemini-generated
- Personal projects para — hardcoded (job pipeline + Fit-Check)
- Close para — hardcoded (Paris, open to remote/hybrid, aligns with company goals)
- Sign-off
Steps
- Extract URL, company, and (optional) role from user message.
- Run the script.
- Dump the cover letter text in the response inside a plain fenced code block (``` with no language tag) so the user gets a one-click copy button.
- Confirm the DOCX path.