Build Guide

Claude Code Cold Email Sequence Generator

A skill that turns your ICP plus a value prop into a ready-to-send sequence.

Claude Code Cold Email Sequence Generator
Claude Code Cold Email Sequence Generator

What the Generator Replaces

Most outbound sequences get written one of three ways. An SDR drafts from memory and intuition. A senior leader writes a template and the team copies it. ChatGPT writes a generic version that someone tries to personalize. All three produce inconsistent quality, drift from your team's voice over months, and skip the deliverability check.

A Claude Code sequence generator skill produces a sequence in 30 seconds that hits your team's voice (from CLAUDE.md), passes your deliverability rules (from a JSON config), and outputs in the format your sequencer expects. The first version is good enough for review. The third version after a few iterations is good enough to ship.

For broader context on Claude Code skills, see Claude Code Skills for GTM Engineers.

Step 1: Set Up the Skill

Create the skill directory:

mkdir -p ~/.claude/skills/generate-sequence && cd ~/.claude/skills/generate-sequence

Create SKILL.md with the frontmatter:

---

name: generate-sequence

description: Use when the user says "generate sequence for [ICP/persona]", "/generate-sequence", "write outbound for [segment]", or "draft a 5-touch sequence". Produces a 5-touch cold email sequence with subject lines, bodies, timing, deliverability checks, and Smartlead/Instantly-ready format.

---

Step 2: Define the Inputs

The skill needs three inputs from the user, with sensible defaults if missing.

ICP segment. The persona and industry. Default to the primary ICP in CLAUDE.md if the user doesn't specify.

Value proposition. One sentence on what you're selling. Default to the company's primary value prop in CLAUDE.md.

Touch count. Default to 5 touches. Allow 3 to 8.

Optional: signal context (recent funding, hiring signal, tech change) for the first touch personalization.

Step 3: Write the Generation Logic

The skill's steps:

1. Read CLAUDE.md for voice rules, banned words, ICP context, and value prop.

2. Read the deliverability rules from ~/.claude/skills/generate-sequence/deliverability.json.

3. Generate touch 1: under 125 words, one CTA, one link maximum, signal-based personalization if provided.

4. Generate touch 2 (3-4 days later): under 75 words, references touch 1 briefly, different angle.

5. Generate touch 3 (5 days after touch 2): under 50 words, soft CTA, social proof element.

6. Generate touch 4 (7 days after touch 3): under 50 words, value-add angle (case study, resource).

7. Generate touch 5 (10 days after touch 4): under 30 words, breakup email pattern.

8. Run each generated email through the deliverability checker. Flag any violations.

9. Format output for the user's sequencer (default: Smartlead JSON, with Instantly and Lemlist as alternatives).

Step 4: The Deliverability Checker

Store the rules in deliverability.json:

max_word_count. 125 for touch 1, 75 for touch 2, 50 for touches 3-4, 30 for touch 5.

max_links. 1 per email.

banned_phrases. A list of spam-trigger words. Common ones: "act now", "limited time", "free trial", "click here", "best deal", "guaranteed", and ALL CAPS subject lines.

max_image_ratio. 0% for first touch (no images at all). Images are reputation hits for cold senders.

require_unsubscribe. True. Every email must include an unsubscribe footer for CAN-SPAM compliance.

The skill checks each generated email against these rules and either rewrites or flags. The cold email deliverability guide covers the underlying rationale for each rule.

Step 5: Write the Output Format Section

The default format is Smartlead JSON. Each touch as an object with:

subject_line (string), body (string), delay_days (integer from previous touch), is_followup (boolean).

Include a metadata block with: generated_at (timestamp), icp_segment (string), value_prop (string), deliverability_check_passed (boolean), violations (array if any).

If the user requests Instantly or Lemlist format, the skill outputs in those formats instead. Each sequencer has a slightly different schema. The skill encapsulates the differences so the user doesn't reformat.

Step 6: Add the Guardrails

