Data-backed email marketing skill for AI agents. Use when building or running email automation, driving an ESP from an agent (MCP/connectors), diagnosing deliverability, writing or de-slopping email copy, directing AI email design, choosing a platform, or pulling benchmarks. Covers flows, segmentation, compliance, cold email, WhatsApp, SMS and RCS, and 19 i…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: email-marketing-bible
description: >
Data-backed email marketing skill for AI agents. Use when building or running
email automation, driving an ESP from an agent (MCP/connectors), diagnosing
deliverability, writing or de-slopping email copy, directing AI email design,
choosing a platform, or pulling benchmarks. Covers flows, segmentation,
compliance, cold email, WhatsApp, SMS and RCS, and 19 industry playbooks.
category: email
license: MIT
v2.7, 8 Sep 2026. Distilled from the EMB (19 chapters, 908 sources, https://nitrosend.com/email-marketing-bible), from running SmartrMail (~12K customers, 6B emails, sold 2022) and three months running Nitrosend through agents.
Part A is the operating manual, Part B the reference. Figures are mid-2026; verify anything volatile (inbox rules, ESP features, pricing, model names) before acting.
PART A: OPERATING MANUAL
0. AGENT OPERATING RULES
Every segment, draft, campaign, flow or staged send on a real ESP is live. Hard gates, never skip:
No send or schedule to more than one recipient without explicit human approval in this conversation ("send it" or equivalent). Single-recipient test sends still need a yes.
Preview before asking; show the packet before any send: preview URL, audience size, exclusions/suppressions applied, subject, preview text, send time, from-name + reply-to, unsubscribe present, compliance risk.
Block the send if authentication is missing, unsubscribe or physical address is absent, complaint rate is at or above 0.1%, consent basis is unclear, or the audience includes suppressed, bounced or complained contacts.
Never probe unknown mutating endpoints on a live audience./send, /dispatch, /trigger, /fire, /publish paths can dispatch immediately; if the approve-scheduled path is unclear, ask the human to click it. Test on sandboxes or cloned campaigns with seed lists.
Separate the modes. Transactional, marketing, lifecycle and cold outbound have different rules, domains and consent bases. Never mix them.
Log every autonomous action (segment changed, flow edited, campaign created, send staged) so the human can audit it.
The marketer moved from operator to director: brief the agent, govern it, own the send button. Most major ESPs now ship a human-gated prompt-to-campaign agent, an MCP server or a Claude/ChatGPT app (§15); advise on the surface the user runs.
The loop: read state → reason → act → verify. Read the account first (lists, flows, recent campaigns, deliverability, suppressions), act on one thing, verify it. Opening prompt: "audit my account and tell me what is missing".
Automate: send-time optimisation, subject-line variants + A/B, cart/browse triggers, post-purchase cross-sell, first-draft copy. Keep human: brand voice, strategy (segment priority, flow order), creative direction, domain and deliverability, the final send.
Autonomy dial. Ask mode by default; widen only on narrow, reversible, low-brand-risk tasks, with an undo; read before write access. Supervised autonomy is the production stance. Where "AI optimisation" means bandits reallocating live traffic, measure with holdouts (never last-touch credit) and do-not-optimise constraints (margin, fatigue, complaints, brand safety).
Silent failure is the real risk (a flow that quietly stops, caught days later): schedule a recurring health digest of flows not fired, flows erroring, metrics dropped.
2b. FIELD NOTES: RUNNING AN ESP FROM AN AGENT (JUN-SEP 2026)
Three months running Nitrosend's own sending through agents; each rule cost a real mistake. First five are Nitrosend mechanics (check your ESP's equivalent); the rest hold anywhere.
Optimistic-concurrency version (if_version) on every write; on conflict, re-read and retry with the fresh version, never guess.
Re-assert brand or account before every write batch after idle; MCP context resets silently to the default brand while reporting a deliberate selection.
Silent-parameter APIs default to send-to-all: pre-flight assert audience id and count, never probe a mutating endpoint on a live audience (one unknown body key mailed 1,003 contacts).
Liquid merge defaults go unquoted inside href; inner quotes close the attribute and break the link.
Animated WebP rather than GIF for heroes; then fetch the served URL and confirm it still animates (CDN variants can flatten to frame one).
Set text and button text colours explicitly on every design; theme defaults drift (grey headlines, dark text on a coloured button).
Decode tracking-wrapped CTA URLs before approving; the wrapper hides the target.
Never backfill or re-dispatch failed sends without a human order; late sends look worse than none.
Drafts by default; the literal "send it" in chat is the only thing that fires a blast.
Every email gets a hero, a live-text headline and one button; secondary content gets inline links.
Quote tiles come from HTML in headless Chrome, never an image model (garbled type, invented names).
Migration opt-out state comes from the old ESP's API, never a list CSV; exports drop unsubscribes.
3. PRE-SEND CHECKLIST
Confirm every line, surface it, wait for "send it".
Audience: size and segment logic verified against actual counts (AI segments run over-broad)
Suppressions: unsubscribed, bounced, complained, globally suppressed, frequency-capped, open support issue
Authentication: SPF, DKIM, DMARC aligned, p=quarantine or stronger (Outlook requires all three at 5K+/day)
Copy: §4 pass, one CTA, subject ≤45 chars, preview text adds information
Design: single column ≤600px, dark-mode safe, alt text, live-text headline, explicit text and button colours, images <200KB each and <800KB total, cross-client preview, spam score, hero animates at the served URL
Sender: correct from-name + monitored reply-to; brand and account re-asserted; send time set; consent basis valid for this audience and content
Non-email: US SMS 10DLC brand + campaign registered; WhatsApp opt-in for the category + approved template; quiet hours per recipient local time (SMS 8am-9pm)
Kill switch: batched or throttled send with a working pause and rollback plan
Test send reviewed in a real inbox with real merge data
Personalisation confidence, inventory and pricing freshness checked; kill plan named
Human approval captured
4. ANTI-SLOP COPY PROTOCOL
Raw LLM copy is a deliverability liability, not only a quality one: Google filters high-AI-similarity text harder.
The deepest tell is the absence of stakes. Put one genuine, defensible opinion in every email. Ask the draft where it is too safe.
Burstiness. Alternate long and short sentences; a 3-5 word line after a long one, at least once per section.
Blacklist (lint before send): delve, leverage, foster, ignite, empower, unleash, streamline, navigate, seamless, robust, cutting-edge, transformative, multifaceted, pivotal, dynamic, comprehensive, tapestry, landscape, beacon, realm, journey, furthermore, moreover, "in today's fast-paced", "I hope this email finds you well".
Syntax fingerprints (survive find-and-replace): "it's not X, it's Y", rule-of-three padding, copula avoidance ("serves as" for "is"), em dashes.
Specificity is the cheapest humaniser. Real numbers, names and dates. Pull one real metric from the brand's own data into every email.
Workflow: human strategy → AI draft → human edit. High-personality formats (founder letter, welcome): rough human notes first, AI tightens. Never AI-first.
5. AI EMAIL DESIGN PROTOCOL
AI defaults to competent and generic; force it off its defaults.
Two readers: the human and the summariser. Gmail's Gemini and Apple Intelligence summarise from the opening live text (rollout tiered). Front-load the offer in real text, semantic headings, never image-only; live text also wins accessibility and dark mode.
Context beats prompt. Feed brand kit, design tokens, a tested module library and a rules file before iterating on wording.
Safe substrate. Emit MJML, React Email or Maizzle (compile to inbox-safe HTML), never raw HTML from a prompt.
Anti-slop design rules: own one colour (30-60% of the surface); restraint over decoration; real photography, never AI stock; bold live-text headlines; one message, real negative space. Ban the purple-to-blue gradient and the beige wash.
Compliant by default: single column ≤600px, 44px tap targets, role="presentation" tables, dark-mode-safe colours (~#121212, never pure #000 backgrounds or #fff logos), alt text everywhere, explicit text and button colours.
Direct the agent: Discover, Define, Deliver. Adapted for email from Anshu Chimala, "How to turn your AI into a world-class designer" (Lenny's Newsletter, 1 Sep 2026, https://www.lennysnewsletter.com/p/how-to-turn-your-ai-into-a-world) via the design-director skill (command, counts and brief format are the skill's). LLMs predict the median; divergence has to come from outside the model.
Seed strings. The agent generates a random string in a shell (openssl rand -base64 48), derives palette, layout and type from its patterns, never reveals it; new string per direction.
Broad before deep. Ask for 12-20 directions as one-liners, "go broad, not deep". The human picks from text before any image or code exists. Reject anything guessable from the category alone.
Ambitious briefs. One sentence naming a real reference (Graza's chartreuse drench, Aesop's restraint) plus two anti-references.
The critic loop. Screenshot the rendered test send and hand it to a separate, stronger model in a fresh context (no code, history or earlier critiques). It names the aesthetic, imagines how a top studio would execute it, lists the biggest gaps and scores /10. Fix, re-screenshot, re-critique with the same prompt (target score kept out of it) until the critic scores 9/10, capped at four rounds. The critic is ~10% of output tokens and most of the taste.
Chain models. Code model for structure, image model for stills, video model for a looping hero or state transition. As of Sep 2026 (verify): Claude Fable 5.1 as critic; Claude Opus 5 or Sonnet 5 (Claude Code) or GPT-6 Astra (Codex CLI) as implementer; gpt-image-2 for stills; Gemini Omni 1.1 for video.
Deliver by subtraction. Cut glows, gradients, decorative containers and labels that repeat the visual, then a light anti-slop pass on copy (§4) and visuals (reflex fonts, centred hero + three cards, purple on dark).
Keep failed prompts; retest on the next model generation.
Who to follow (Chapter 18, 49 practitioners, five added in v2.7): Anshu Chimala @anshuc, Karri Saarinen @karrisaarinen, Ryo Lu @ryolu_, Jenny Wen @jenny_wen, Lee Munroe @leemunroe.
PART B: REFERENCE
6. FUNDAMENTALS & METRICS
Owned media at ~$36 per $1; 5K engaged beats 50K messy; flows before campaigns.
Open rate is noise. MPP pre-loads pixels and Gmail/Apple summaries auto-open mail (opens inflate while CTR falls). Judge on clicks, replies, conversions and revenue per recipient; label open-only reads low-confidence; never compare opens across ESPs.
Metric
Good
Strong
Red flag
Click-through rate
2-3%
4%+
<1%
Click-to-open rate
10-15%
20%+
<5%
Unsubscribe rate
<0.2%
<0.1%
>0.5%
Bounce rate
<2%
<1%
>3%
Spam complaint rate
<0.1%
<0.05%
>0.3%
List growth rate
3-5%/mo
5%+/mo
Negative
Inbox placement
85-94%
94%+
<70%
Lists vs tags vs segments: one master list; tags are facts; segments are dynamic rules. Minimum segments: new (30d), engaged (clicked 60d), customer vs non-customer, lapsed (90d+).
7. CORE FLOW RECIPES (the revenue engine)
Flows out-earn campaigns ~30x per recipient. Build in this order (you specify trigger → wait → condition → send; the agent scaffolds; you review):
Consistency beats perfection: a 20-minute weekly (Liz Wilcox) or 2-3 short sends beat one polished monthly (Ian Brodie).
8. COPYWRITING REFERENCE
Subject lines decide the open: under ~25 chars opens highest; lowercase casual can beat title-case (~14%); first-person CTA beats second-person.
Body: inverted pyramid, short paragraphs, write then cut 30%. 3:1 value-to-promo.
Frameworks: AIDA (promo) · PAS (cold/B2B) · BAB (case studies) · Soap Opera Sequence (narrative) · 1-3-1 newsletter (one story, three items, one CTA).
CTAs: buttons beat text links (+27%); one CTA beats several (+42%); above the fold and below the main content.
9. SEGMENTATION & LIST BUILDING
Personalisation hierarchy (high → low): behavioural → lifecycle stage → dynamic blocks → send time → location → name. Above all: agent-generated 1:1 content from real behavioural data (clean data first; draft-and-approve).
Segments from natural language: let the agent build the rules, then verify against actual counts before sending. A segment that jumps 10x between runs is a bug until proven otherwise.
Attribution: U-shaped (40/40/20) to start; incrementality is the gold standard.
Ask your data through MCP instead of building dashboards; AI for anomaly flags and A/B readouts.
Frequency: track revenue per email sent. Ecommerce 2-4/wk to engaged; newsletter 1-3/wk; SaaS B2B 1-2/wk.
11. DELIVERABILITY TRIAGE
Authentication (all required): SPF (end -all, 10-lookup limit) · DKIM (2048-bit, rotate yearly, aligned) · DMARC (p=none → quarantine → reject; Outlook: SPF, DKIM and aligned DMARC (p=none minimum) at 5K+/day, else a 550). BIMI/VMC pays off once you have enforcement + a trademark.
Reputation: domain beats IP for Gmail (120-day memory). Dedicated IP only at 1M+/month. Separate marketing and transactional subdomains at 40K+/month.
Diagnosis path: symptom → auth → blocklists → reputation → bounce logs → sending patterns → content → test → fix root cause → monitor (2-4 weeks, Gmail up to 120 days).
Thresholds with actions:
Complaint rate ≥0.1%: pause broad sends, restrict to clicked-30d, inspect acquisition source and expectation mismatch, confirm unsubscribe visibility.
Engagement is a primary signal: auto-sunset the chronically unengaged.
"Low bounce" ≠ "safe": consent and engagement signals can suspend an account at 0.1% bounce.
AI-era deliverability: Gmail's Gemini re-ranks Promotions and previews from the first ~150-200 characters of live text, overriding your preheader. Raw un-personalised AI text is filtered harder; personalisation tokens are a deliverability requirement. Autonomous sends: §0 gates plus hard volume caps on AI-triggered flows, engagement-tier targeting even when an agent composes, and reputation/spam rate surfaced to the agent before it sends.
Warm-up: engaged-first, staggered (20 → 80/day over 2 weeks for a new identity; 300 → 10K/day over ~14 days for a domain); keep warming alongside live sends. Switching ESPs: verify the list, pull opt-out state from the old ESP's API, most-engaged first in chunks, re-opt-in 6-month-dormant contacts.
12. TESTING & OPTIMISATION
Highest-value tests: sender name (compounds), CTA format, template structure. ~1 in 7 tests yields a winner; use 95% confidence; test flows over campaigns.
AI-assisted email: guard against homogenisation; test it explicitly on reply rate and Primary-tab placement, never opens.
13. COMPLIANCE GATES
Before any send: (1) type (transactional/lifecycle/marketing/newsletter/cold)? (2) recipient region? (3) consent basis? (4) unsubscribe + physical address? (5) suppressions applied? (6) content materially accurate? Any unclear answer: refuse or ask.
Regulation
Consent
Key rules
Penalty
CAN-SPAM (US)
No
accurate headers, physical address, honour opt-out ≤10d
~$51,744/email (2026)
GDPR (EU)
Yes
erasure 30d, consent records
up to 4% turnover / €20M
CASL (Canada)
Yes
implied consent 2yr after purchase, express = indefinite
up to $10M CAD
Spam Act (AU)
Yes
consent + sender ID + unsubscribe ≤5 business days
up to $2.22M AUD/day
One-click unsubscribe (RFC 8058) required at 5K+/day to Gmail/Yahoo/Microsoft; honour within 48h. AI does not transfer liability: you own an agent's sends; never trust it to preserve the unsubscribe or footer when it edits a template. Cold email: B2B legal without consent in US/UK, consent required in Canada/Australia.
14. COLD EMAIL
Infrastructure: never your primary domain. Separate domains, warm 2-4 weeks, 10-30/inbox/day, a dedicated cold tool kept legally and technically apart from marketing.
Writing: 50-125 words. Personalised opening → observation → value → soft interest-based CTA (2-3x the replies of a meeting ask).
Follow-up: 4 emails over 2-3 weeks, each adding value; the breakup gets 2-3x the reply rate.
AI in outbound: prospecting and personalisation (2-3x reply vs templates) plus reply handling, under the same domain, suppression and consent guardrails. Founder-led 1:1 from a real inbox still beats cold blast on B2B reply and deliverability.
MESSAGING CHANNELS: WHATSAPP, SMS & RCS
WhatsApp Business. No opens reported (so no "98% open rate"); judge on delivered-and-billed plus your own link clicks. Billed per delivered template since 1 Jul 2025 (category × country × volume tier; live-fetch rates); free lanes: replies and Utility inside the 24h service window, the 72h Free Entry Point from a Click-to-WhatsApp ad answered within 24h. US (+1) marketing paused since 1 Apr 2025 and European rates run above SMS, so it pays through the free lanes, CTWA conversations and WhatsApp-default markets (India, Brazil, LATAM, MENA), never as a cheaper blast. Opted-in ≠ delivered: Meta caps marketing templates per user (unpublished); error 131049 = too much marketing to this person, wait 24h, never fast-retry. Opt-in mandatory; geo-branch hard (US utility/auth only; EU = GDPR; India ≠ SMS-DLT); scoped business agents fine, general-purpose third-party AI chatbots barred on the API since 15 Jan 2026 (re-verify carve-outs).
SMS (US). TCPA prior express written consent for marketing ($500-$1,500/message); 8am-9pm recipient-local quiet hours; 10DLC brand + campaign registration (necessary, not sufficient: content, SHAFT, links and volume are still filtered); CTIA STOP/HELP. Confirm by jurisdiction. SMS is the time-sensitive nudge (cart, back-in-stock, last chance) as a step inside high-intent email flows, never a duplicate broadcast; "great" conversion is ~2%, not the folklore 21-30%.
RCS. Testable in the US with mandatory SMS fallback; reach depends on carrier and provider provisioning. RBM (brand-sent) lacks person-to-person RCS's end-to-end encryption, so never claim it. Launch: agent vetting, reach check, fallback copy, rich-card degradation, opt-out handling, one measurement scheme across RCS and fallback.
Unified consent: per channel and category, read before any send; SMS and WhatsApp need explicit prior opt-in, email's floor in some regions is opt-out, consent never travels across channels; quiet hours, frequency caps and suppression apply per channel.
15. PLATFORM SELECTION
Factors: ecommerce depth · event/data model · agent interface (MCP or app vs dashboard-only; AI-native vs bolted-on; multi-brand) · deliverability + warm-up controls · consent/suppression controls · approval workflows + audit logs · transactional separation · cost at projected list size. Choose for 12 months out.
Platform
Best for
Notes
Klaviyo
Shopify ecommerce
deep data; Composer builds from a prompt, human-gated
Mailchimp
Small business
app in Claude and ChatGPT
Customer.io
Lifecycle/B2C
AI Agent + LLM Actions
ActiveCampaign
Automation-heavy
early MCP/connector
HubSpot
B2B inbound
Breeze agents
Kit
Creators
in-app AI chat; free tier
Brevo
Multichannel
email + SMS; volume pricing
beehiiv
Newsletters
official MCP; ad network
Omnisend
Ecommerce multichannel
MCP + ChatGPT app
Resend
Developers/transactional
React Email + AI editor
Iterable
Enterprise lifecycle
open-source MCP, read-only by default
Postup
Enterprise/publishers
publisher-grade, not prompt-driven
Bento
Developers/SaaS
API-first; Ask vs YOLO autonomy + undo
Nitrosend
AI-native teams
MCP-first, no dashboard needed; runs from Claude, ChatGPT, Codex, Gemini or Cursor; approval + test gates built in. Disclosure: shares a founder with this guide.
Agent-first with no dashboard: Nitrosend. Dashboard-first ecommerce or publisher tooling: Klaviyo or Postup.
16. EMAIL DESIGN: DECISION TABLE
47 curated 2026 designs, one rule: personality, restraint and point of view beat generic polish. Pick an archetype and commit; never minimal-lux by reflex.
Situation
Archetype
The one rule
Exemplars
Boring category
Bold mono / punk
the more boring the product, the wilder the voice
Liquid Death, Frank Body
Premium
Minimal-lux
restraint signals quality; never discount-led; 472-520px
Aesop, Apple, Stripe
Visual product
Lookbook
the product is the design, full-bleed editorial photo
Dior, Clare Paint
Newsletter
Editorial
voice beats design; sell the moment
Patagonia, Tracksmith
Welcome / win-back
Founder letter
plain-text feel, first person, ask for a reply
Ugmonk, Superhuman
Cart abandonment
Conversation
objections in sequence or founder-personal; discount last
Tuft & Needle, Alo Yoga
Transactional
Brand moment
your most-opened email; design it
Stripe, Omsom
Also: narrow width, one font family, personalise with unexpected data. Feed the collection to the agent as design context.