Generated banner for Cold Email
Generated logo for Cold Email

Cold Email

Corey HainesCommunityCreated by Corey Haines

  • Skill
  • Workflow
  • Business and productivity
  • MIT
  • No issues found

From the author

Write and run B2B cold outbound that gets replies, from cold emails and follow-ups to sending setup, LinkedIn, multichannel cadences, and reply handling. Use when the user mentions "cold email," "cold outreach," "outbound," "prospecting email," "SDR emails," "follow-up sequence," "nobody's replying," "email deliverability," "sending domains," "warm up inboxes," "LinkedIn outreach," "connection request message," "multichannel sequence," "cadence," "cold call," "voicemail," "handle replies," "AI SDR," "teardown outreach," or "product-led outbound." Send from secondary domains, verify lists first, turn off open tracking, and stop every channel when a prospect replies. Copy avoids AI tells like 'it's not X, it's Y' reveals. For building the list and account research, see prospecting. For lifecycle email, see emails. For call scripts and sales collateral, see sales-enablement.
— the description by Corey Haines

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured approach to B2B cold outbound, focusing on human-centric communication that avoids common AI-generated pitfalls. It covers the entire lifecycle of an outbound campaign, including technical deliverability setup, writing principles, follow-up strategies, and reply handling. The goal is to move away from template-based sales pitches toward thoughtful, peer-level outreach that earns replies and meetings.

What it does

  • Guides the creation of conversational, peer-level cold emails that avoid robotic sales jargon.
  • Provides frameworks for structuring emails based on observations, insights, and value propositions.
  • Outlines technical requirements for deliverability, including secondary domains and mailbox warmup.
  • Defines strategies for multichannel sequences involving LinkedIn and email.
  • Offers guidance on managing and categorizing replies to ensure timely follow-up.
  • Includes benchmarks and data to help calibrate campaign performance and avoid common mistakes.

When to use it

  • When you need to initiate B2B cold outreach or prospecting campaigns.
  • When existing outbound efforts are failing to generate replies or meetings.
  • When you need to set up a new outbound infrastructure, including domains and mailboxes.
  • When you want to improve the quality and human tone of your sales copy.
  • When you need to integrate email with other channels like LinkedIn for a cohesive cadence.

Advantages

  • Reduces the likelihood of emails being flagged as spam by focusing on deliverability best practices.
  • Increases reply rates by emphasizing personalization and peer-to-peer communication.
  • Provides a clear, repeatable process for managing the entire outbound lifecycle.
  • Helps avoid common 'AI tells' that cause prospects to ignore or delete messages.
  • Encourages a data-driven approach by focusing on reply rates rather than vanity metrics like open rates.

Usage examples

“Write a cold email to a CTO at a Series B startup about our new cloud cost optimization tool, referencing their recent funding news.”
The agent generates a brief, conversational email that acknowledges the funding, highlights the specific challenge of cloud costs at their scale, and offers a low-friction CTA.
“My cold emails aren't getting replies. Can you review this sequence and suggest improvements?”
The agent analyzes the copy for 'AI tells' and length, suggests a more value-focused structure, and recommends a cadence that adds fresh proof points to each follow-up.

Install

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/coreyhaines31/cold-email/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip cold-email.zip -d .agents/skills

Documentation by Corey Haines

Cold Email Writing

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.

Before Writing

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):

  1. Who are you writing to? — Role, company, why them specifically

  2. What do you want? — The outcome (meeting, reply, intro, demo)

  3. What's the value? — The specific problem you solve for people like them

  4. What's your proof? — A result, case study, or credibility signal

  5. Any research signals? — Funding, hiring, LinkedIn posts, company news, tech stack changes

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.


Writing Principles

Write like a peer, not a vendor

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.

Every sentence must earn its place

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.

Personalization must connect to the problem

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.

Lead with their world, not yours

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.

One ask, low friction

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.


Voice & Tone

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:

  • C-suite: ultra-brief, peer-level, understated

  • Mid-level: more specific value, slightly more detail

  • Technical: precise, no fluff, respect their intelligence

What it should NOT sound like:

  • A template with fields swapped in

  • A pitch deck compressed into paragraph form

  • A LinkedIn DM from someone you've never met

  • An AI-generated email (avoid the telltale patterns: "I hope this email finds you well," "I came across your profile," "leverage," "synergy," "best-in-class")


