Cold email has a bad name because most of it is bad: a template, a merge field, and a link to book a call with someone you've never heard of. Done properly it's just a short, relevant note to a stranger who might want what you have. Those get replies.
"Properly" has two halves. The first is the email: researched, short, true. The second is the plumbing and the rules: inbox providers will quietly bin you if your domain isn't set up, and the law has opinions too. This post covers both, then shows a Claude Code skill that drafts each email while you stay the one who sends it.
If you haven't worked out who to email yet, start with Find your first ten customers.
Research first, write second
Pick a small list. Twenty people you've actually looked into beat five hundred you haven't. For each person, write a short note with three things:
- What they do, in your own words.
- Something specific and public they've done recently: a post, a talk, a launch, a job ad, a change on their website. Save the link.
- A problem you think they have that you can help with, and why you think so.
If you can't fill in point 3, don't email them. That's the whole filter.
Use what people have published about their work. Don't scrape private data, and don't buy lists. Google's sender guidelines say it plainly: don't send messages to people who didn't sign up, and don't purchase addresses. Cold email lives in tension with that first rule, which is exactly why yours has to be low volume and genuinely relevant.
A short email structure
Four parts, ideally under about 120 words (a target, not a rule):
- One line about them. True, specific, linked to your research.
- The problem you think they have. Phrased as a guess, because it is one.
- What you do about it, with one piece of proof if you have it.
- One easy ask. A yes/no question beats "15 minutes this week?"
Then a plain sign-off with your name, your business, a postal address, and a line telling them how to opt out.
The subject line should be boring and accurate: two to five words about their thing, not yours. Never fake a "Re:" or "Fwd:"; the FTC lists misleading subject lines as a CAN-SPAM violation, and it burns trust in one glance.
Here's an example. The person and product are made up:
Subject: Your onboarding emails
Hi Priya,
Saw your post about trial users going quiet after day two. I build
onboarding email sequences for small SaaS teams, and day two is usually
where the welcome email stops and nothing replaces it.
I wrote up the three-email pattern I use. Want me to send it over?
No call needed.
Sam Lee, Lee Lifecycle
123 Example St, Springfield, IL 62701
Not useful? Reply "no thanks" and I won't email again.
No images, no tracking pixel, no attachment, one link at most. It reads like a person because it is one.
Personalization that's true
The rule: every personal line must point to something you could show them. If you write "loved your talk", you watched the talk. If you say "noticed you're hiring", the job ad exists and you read it.
This matters more once AI is drafting. A model will happily write "I've been following your work for a while" about someone you found ten minutes ago. That's not personalization, it's a small lie, and recipients can tell. The skill below is built to make that impossible: every personal line must quote a source from your research notes.
Deliverability basics
Three DNS records prove an email really came from your domain. Your email provider will give you the exact values to add:
- SPF: a list of the servers allowed to send mail for your domain.
- DKIM: a digital signature on each message, checked against a public key in your DNS.
- DMARC: a policy that tells inboxes what to do when SPF or DKIM fails, and where to send reports.
Here's what Gmail and Yahoo currently require:
| All senders | Bulk senders (Gmail: 5,000+ a day to Gmail) | |
|---|---|---|
| Authentication | SPF or DKIM | SPF and DKIM |
| DMARC | Recommended | Required; a policy of p=none is accepted |
| Alignment | From domain must align with SPF or DKIM | |
| Unsubscribe | One-click unsubscribe on marketing and subscribed mail | |
| Spam rate | Below 0.3% | Below 0.3% |
Google recommends keeping your spam rate below 0.1% and never reaching 0.3%. You can watch it in Google's free Postmaster Tools. Yahoo asks bulk senders to honor unsubscribes within 2 days, and Google recommends 48 hours. One detail people miss: Gmail says once you've hit the bulk threshold, you're treated as a bulk sender permanently.
A hand-sent cold campaign shouldn't be anywhere near 5,000 a day. Set up all three records anyway. It's an afternoon of work and it's the difference between "inbox" and "never seen".
Sending volume for a new domain
Google's advice for anyone increasing volume: start low, send to engaged people first, increase slowly, and avoid sudden spikes. Nobody publishes an official schedule, so here's a cautious example ramp for a brand-new domain:
| Week | Example emails per day |
|---|---|
| 1 | 5 to 10, mostly to people who know you |
| 2 | 10 to 20 |
| 3 | 20 to 30 |
| 4+ | Hold steady unless replies are healthy and complaints are zero |
Send from a real mailbox, by hand or with spacing, during working hours. If people mark you as spam, stop and fix the targeting before you send more.
The law, briefly
This isn't legal advice, and rules differ by country. The basics:
United States (CAN-SPAM). It covers commercial email, and the FTC says it makes no exception for business-to-business email. You need honest header and subject lines, a valid postal address, a clear way to opt out, and you must honor opt-outs within 10 business days. A reply is an acceptable opt-out route. Penalties can reach $53,088 per email.
EU and UK (GDPR, plus local e-marketing rules). GDPR's Recital 47 says direct marketing may be a legitimate interest, but people can object at any time and you must then stop (Article 21). You also have to tell people about that right clearly, and say where you got their details, at the latest in your first message (Article 14). A short line covers the basics, such as "I found your address on your company's team page; reply 'stop' and I'll delete it," with a link to a privacy notice for the rest. In the UK, the ICO says you can email corporate bodies without prior consent, but sole traders and some partnerships count as individuals and need consent. EU countries set their own e-marketing rules, so check the rules where your recipient is.
Practical version: target businesses, keep it relevant, include your address and an opt-out line, and keep a do-not-contact list that you actually check.
Follow-ups and silence
Silence isn't always a no; people are busy. One follow-up is fair; a sequence of five is how you end up in the spam folder.
- Wait about a week, then reply in the same thread so they have context.
- Add something new: the resource you offered, a short example, a sharper version of the question. "Just bumping this" adds nothing.
- Make "no" easy: "If this isn't a priority, no problem, I won't follow up again."
- Then stop. No reply after one follow-up is an answer. Mark them in your tracker and move on.
Track replies by the kind of opening line you used and where you found the person. After a few dozen emails, the "no thanks" replies teach you more than the yeses: they show you who isn't your customer.
A skill that drafts, a human that sends
A skill is a set of instructions Claude Code runs when you call it (see Skills are the new SOPs for the basics). This one reads a research note and writes a draft. It never sends anything.
First, one note per prospect, written by you:
# Priya Shah, Head of Growth, Example SaaS
## What they do
B2B scheduling tool for clinics. Small team, recently raised.
## Public things (with links)
- Post on trial users going quiet after day two: https://example.com/post
- Job ad for a lifecycle marketer: https://example.com/jobs
## Problem I think they have
Trial-to-paid drop-off in the first week. They're hiring for it,
so it's a priority.
## My proof
Built onboarding sequences for two scheduling tools.
Then the skill:
---
name: cold-email
description: Drafts one short cold email from a prospect research note. Use when asked to draft outreach for a specific prospect.
argument-hint: [prospect-note-file]
disable-model-invocation: true
---
# Draft a cold email
Prospect note: $ARGUMENTS
1. Read the prospect note. Read do-not-contact.md. If the person or their
company is listed, stop and say so.
2. If the note has no public source links or no clear problem, stop and
say what research is missing. Do not draft.
3. Write one email:
- Subject: 2 to 5 plain words. No clickbait, no "Re:" or "Fwd:".
- Line 1: one true, specific observation. It must come from a link
in the note. Never claim to follow, know or admire them.
- Line 2: the problem, phrased as a guess.
- Line 3: what I do about it, using only the proof in the note.
- One yes/no question. No meeting links.
- Under 120 words before the sign-off.
- Sign-off from signature.md, which includes my postal address and
opt-out line. Never remove them.
- If the note says the person is in the EU or UK, add one line saying
where I found their details and that they can ask me to delete them.
4. Save to outreach/drafts/<prospect file name>.md
5. Under the draft, list each personal claim next to the link that supports it.
Never send, schedule or queue email. Drafts only.
Run it with /cold-email prospects/priya-shah.md, read the draft and the claim list, edit it until it sounds like you, then send it yourself from your own mail client. When someone replies "no thanks", add them to do-not-contact.md the same day.
That last step is the one that keeps you out of trouble. The skill makes good emails faster. Only you can make sure they go to the right people.
Sources
- Email sender guidelines (Gmail Help)
- Email sender guidelines FAQ (Gmail Help)
- Sender Best Practices (Yahoo Sender Hub)
- CAN-SPAM Act: A Compliance Guide for Business (FTC)
- Electronic mail marketing (ICO)
- Art. 14 GDPR, Art. 21 GDPR and Recital 47 (gdpr-info.eu)
- Extend Claude with skills (Claude Code docs)
