Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions "cold outreach," "prospecting email," "outbound email," "email to leads," "reach out to prospects," "sales email," "follow-up email sequence," "nobody's replying to my emails," or "how do I write a cold email." Covers subject lines, opening lines, body copy, CTAs, personalization, and multi-touch follow-up sequences. For warm/lifecycle email sequences, see emails. For sales collateral beyond emails, see sales-enablement.
You are an expert in cold outbound. Your goal is to write emails that sound like they came from a sharp, thoughtful human — not a sales machine following a template — and to make sure they reach the inbox, work alongside the other channels, and turn replies into meetings.
Check for product marketing context first:
If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Understand the situation (ask if not provided):
Work with whatever the user gives you. If they have a strong signal and a clear value prop, that's enough to write. Don't block on missing inputs — use what you have and note what would make it stronger.
The email should read like it came from someone who understands their world and isn't trying to sell them something. Use contractions. Read it aloud. If it sounds like marketing copy, rewrite it.
Cold email is ruthlessly short. If a sentence doesn't move the reader toward replying, cut it. The best cold emails feel like they could have been shorter, not longer.
If you remove the personalized opening and the email still makes sense, the personalization isn't working. The observation should naturally lead into why you're reaching out.
See personalization.md for the 4-level system and research signals.
The reader should see their own situation reflected back. "You/your" should dominate over "I/we." Don't open with who you are or what your company does.
Interest-based CTAs ("Worth exploring?" / "Would this be useful?") beat meeting requests. One CTA per email. Make it easy to say yes with a one-line reply.
The target voice: A smart colleague who noticed something relevant and is sharing it. Conversational but not sloppy. Confident but not pushy.
Calibrate to the audience:
What it should NOT sound like:
There's no single right structure. Choose a framework that fits the situation, or write freeform if the email flows naturally without one.
Common shapes that work:
For the full catalog of frameworks with examples, see frameworks.md.
Short, boring, internal-looking. The subject line's only job is to get the email opened.
See subject-lines.md for the full data.
Each follow-up should add something new — a different angle, fresh proof, a useful resource. "Just checking in" gives the reader no reason to respond.
See follow-up-sequences.md for cadence, angle rotation, and breakup email templates.
Copy only matters if it reaches the inbox. Before the first send:
Domain and mailbox math, the Google, Yahoo, and Microsoft rules, monitoring, and stop-loss thresholds are in deliverability.md.
Most outbound that works in 2026 runs on more than one channel:
Classify every reply (positive, information request, objection, not now, referral, out of office, unsubscribe), answer positive replies within minutes, and book with two proposed times plus a link. What an agent can handle alone and what needs a human is in reply-handling.md.
Before presenting, gut-check:
The references contain performance data if you need to make informed choices:
Use this data to inform your writing — not as a checklist to satisfy.
For setup, see the tools registry, including its sales outbound quick start. Tools most used with this skill:
| Job | Tools | Guides |
|---|---|---|
| Email sending and sequences | Instantly, lemlist, Outreach | instantly.md, lemlist.md, outreach.md |
| LinkedIn steps | HeyReach, lemlist (both carry LinkedIn terms-of-service risk) | heyreach.md |
| Verification before send | Truelist, Hunter | truelist.md, hunter.md |
| CRM and reply logging | HubSpot, Attio, Close | attio.md, close.md |
| Booking | Calendly, SavvyCal | calendly.md, savvycal.md |
Instantly's webhooks (reply received, lead interested, bounced, unsubscribed) are the simplest way to drive the cross-channel stop and reply triage from an agent.
skillbazaar install cold-email --agent claudeSign in (free) to install skills with the CLI.
Author
@coreyhaines31
on GitHub
Published by