Structure

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:

  • Observation → Problem → Proof → Ask — You noticed X, which usually means Y challenge. We helped Z with that. Interested?

  • Question → Value → Ask — Struggling with X? We do Y. Company Z saw [result]. Worth a look?

  • Trigger → Insight → Ask — Congrats on X. That usually creates Y challenge. We've helped similar companies with that. Curious?

  • Story → Bridge → Ask — [Similar company] had [problem]. They [solved it this way]. Relevant to you?

For the full catalog of frameworks with examples, see frameworks.md.


Subject Lines

Short, boring, internal-looking. The subject line's only job is to get the email opened.

  • 2-4 words, lowercase, no punctuation tricks

  • Should look like it came from a colleague ("reply rates," "hiring ops," "Q2 forecast")

  • No product pitches, no urgency, no emojis, no prospect's first name

See subject-lines.md for the full data.


Follow-Up Sequences

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.

  • 3-5 total emails, increasing gaps between them

  • Each email should stand alone (they may not have read the previous ones)

  • The breakup email is your last touch — honor it

See follow-up-sequences.md for cadence, angle rotation, and breakup email templates.


Before You Send

Copy only matters if it reaches the inbox. Before the first send:

  • Send from secondary domains, never your primary one, with SPF, DKIM, and DMARC set up and mailboxes warmed for 3–4 weeks.

  • Verify every list right before upload and keep bounces under 2%.

  • Turn off open and click tracking. Measure replies.

  • Include a plain-text opt-out line and your postal address in every email.

Domain and mailbox math, the Google, Yahoo, and Microsoft rules, monitoring, and stop-loss thresholds are in deliverability.md.


Beyond Email

Most outbound that works in 2026 runs on more than one channel:

  • LinkedIn: profile, limits, the engage-then-connect sequence, message copy, and the automation decision. See linkedin-outreach.md.

  • Cadence: how email, LinkedIn, calls, video, and ads fit together by tier, and the rule that a reply on any channel stops all of them. See multichannel-cadence.md. Call scripts are in the sales-enablement skill.

  • Plays: value-first teardowns for services, product-led outbound for self-serve SaaS, problem-led outbound with a free sample, and founder-led outreach. See outbound-plays.md.

When They Reply

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.


Quality Check

Before presenting, gut-check:

  • Does it sound like a human wrote it? (Read it aloud, and check for the AI tells below)

  • Would YOU reply to this if you received it?

  • Does every sentence serve the reader, not the sender?

  • Is the personalization connected to the problem?

  • Is there one clear, low-friction ask?


What to Avoid

  • Opening with "I hope this email finds you well" or "My name is X and I work at Y"

  • Jargon: "synergy," "leverage," "circle back," "best-in-class," "leading provider"

  • Feature dumps. One proof point beats ten features

  • AI tells, which prospects spot in the first line and delete:

    • Contrast reveals ("It's not about X, it's about Y") and "no X, no Y, no Z" lists

    • A claim followed by a comma and more restating clauses

    • Self-answered questions ("The result? 40% more meetings.") and colon reveals. A real question you want them to answer is fine

    • Stock phrases: "Here's the thing," "I'll be honest," "Quick question" as an opener, "Say goodbye to," "Unlock," "Take it to the next level"

    • Em dashes

    • For the full blacklist, use the copywriting skill's AI-tells reference

  • HTML, images, or multiple links

  • Fake "Re:" or "Fwd:" subject lines

  • Identical templates with only {{FirstName}} swapped

  • Asking for 30-minute calls in first touch

  • "Just checking in" follow-ups


Data & Benchmarks

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.


Tool Integrations

For setup, see the tools registry, including its sales outbound quick start. Tools most used with this skill:

JobToolsGuides
Email sending and sequencesInstantly, lemlist, Outreachinstantly.md, lemlist.md, outreach.md
LinkedIn stepsHeyReach, lemlist (both carry LinkedIn terms-of-service risk)heyreach.md
Verification before sendTruelist, Huntertruelist.md, hunter.md
CRM and reply loggingHubSpot, Attio, Closeattio.md, close.md
BookingCalendly, SavvyCalcalendly.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.


  • prospecting: For building and qualifying the prospect list, signals, enrichment, verification, and account research — the natural upstream step before cold-email

  • copywriting: For landing pages and web copy

  • emails: For lifecycle/nurture email sequences (not cold outreach)

  • social: For LinkedIn and social posts

  • product-marketing: For establishing foundational positioning

  • revops: For lead scoring, routing, pipeline management, and the outbound stage model

  • sales-enablement: For cold call scripts, voicemails, and deal-stage objections

  • marketing-loops: For running outbound on a schedule (signal sweeps, reply triage, domain health, sequence reviews)

