Most AI-generated cold emails are immediately recognizable. They open with "I hope this message finds you well," pack three value props into the first sentence, and close with "Would you be open to a 15-minute call?" Everyone's seen them. Nobody replies.
The problem isn't that AI can't write good emails. The problem is that most people give AI nothing to work with. No ICP definition, no specific pain point, no real offer, no sense of how their prospects actually talk. You get generic output because you gave generic input.
Here's how to fix that — with the actual prompts I use.
Why AI email copy fails
Before the prompts, the diagnosis. AI-generated email fails for three reasons:
No specificity. "We help B2B companies grow revenue" means nothing. AI defaults to this when you don't give it a real offer.
No recipient signal. If the prompt doesn't include what the prospect cares about, AI invents something plausible. Plausible isn't persuasive.
Wrong tone calibration. AI left to its own devices writes like a polished corporate newsletter. Cold email that converts reads more like a text from a peer who noticed something interesting.
The fix is context. Every good email prompt starts with a context block.
The foundation: context block
Before you write any email prompt, build a reusable context block. You paste this at the start of every email-related session.
SENDER CONTEXT:
- Company: [Your company]
- Offer: [One sentence — what you do and for whom]
- ICP: [Job title, company type, company size, trigger events]
- Key pain point you solve: [Specific, not generic]
- Proof: [Stat, customer name, or result you can cite]
- Tone: [2-3 words: e.g., direct, peer-to-peer, no corporate fluff]
PROSPECT CONTEXT:
- Name: [First name]
- Company: [Company name]
- Role: [Job title]
- Trigger/signal: [Why you're reaching out now — funding, job post, content they published, etc.]
With this in place, every prompt below produces something usable on the first pass.
Cold email prompts
First touch: PAS framework
Pain-Agitate-Solution is the most reliable cold email structure when you have a clear pain point.
Using this context: [PASTE CONTEXT BLOCK]
Write a cold email using the PAS framework:
- Pain: one sentence naming the specific problem [PROSPECT ROLE] faces
- Agitate: one sentence on the consequence of not solving it
- Solution: one sentence on how [YOUR OFFER] fixes it
- CTA: one low-friction ask (not a meeting — a yes/no question or micro-commitment)
Rules:
- Subject line: 4-6 words, no clickbait
- Total length: under 100 words
- No opener like "I hope this finds you well"
- First sentence is about them, not us
- Write in plain text, no bullet points in the body
First touch: personalized opener
When you have a real trigger signal (they just raised funding, posted a job, published something), use this:
Using this context: [PASTE CONTEXT BLOCK]
The prospect trigger: [specific thing they did or that happened to their company]
Write a cold email where:
- The first sentence references the trigger naturally (not sycophantically — don't say "I saw your amazing post")
- Sentence 2 connects that trigger to the pain point we solve
- Sentence 3-4 is a brief, specific offer statement
- Close with one question that's easy to answer yes or no
Under 80 words. Subject line under 6 words.
Subject line prompt
Subject lines deserve their own prompt. Don't let them be an afterthought.
Write 10 subject lines for a cold email to [ROLE] at [COMPANY TYPE].
The email is about: [one sentence on the offer/pain point]
Generate two of each format:
- Curiosity gap (creates an information gap, no bait-and-switch)
- Direct benefit (what they get, specific)
- Question (their problem framed as a question)
- Social proof (name-drop or result)
- Contrarian (challenges a common assumption in their industry)
No emoji. No ALL CAPS. No exclamation marks. Each under 8 words.
Follow-up sequence prompts
Most replies come from follow-ups, not first touches. The mistake is sending the same angle twice.
Touch 2: different angle
Here is the first email I sent: [PASTE EMAIL]
It got no reply.
Write a follow-up email that:
- Does NOT repeat the same argument or angle from the first email
- Leads with a different pain point or a new proof point
- Is even shorter than the first (under 60 words)
- References the first email in one clause ("Following up on my note last week…") then moves on immediately
- Ends with a different CTA than the first email
Touch 3: social proof
Context: [PASTE CONTEXT BLOCK]
Write a third-touch follow-up email that leads with a specific customer result (use: [customer name or "a [industry] company"] achieved [specific result] in [timeframe]).
Structure:
- Lead with the result (one sentence)
- One sentence connecting that result to the prospect's situation
- One sentence CTA
Under 50 words. No preamble.
Touch 4: breakup email
The breakup email gets replies because it's honest. Don't dress it up.
Write a breakup email for a cold outreach sequence.
Rules:
- Acknowledge they're probably not interested
- Give them one final specific reason to respond if timing is wrong now vs. not interested
- Make it easy to say "not the right time" — offer to reconnect in 6 months
- Under 40 words
- No guilt-tripping. No desperation. Just matter-of-fact.
Nurture and drip sequence prompts
Welcome series (first email after signup/download)
Someone just downloaded [LEAD MAGNET NAME]. Write the first email in a welcome sequence.
Context:
- What they downloaded and why: [description]
- What we want them to do next: [specific action]
- What they probably believe right now: [assumption you want to confirm or gently challenge]
Structure:
- Acknowledge what they just got (one sentence)
- One high-value tip or insight they didn't get in the lead magnet
- Soft CTA toward [next action]
Under 150 words. Conversational, not newsletter-style.
Re-engagement email
Write a re-engagement email for subscribers who haven't opened in 90+ days.
Our list is: [describe audience — e.g., "B2B marketers at mid-market SaaS companies"]
Our content focus: [e.g., "cold email and outbound sales"]
Rules:
- Don't pretend they've been missed. Be direct: "You haven't opened in a while."
- Give them one concrete reason to stay subscribed (a specific thing coming up, a specific piece of value)
- Make the unsubscribe link easy to find — frame it as respecting their time
- Under 100 words
Personalization at scale: the variable prompt
This is the prompt I use when I need 50 emails that don't all read the same. The trick is writing one prompt that uses variables — then filling a spreadsheet with the variable values and running batch completions.
You are writing cold emails for [YOUR COMPANY] to [ICP DESCRIPTION].
For each prospect, I'll give you:
- {{first_name}}: their first name
- {{company}}: their company name
- {{trigger}}: one specific thing that makes them relevant right now
- {{pain_point}}: the specific pain point most relevant to their role
Write a cold email for each prospect using this template:
- Subject: [4-6 words referencing their trigger or pain point]
- Body: Start with a one-sentence observation about {{trigger}}. Follow with one sentence connecting it to {{pain_point}}. Follow with one sentence on what [YOUR COMPANY] does and for whom. Close with one yes/no question.
Under 80 words. No opener pleasantries.
Here are the prospects:
[LIST OR TABLE OF VALUES]
You can run this with Claude's API in batch mode, or paste a list of 5-10 at a time directly in a chat.
A/B testing prompt variants
Don't just generate one version. Get variants and test them.
Here is a cold email: [PASTE EMAIL]
Generate 3 variants:
- Variant A: rewrite the subject line only (keep body identical) — make it 30% more curiosity-driven
- Variant B: rewrite the opening sentence only — make it more specific to the recipient's role
- Variant C: rewrite the CTA only — replace the current ask with a lower-friction alternative
Label each variant clearly. Don't change anything else.
This keeps your tests clean — one variable at a time — and gives you a structured way to improve sequences over time.
The pattern across all of these: the more specific your input, the better the output. A prompt that includes your actual customer name, their actual job title, and a real trigger event produces an email that reads like you wrote it. A prompt that says "write a cold email for B2B sales" produces something that reads like AI wrote it.
Check the marketing prompt library for copy-paste versions of these prompts and more templates for social, ads, and landing pages.



