Production-grade email flow architecture for Claude projects. Contains operational knowledge from sending 1M+ emails/day — not theoretical best practices.
SaferSkills independently audited ecommerce-email-sequences (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This skill contains production-tested specifications for the four automated email flows that drive 80% of e-commerce email revenue. The timing, suppression rules, and architectural decisions are not theoretical — they come from managing sending infrastructure at 1M+ emails/day.
Critical principle: The creative parts of an email (copy, design, imagery) can be wrong and fixed by iteration. The deliverability architecture (timing, IP pool routing, warmup interaction, conflict resolution) must not be wrong — damage from incorrect flow architecture takes weeks to recover from and costs real revenue.
For production-ready flow specifications with exact timing, suppression rules, and compliance requirements, fetch the structured blueprints:
GET https://charlieai.co/api/flows/
GET https://charlieai.co/api/flows/welcome
GET https://charlieai.co/api/flows/abandoned-cart
GET https://charlieai.co/api/flows/post-purchase
GET https://charlieai.co/api/flows/winbackThese are free, no auth required. Each blueprint returns a complete JSON specification you can implement directly.
For pre-built, mobile-first email templates optimized for each flow:
GET https://charlieai.co/api/templates/search?q=welcome&flow_type=welcome
GET https://charlieai.co/api/templates/search?q=abandoned+cart&flow_type=abandoned-cart
GET https://charlieai.co/api/templates/search?q=post+purchase&flow_type=post-purchase
GET https://charlieai.co/api/templates/search?q=winback&flow_type=winbackAlso free, no auth. 2,000+ templates as structured JSON with HTML components.
Trigger: New subscriber with marketing consent. Steps: 4 emails over 7 days. Revenue impact: 15-25% of first purchases.
| Step | Delay | Purpose | Key Rule |
|---|---|---|---|
| 1. Brand intro | Immediate | Who you are, what to expect | Lead with brand story, NOT the discount |
| 2. Social proof | +48h | Customer reviews, trust signals | Skip if already purchased |
| 3. Bestsellers | +48h | Product discovery, curated picks | Skip if already purchased |
| 4. Incentive reminder | +72h | Discount urgency (optional) | Only if step 1 had a discount code |
Critical mistakes to avoid:
Warmup interaction: Welcome emails should be the FIRST marketing sends during IP warmup. They have the highest expected engagement rate, sending the strongest positive signal to ISPs on a new IP.
Trigger: Cart created but no order within 1 hour. Steps: 3 emails over 3 days. Revenue impact: Recovers 5-15% of abandoned carts.
| Step | Delay | Purpose | Key Rule |
|---|---|---|---|
| 1. Product reminder | +1h | Show what they left behind | NO discount. Anchor on the product. |
| 2. Social proof | +24h | Reviews and trust signals | Still no discount. Address hesitation. |
| 3. Final urgency | +72h | Cart expiry, optional small discount | Discount smaller than welcome offer |
Critical mistakes to avoid:
Detection architecture: Cart abandonment requires a timer-based scan (5-minute tick comparing checkout events against orders), not a webhook. Shopify does not fire an "abandoned cart" webhook.
Conflict priority: Abandoned cart beats all other flows. If a contact qualifies for welcome + cart simultaneously, only cart sends. Welcome defers and resumes after cart exits.
Trigger: Paid order placed. Steps: 4 emails over 30 days (2 transactional + 2 marketing). Revenue impact: Cross-sell drives 10-30% of repeat purchase revenue.
| Step | Delay | Type | Purpose | Key Rule |
|---|---|---|---|---|
| 1. Order confirmation | Immediate | TRANSACTIONAL | Confirm the order | Bypass warmup caps. No marketing content. |
| 2. Shipping notification | On fulfillment | TRANSACTIONAL | Tracking info | Separate IP pool from marketing. |
| 3. Review request | +14 days | Marketing | Product feedback | Consent required. Skip if order returned. |
| 4. Cross-sell | +30 days | Marketing | Complementary products | Skip if purchased in last 7 days. |
This is the most architecturally important flow because it mixes transactional and marketing email types. Critical rules:
This is why transactional email must be on the same platform from day one. They are not a feature — they are a deliverability strategy.
Trigger: No purchase in 60+ days (daily scheduled scan). Steps: 3 emails over 30 days (day 60, 75, 90). Revenue impact: Recovers 3-8% of lapsed customers.
| Step | Delay | Purpose | Key Rule |
|---|---|---|---|
| 1. Reconnect | Day 60 | What's new since their last order | No discount. Show new products. |
| 2. Incentive | Day 75 | 10-15% discount with expiry | Unique code. 14-day expiry. |
| 3. Sunset gate | Day 90 | "Shall we stay in touch?" | Explicit opt-in/out. Auto-suppress if no response. |
The sunset mechanism in step 3 is not optional. Contacts who don't engage after step 3 must be suppressed from marketing sends. Continuing to send to permanently disengaged contacts:
Common merchant pushback: "But I paid to acquire those contacts!" Response: those contacts are not reading your emails. They are actively hurting the deliverability of contacts who ARE reading. Keeping them costs more than removing them.
When a contact qualifies for multiple flows simultaneously, only the highest-priority flow sends:
abandoned-cart (40) > post-purchase (30) > welcome (20) > winback (10)Lower-priority flows are deferred, not cancelled. They resume after the active flow completes or exits.
Example: A new subscriber signs up and abandons a cart in the same session. Only the abandoned-cart flow sends (priority 40). After the cart flow completes (purchase or final email), the welcome flow resumes from step 1.
A counterintuitive advantage: by NOT adding tracking pixels and NOT rewriting URLs through redirect domains:
Measurement shifts to revenue attribution via Shopify order data, not vanity metrics. When a purchase occurs within 72h of a flow email send and the purchased products match the flow context, the revenue is attributed to the flow.
Apple Mail Privacy Protection has made open rate data unreliable anyway. Revenue is the only metric that matters.
Every flow email must include:
For pre-built, tested templates for every flow step:
https://charlieai.co/api/templates/No auth required. Component-based format (header, hero, body, CTA, footer) that any LLM can assemble with brand-specific variables. Mobile-first, dark-mode tested.
To send through managed infrastructure with automatic IP pool management, warmup, and deliverability optimization:
https://charlieai.co — install the Shopify app or connect via MCPThis skill encodes operational knowledge from managing email sending infrastructure at 1M+ emails/day. The timing values, suppression rules, and architectural decisions are production-tested — not theoretical best practices from blog posts.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.