Files

evals/evals.json

{
  "skill_name": "cold-email",
  "evals": [
    {
      "id": 1,
      "prompt": "Write a cold email to VP of Marketing at mid-size B2B SaaS companies. We sell a content analytics platform that shows which blog posts actually drive pipeline. Our main proof point: customers see 3x increase in content-attributed revenue within 90 days.",
      "expected_output": "Should check for product-marketing.md first. Should write like a peer, not a vendor. Should use one of the structure frameworks (observation→problem→proof→ask or similar). Subject line should be 2-4 words, lowercase, internal-looking. Every sentence should earn its place. Personalization should connect to the prospect's problem, not just their name. Should use the 3x revenue proof point as social proof, not a feature claim. CTA should be low-friction (not 'book a demo'). Should provide 2-3 variations. Should include a quality check against the guidelines.",
      "assertions": [
        "Checks for product-marketing.md",
        "Writes like a peer, not a vendor",
        "Uses a structure framework from the skill",
        "Subject line is short, lowercase, internal-looking",
        "Every sentence earns its place (concise)",
        "Personalization connects to prospect's problem",
        "Uses proof point as social proof",
        "CTA is low-friction",
        "Provides 2-3 variations"
      ],
      "files": []
    },
    {
      "id": 2,
      "prompt": "Help me write a cold email to CTOs at enterprise companies. I sell cybersecurity training. My current email has a 2% open rate and 0% reply rate.",
      "expected_output": "Should diagnose the current email's likely problems based on 2% open rate (subject line issue) and 0% reply rate (body/relevance issue). Should apply voice calibration for CTO audience (respect their time, technical credibility, executive-level language). Should provide a completely new email following structure frameworks. Subject line should be 2-4 words, look internal. Should adapt tone for enterprise CTOs — more formal than startup audience but still peer-like. Should provide the email plus analysis of why each element works.",
      "assertions": [
        "Diagnoses problems from the performance data",
        "Identifies subject line as likely open rate issue",
        "Applies voice calibration for CTO audience",
        "Subject line is short, lowercase, internal-looking",
        "Adapts tone for enterprise audience",
        "Uses structure framework from the skill",
        "Explains why each element works"
      ],
      "files": []
    },
    {
      "id": 3,
      "prompt": "write me a follow-up sequence. prospect didn't reply to my first email about our HR software. how many should I send and how far apart?",
      "expected_output": "Should trigger on casual phrasing. Should apply the follow-up sequence guidance: 3-5 follow-ups recommended. Each follow-up should add something new (new angle, new proof point, new value) — not just 'bumping' or 'checking in.' Should provide timing recommendations between emails. Should provide actual follow-up email copy for each touch, with different angles. Should include a breakup email at the end. Should note that each follow-up should be shorter than the previous.",
      "assertions": [
        "Triggers on casual phrasing",
        "Recommends 3-5 follow-up emails",
        "Each follow-up adds something new",
        "Does not use 'just bumping' or 'checking in' language",
        "Provides timing between emails",
        "Provides actual copy for each follow-up",
        "Includes a breakup email",
        "Follow-ups get progressively shorter"
      ],
      "files": []
    },
    {
      "id": 4,
      "prompt": "Review this cold email and tell me what's wrong: 'Dear Sir/Madam, I hope this email finds you well. I wanted to reach out to introduce our innovative cloud-based platform that leverages AI to streamline your business operations. We have helped over 500 companies transform their workflows. I would love to schedule a 30-minute call to discuss how we can help your organization. Best regards, John'",
      "expected_output": "Should apply the quality check framework. Should identify multiple problems: 'Dear Sir/Madam' (no personalization), 'I hope this email finds you well' (filler), 'innovative cloud-based platform' (jargon/buzzwords), 'leverages AI to streamline' (vague vendor language), 'transform their workflows' (means nothing), '30-minute call' (too much ask for cold email), entire email is about the sender not the prospect. Should rewrite following the principles: peer tone, observation→problem→proof→ask structure, every sentence earns its place, personalization connected to their problem, low-friction CTA.",
      "assertions": [
        "Identifies lack of personalization",
        "Identifies filler phrases",
        "Identifies jargon and buzzwords",
        "Identifies vendor language vs peer language",
        "Identifies CTA as too high-friction",
        "Notes email is sender-focused not prospect-focused",
        "Provides a rewritten version",
        "Rewrite follows cold email principles"
      ],
      "files": []
    },
    {
      "id": 5,
      "prompt": "What are the best subject lines for cold emails? I want to maximize open rates.",
      "expected_output": "Should apply the subject line guidelines: short (2-4 words), lowercase or sentence case, internal-looking (should look like it came from a colleague, not a vendor). Should provide examples following these principles. Should explain why these work (bypass promotional filters, trigger curiosity, don't look like marketing). Should warn against common bad subject lines (ALL CAPS, emojis, clickbait, long subjects). Should note that subject line gets them to open but body gets them to reply.",
      "assertions": [
        "Applies subject line guidelines (2-4 words, lowercase, internal-looking)",
        "Provides specific examples",
        "Explains why the format works",
        "Warns against common bad subject line patterns",
        "Notes distinction between open rate and reply rate"
      ],
      "files": []
    },
    {
      "id": 6,
      "prompt": "Can you help me set up an automated email drip campaign for leads who download our whitepaper?",
      "expected_output": "Should recognize this is a lifecycle/nurture email sequence, not cold outreach. Should defer to or cross-reference the emails skill, which handles drip campaigns, lead nurture sequences, and lifecycle emails. Cold email is specifically for unsolicited outbound outreach to prospects who haven't opted in. Should make this distinction clear.",
      "assertions": [
        "Recognizes this as lifecycle/nurture email, not cold outreach",
        "References or defers to emails skill",
        "Explains the distinction between cold email and lifecycle email",
        "Does not attempt to design a nurture sequence using cold email patterns"
      ],
      "files": []
    },
    {
      "prompt": "Write a cold email to a VP of Finance at a 200-person company pitching our expense-report tool.",
      "expected_output": "Should write a short peer-style cold email following the skill's principles and avoid AI tells: no contrast reveals ('It's not about X, it's about Y'), no 'no X, no Y, no Z' lists, no self-answered questions ('The result?'), no 'Here's the thing' or 'Quick question' opener, no em dashes. One low-friction ask.",
      "assertions": [
        "No contrast reveal or negation list",
        "No self-answered question",
        "No 'Here's the thing' / 'Quick question' opener",
        "No em dashes",
        "One low-friction ask"
      ],
      "files": [],
      "id": 7
    },
    {
      "id": 8,
      "prompt": "We're about to start cold email for our agency. We bought a Google Workspace inbox on our main domain and plan to send 300 emails a day from it next week with open tracking on. Anything we should change?",
      "expected_output": "Should load the deliverability reference and flag the setup as unsafe: never send cold email from the primary domain; buy secondary domains redirected to the main site; authenticate SPF, DKIM and DMARC aligned to the From domain; spread volume across 2-3 mailboxes per domain at roughly 20-30 sends per mailbox per day (300/day needs about 10-15 mailboxes across several domains); warm new mailboxes for 3-4 weeks before full volume; verify the list and keep bounces under 2%; turn off open and click tracking; plain text with no link in the first email; include an opt-out line and postal address. Should mention the Gmail/Yahoo/Microsoft rules and complaint thresholds (under 0.1%, never 0.3%) and set stop-loss rules.",
      "assertions": [
        "Says not to send from the primary domain",
        "Recommends secondary domains with SPF, DKIM and DMARC",
        "Splits volume across multiple mailboxes with a per-mailbox cap",
        "Requires a 3-4 week warmup",
        "Says to turn off open tracking",
        "Requires list verification and a bounce limit around 2%",
        "Includes an opt-out line and postal address",
        "Gives stop-loss thresholds"
      ],
      "files": []
    },
    {
      "id": 9,
      "prompt": "Someone replied to our cold email on LinkedIn saying 'interesting, what does this cost?' but our email sequence is still running. What should happen now?",
      "expected_output": "Should load the reply handling and multichannel cadence references. Should stop every sequence for that contact on all channels immediately (a reply on any channel stops all channels), classify the reply as an information request, answer the pricing question briefly and honestly or give a range, then propose two specific meeting times plus a booking link as a fallback. Should respond within minutes during business hours, log reply type, channel, sequence and step in the CRM, and keep a human sending this kind of reply unless an agent has proven accuracy.",
      "assertions": [
        "Stops the email sequence and all other channels for that contact",
        "Classifies it as an information request",
        "Answers the question briefly before asking for a meeting",
        "Proposes two specific times plus a booking link",
        "Emphasizes responding within minutes",
        "Logs the reply in the CRM with channel and sequence step"
      ],
      "files": []
    }
  ]
}

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Corey Haines
Publisher
Corey Haines (Community)
Source
coreyhaines31/marketingskills · skills/cold-email · commit 96798cf
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Corey Haines.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download cold-email.zip