Skip to content
JL JobLabs

AI Cover Letters: Write One That Actually Gets Read

How to Write a Cover Letter with AI (15-Min Recruiter Workflow)

A 12-year recruiter's step-by-step workflow for writing cover letters with AI in 15 minutes. Before/after example. What recruiters actually read.

How to Write a Cover Letter with AI (15-Min Recruiter Workflow)
Alex
By Alex · Founder & Head of Recruitment Insights
12+ years in recruitment · · Updated · 10 min read

Writing a cover letter used to take 45 minutes per application. Candidates would agonize over the opening, draft three versions, ask friends to read it, and still submit something mediocre. Then ChatGPT launched and everyone started generating cover letters in 30 seconds — at the cost of every recruiter seeing the same 6 opening phrases in every third letter.

There’s a middle path. 15 minutes per cover letter, AI-assisted, human-edited, recruiter-readable. That’s the workflow I give candidates I’m coaching. This article is that workflow, start to finish, with a real before/after example and the exact prompts I use at each step. If you’re still deciding whether to bother at all, my piece on whether employers read cover letters in 2026 sets the priors before you spend the 15 minutes.

What recruiters actually read (the 8-second scan)

Before the workflow, understand what you’re optimizing for.

When I review applications, I spend 8 seconds on the cover letter on first pass. That’s enough time to read the first 2 sentences. Based on those 2 sentences, I decide whether to continue reading. If I continue, I spend maybe another 30 seconds on the rest.

So your cover letter’s job isn’t to tell your whole story. It’s to earn the next 30 seconds of my attention by being specific in the first 2 sentences. Everything else in the letter supports that first impression.

This changes how you write. Forget the “five paragraph essay” structure from 2005. You need:

  • Paragraph 1 (2 sentences): Opening hook that earns attention
  • Paragraph 2 (2-3 sentences): Why this specific company
  • Paragraph 3 (2-3 sentences): How your experience bridges to the role
  • Paragraph 4 (1 sentence): A closing line that isn’t “looking forward to hearing from you”

Under 250 words total. Three to four paragraphs. That’s it.

The 15-minute workflow

Minutes 1-3: Research the company

Before AI touches anything, spend 3 minutes finding 1-2 specific, concrete things about this company. Not their mission statement. Specific things.

Good sources:

  • Their blog — read their 3 most recent posts
  • CEO/founder Twitter/LinkedIn — look at their pinned post + 5 most recent
  • Their changelog or product updates — what shipped recently?
  • Their podcast appearances — what did they say about the company?
  • Their Glassdoor/Levels.fyi — what’s culture actually like?

You need 1-2 specifics you can reference later. Examples of what “specific” means:

Not specific: “They’re committed to their mission of making AI accessible.”

Specific: “They launched their API 6 months ago and CEO posted last week about moving from seat-based to usage-based pricing.”

The specific version lets you write something a competitor couldn’t. The generic version could apply to any company.

Timer: 3 minutes. Don’t go deeper — you’ll waste time.

Minutes 4-5: Extract the JD’s requirements

Paste this into ChatGPT or Claude:

Extract from this job description:
- Top 3 HARD skills (tools, technologies, certifications)
- Core problem this role solves for the company
- One phrase or word from the JD that stands out as unusual/specific

Output as 3 short lines.

JD:
[paste full JD]

You’ll get something like:

Hard skills: Python, Snowflake, dbt Core problem: reducing data team’s ad-hoc request volume Unusual phrase: “self-serve analytics mindset”

That last line is gold — it’s language you can mirror in your letter. Most JDs have 1-2 phrases that signal the company’s culture. Catch them.

Timer: 2 minutes.

Minutes 6-7: Draft the opening hook