The skill does NOT: send emails (it drafts only). Push directly to the sequencer's live campaigns without a paused state. Use any banned phrases from CLAUDE.md or deliverability.json. Use the prospect's first name in the subject line (this is a deliverability hit in 2026). Reference confidential information from your CRM in the email body.

If the user requests any of these, decline and explain why.

Step 7: Include Example Sequences

Add two or three full example sequences to the skill file. Real ICP segments, real value props, real touch sequences your team has shipped and seen positive reply rates on.

The model uses these for calibration. Generic example sequences produce generic output. Specific examples from your actual outbound produce output that matches your voice.

Step 8: Test on Five ICP Segments

Run the skill on five different ICP segments. Read each sequence as if you were the prospect. Score each on three dimensions.

Voice match. Does this sound like your team's outbound? Or does it sound like AI-generated cold email?

Substance. Does the value prop come through clearly? Is there a specific reason this prospect should care?

Deliverability. Does each email pass your rules? Would it land in the inbox or the spam folder?

For misses, fix the prompt or the examples. Don't hand-rewrite the bad sequence. The fix needs to be in the system so the next run produces correctly.

Step 9: Ship to the Team

Move the skill to your team's shared skills repo. Each SDR clones it locally. Updates flow through PRs.

Track outcomes from sequences generated by the skill. Reply rate, positive reply rate, bounce rate, unsubscribe rate. If any metric drifts from your baseline by more than 20%, investigate the skill before launching the next sequence.

For broader build patterns, see the sales agent guide. For deliverability deep dive, see cold email deliverability. For sequence templates by persona, see outbound sequence templates 2026.

Authoritative References

For the Claude Code skills format, see Anthropic's skills documentation. For CAN-SPAM compliance rules, see the FTC compliance guide.

Frequently Asked Questions

What does a Claude Code cold email sequence generator do?

Given an ICP segment, a value proposition, and a persona, the generator produces a 5-touch outbound sequence: subject lines, bodies, timing intervals, and a call-to-action progression. Output is structured for direct paste into Smartlead, Instantly, or Lemlist. The generator pulls voice guidance from your CLAUDE.md, checks each email against deliverability rules (length, links, spam-trigger words), and flags any touches that need rewriting.

How is this different from ChatGPT writing a sequence?

Three differences. The generator loads your team's voice rules and ICP context automatically from CLAUDE.md, so output stays consistent across SDRs. It runs deliverability checks (length, link count, spam-trigger words, image-to-text ratio) and surfaces violations. It outputs in the exact format your sequencer expects, eliminating the manual reformatting step. ChatGPT can write a sequence but you copy-paste, lose context across runs, and skip the deliverability gate.

Can the generator personalize based on individual prospect data?

Yes, if you wire it to your enrichment vendor. The generator can take a prospect's title, company, recent funding, or hiring signal as input and weave that into the first touch. Touches 2 through 5 typically stay templated because per-prospect customization at high volume blows up your model spend without improving reply rate meaningfully. Most teams personalize only the first touch and use signal-based personalization (recent funding, tech stack) rather than name-based personalization.

What deliverability rules does the generator check?

Five common ones. Body length under 125 words for first touches (shorter often performs better). No more than one link per email. No banned spam-trigger words from your team's banned list. No tracking pixels or images in the first touch. No reply-to-the-sender language in the first 24 hours. The exact rules live in a JSON file the skill loads. Teams adjust them based on their sender reputation and deliverability data.

Should I use the generator to write outbound that sends without human review?

Not initially. The generator drafts, you approve, the sequencer sends. Once a specific message type proves out over several hundred sends with clean reply rates, you can widen autonomy on that template. The first touch always stays gated because it carries the highest reputation risk. Follow-ups can move to auto-send first because the reputation hit of a bad follow-up is smaller than a bad first touch.

Source: State of GTM Engineering Report 2026 (n=228). Salary data combines survey responses from 228 GTM Engineers across 32 countries with analysis of 3,342 job postings.

Get the Weekly Pulse

Salary shifts, tool intel, and job market data for GTM Engineers. Weekly playbooks for outbound automation with Claude Code.