Overview
Create polished, personalized cover letters tailored to specific job postings, companies, and roles. Analyze the job description, match the candidate's experience to requirements, and produce a compelling narrative that highlights relevant qualifications while demonstrating genuine interest in the role.
Instructions
When a user asks you to write or improve a cover letter, follow these steps:
Step 1: Collect inputs
Gather the following information from the user:
- Job posting: The full job description text or URL
- Resume/CV: The candidate's resume or key experience details
- Company name: The target company
- Hiring manager (optional): Name and title if known
- Specific points (optional): Anything the user wants to emphasize or avoid
- Tone preference (optional): Formal, conversational, enthusiastic, etc.
Step 2: Analyze the job description
Extract from the job posting:
- Key requirements: Must-have skills and qualifications
- Preferred qualifications: Nice-to-have skills
- Company values: Mission, culture, and values mentioned
- Role responsibilities: Core duties and expectations
- Keywords: Technical terms, tools, and frameworks mentioned
Step 3: Map candidate strengths to requirements
Create a mapping between the candidate's experience and job requirements:
Requirement: "5+ years Python experience"
-> Match: "7 years building Python microservices at Acme Corp"
Requirement: "Experience with distributed systems"
-> Match: "Designed event-driven architecture processing 2M events/day"
Requirement: "Team leadership"
-> Match: "Mentored 4 junior engineers, led cross-functional projects"
Identify the 3-4 strongest matches to feature in the letter.
Step 4: Write the cover letter
Structure the letter with these sections:
Header:
- Candidate name and contact info
- Date
- Hiring manager name and company address (if known)
Opening paragraph (2-3 sentences):
- State the specific role you are applying for
- Include a compelling hook: a relevant achievement, shared connection, or genuine enthusiasm for the company
- Mention how you found the role
Body paragraph 1 (3-4 sentences):
- Highlight your most relevant experience matching the top requirement
- Use a specific accomplishment with quantifiable results
- Connect this directly to what the role needs
Body paragraph 2 (3-4 sentences):
- Address 1-2 additional key requirements
- Demonstrate knowledge of the company's products, mission, or recent news
- Show how your skills solve their specific challenges
Closing paragraph (2-3 sentences):
- Reaffirm enthusiasm for the role and company
- Include a clear call to action (interview request)
- Thank the reader for their time
Sign-off:
- "Sincerely," or "Best regards,"
- Full name
Step 5: Save the output
Save the cover letter in the user's preferred format:
# As a text file
cat > cover_letter.txt << 'EOF'
[cover letter content]
EOF
# As a markdown file for further formatting
cat > cover_letter.md << 'EOF'
[cover letter content with markdown formatting]
EOF
Examples
Example 1: Software engineer applying to a startup
User request: "Write a cover letter for this senior backend engineer role at Stripe. Here's the job posting and my resume."
Output structure:
Dear Hiring Team at Stripe,
[Opening: Mention the specific role, reference Stripe's payment
infrastructure mission, and lead with a relevant achievement]
[Body 1: Highlight experience building high-throughput APIs that
aligns with Stripe's scale requirements, include metrics]
[Body 2: Connect distributed systems experience to Stripe's
technical challenges, mention familiarity with their developer
tools and API design philosophy]
[Closing: Express enthusiasm for Stripe's mission to increase
the GDP of the internet, request an interview]
Best regards,
[Name]
Example 2: Career changer entering a new field
User request: "I'm transitioning from teaching to UX design. Help me write a cover letter that addresses the career change."
Approach:
- Identify transferable skills: communication, curriculum design, user empathy, presenting complex information clearly
- Reframe teaching experience as UX-relevant: "Designing lesson plans for diverse learners parallels designing user experiences for diverse audiences"
- Highlight any UX-specific training, bootcamps, or portfolio projects
- Address the transition directly and positively in the opening
Example 3: Refreshing an existing cover letter for a new role
User request: "I have a cover letter I used for a PM role at Google. Adapt it for a similar role at Microsoft."
Steps:
- Read the existing cover letter
- Replace all Google-specific references with Microsoft equivalents
- Research Microsoft's current priorities and products
- Adjust the company-knowledge paragraph to reference Microsoft-specific initiatives
- Update the opening hook to reflect Microsoft's mission
- Save as a new file preserving the original
Guidelines
- Keep the letter to one page (300-400 words). Hiring managers spend 30 seconds on average reading cover letters.
- Never use generic phrases like "I am writing to apply for..." as an opener. Start with something specific and engaging.
- Every sentence should either demonstrate a qualification or show knowledge of the company. Remove filler.
- Use the same keywords from the job description naturally in the letter to pass ATS screening.
- Include at least one quantifiable achievement (percentage, dollar amount, user count, time saved).
- Do not repeat the resume verbatim. The cover letter should complement the resume by adding context and narrative.
- Match the tone to the company culture: formal for finance/law, conversational for startups, balanced for tech.
- If the hiring manager's name is unknown, use "Dear Hiring Team at [Company]" rather than "To Whom It May Concern."
- Proofread for spelling of the company name, hiring manager name, and role title. Getting these wrong is an immediate rejection.
- Always save the output file and confirm the path to the user.