The most important 2 sentences in your letter. Use this prompt (this is prompt #1 from my ChatGPT cover letter prompts guide, simplified):

Write the FIRST TWO SENTENCES of a cover letter.

Rules:
- Do NOT start with "I am writing to apply"
- Sentence 1: specific fact about my experience that matches the role's top requirement
- Sentence 2: make the fit to this role explicit
- Under 50 words total
- Banned: results-driven, passionate, leveraged, excited

My most relevant experience: [1-2 sentences about your most relevant role + metric]

The role's top requirement: [from step 2 above]

Expected output for a data engineer applying to a SaaS analytics role:

“In my last role, I rebuilt a data pipeline that cut the data team’s ad-hoc request backlog from 40 to 6 per week — that’s the exact ‘self-serve analytics’ problem your job posting describes. I’d like to scale that playbook at [Company].”

Two sentences. Concrete number. References a specific phrase from their JD. Answers “why you” and “why us” in one breath. A recruiter reads this and keeps going.

Timer: 2 minutes.

Minutes 8-9: Draft the “why this company” paragraph

Now you use what you learned in step 1. Prompt:

Write ONE short paragraph (under 60 words) for a cover letter explaining why
I want THIS specific role at THIS specific company.

Rules:
- Do not mention the company's mission statement
- Reference one specific thing I learned from my research (see below)
- Do not use: "align", "resonate", "excited", "passionate about [industry]"
- Sound curious, not sycophantic

My research found: [paste the specifics from step 1 — 1-2 concrete things]

The role: [1-sentence summary of what the JD is asking for]

Expected output:

“Your CEO’s thread last month about moving from seat-based to usage-based pricing caught my attention — that shift puts real pressure on the data team to measure consumption accurately, which is exactly what I spent the last year building for my current company. Seeing that problem play out at your scale is why I’m applying.”

That paragraph couldn’t have been written for any other company. That’s the test.

Timer: 2 minutes.

Minutes 10-12: Draft the experience bridge

The middle paragraph. Your experience in plain language, connected to their requirements.

Write ONE short paragraph (under 70 words) bridging my experience to this
role's top 2 requirements.

Rules:
- Don't copy-paste CV bullets verbatim
- Use specific numbers from my input — never invent
- Sound like I'm describing my job to a colleague, not reading a CV aloud
- Past tense, first person, conversational

My top 2 relevant experiences: [paste]

Role's top 2 requirements: [from step 2]

Expected output:

“Most of my time at my current company went into building the analytics pipeline from scratch — Snowflake + dbt, 40+ models, and a self-serve layer that the product team uses weekly. The last six months I’ve focused on data quality monitoring, which sounds like a gap in your current stack based on the posting.”

That last clause — “which sounds like a gap in your current stack based on the posting” — is what turns a generic experience paragraph into a fit signal. Small move, outsized effect.

Timer: 3 minutes.

Minutes 13-14: Edit in your voice

AI drafts need editing. Always. Run through this checklist:

  • Strip any of the 13 banned buzzwords
  • Add contractions where natural (“I’ve” not “I have”, “I’m” not “I am”)
  • Break up any 3 sentences that start the same way
  • Verify every number — did you actually do what you claim?
  • Read aloud — does it sound like you?

Plus add a closing line. Forget “I look forward to hearing from you.” Use something like:

“Happy to send over a sample of the self-serve layer I built, if that’s useful at this stage.”

Or:

“Thanks for reading — hope we get to talk.”

Both feel human.

Timer: 2 minutes.

Minute 15: Ban-list check + ship

Final sweep. Search the whole letter for:

  • “I am writing to”
  • “I am writing to express”
  • “results-driven”
  • “passionate about”
  • “leveraged”
  • “excited to apply”
  • “Looking forward to hearing from you”
  • “Please do not hesitate to contact me”

If you find any, replace or cut. Verify total word count is under 250. Ship.

Real before/after

Before (candidate’s original attempt, pre-workflow):

“Dear Hiring Manager,

I am writing to express my strong interest in the Data Engineer position at Acme Analytics. As a results-driven data professional with over 5 years of experience, I am passionate about leveraging data to drive business outcomes.

Throughout my career, I have spearheaded cross-functional initiatives, built robust data pipelines, and delivered impactful insights. I believe my skills in SQL, Python, and cloud data warehousing make me an excellent fit for this role.

I am excited about the opportunity to contribute to Acme’s mission of democratizing data access. I look forward to hearing from you and discussing how my background can add value to your team.

Best regards, Alex”

318 words. 7 buzzwords flagged. Could be for any data engineering role at any company. I’d skip it after the first sentence.

After (same candidate, 15-minute workflow):

“Dear Hiring Manager,

In my last role, I rebuilt our data pipeline so the data team’s ad-hoc request backlog dropped from 40 to 6 per week — that’s the exact ‘self-serve analytics’ problem your job posting describes. I’d like to scale that playbook at Acme.

Your CEO’s thread last month about moving from seat-based to usage-based pricing caught my attention. That shift puts real pressure on the data team to measure consumption accurately, which is what I spent the past year building at Lumen. Seeing that problem at Acme’s scale is why I’m applying.

Most of my work at Lumen went into building the analytics stack from scratch — Snowflake + dbt, 40+ models, a self-serve layer the product team uses weekly. The last six months I’ve focused on data quality monitoring, which sounds like a gap in your current stack based on the posting.

Happy to send over a sample of the self-serve layer if that’s useful at this stage. Thanks for reading.

Alex”

237 words. Zero buzzwords. Three specific references to the company. Two concrete metrics. Could only have been written for this role.

This candidate got the interview 3 days later. The original letter, sent to 12 other companies, had gotten 1 interview in 3 weeks.

Common mistakes

Writing before researching. The “why this company” paragraph is impossible to write well without 3 minutes of research. Skip research, and the paragraph defaults to their mission statement (generic).

Using the same letter for different companies. The middle paragraph can be reused with light edits. The opening and company paragraph must be tailored. Reusing those makes the letter obviously generic.

Over-polishing. After 15 minutes, ship. Most candidates’ 30-minute letters aren’t meaningfully better than their 15-minute letters — they’re just longer, with more buzzwords.

Writing for the wrong length. If your cover letter is over 300 words, cut it. The recruiter reads the first 2 sentences. The remaining 298 words don’t get read.

Skipping the edit step. Raw AI output has recognizable patterns — parallel sentence structures, formal register, the same 6 openers. The 2-minute edit step is what makes your letter readable as human, and these are exactly the tells recruiters spot in cover letters when they’re skimming a stack at 8pm.

When tools like Teal and Rezi help

Both Teal and Rezi have cover letter builders. Honest take: cover letters aren’t their strongest feature. The AI drafts they produce have more buzzword density than good ChatGPT/Claude output with the prompts above.

When they help:

  • Teal: if you want the letter auto-saved alongside the tracked application (nice organization)
  • Rezi: if you want the letter and CV aligned keyword-wise (useful for ATS-heavy applications)

Where they fall short: the 15-minute workflow above produces better-quality letters than either tool’s default output. Use the tool for organization, use ChatGPT/Claude + this workflow for the writing.

For the full Teal vs Rezi breakdown: Teal vs Rezi comparison.

The math

15 minutes per cover letter. 4 per week (for your top-priority roles only) = 1 hour.

Candidates I’ve placed who did this workflow averaged 1 interview per 4-6 cover letter applications (for tailored letters on high-fit roles). Compared to 1 interview per 40 applications for generic mass-mailed cover letters.

Use AI. Edit the AI. Spend 15 minutes, not 45. Tailor the openers, reuse the middle. That’s the whole thing.

Key takeaway from How to Write a Cover Letter with AI (15-Min Recruiter Workflow)

Frequently asked questions

Are cover letters worth writing anymore?
Yes for roles you actually want. No for volume applications. 8 of 10 recruiters I know still read the first 2 lines of every cover letter — if those lines are specific and tailored, you get read. Generic cover letters get skipped.
How long should a cover letter be?
Under 250 words. 3-4 short paragraphs. The 'half-page essay with 5 paragraphs' format from 2005 is dead. Recruiters scan — you have 8 seconds, then 30 seconds if they keep reading. Write for that reality.
Should I use ChatGPT or Claude for cover letters?
Both work. Claude (3.5 Sonnet or higher) tends to produce slightly less buzzwordy output in my testing — less 'leveraged' and 'passionate'. But the quality difference is small and the workflow is the same. Use what you already pay for or what's free.
Can I use the same cover letter for multiple jobs?
The middle experience paragraph can be reused across similar roles with small edits. The opening hook and why-company paragraph must be tailored — if they're not, the letter reads generic and gets skipped.
Will AI cover letters trigger AI-detection tools?
Recruiters don't typically use AI detectors on cover letters. We spot AI through pattern recognition — same 6 phrases in every third letter. The workflow below's edit step removes those patterns, making the output indistinguishable from human-written.
What's the biggest cover letter mistake?
Starting with 'I am writing to express my strong interest in the [Position] role at [Company].' I see this opening in 90% of cover letters since ChatGPT launched. It signals zero effort. The workflow below starts with fixing this specifically.

Keep reading