sales-transactional-email
Transactional and triggered email delivery — order confirmations, password resets, welcome emails, receipts, shipping notifications, account alerts. Covers provider selection, template design, deliverability, API integration, SMTP relay, and monitoring across SendGrid, Postmark, Mailgun, Brevo, Braze, Iterable, Customer.io, Mailchimp/Mandrill, GetResponse (MAX only), and Amazon SES. Use when password resets or order confirmations aren't reaching customers, you're unsure which provider to pick, triggered emails are landing in spam or arriving late, or SMTP relay setup is failing. Do NOT use for marketing email campaigns (use /sales-email-marketing), cold outbound sequences (use /sales-cadence), cross-platform deliverability strategy (use /sales-deliverability), or SendPulse-specific questions (use /sales-sendpulse). For platform-specific help, use /sales-braze, /sales-iterable, /sales-sendgrid, /sales-postmark, /sales-mailgun, /sales-brevo, /sales-customerio, /sales-mailchimp, or /sales-getresponse.
What this skill does
# Transactional Email Delivery
Help the user with transactional/triggered email — from provider selection and template design through API integration, SMTP relay, deliverability, and monitoring. This skill is tool-agnostic but includes platform-specific guidance for SendGrid, Postmark, Mailgun, Brevo, Customer.io, Mailchimp/Mandrill, and Amazon SES.
## Step 1 — Gather context
If `references/learnings.md` exists, read it first for accumulated knowledge.
Ask the user:
1. **What type of transactional email do you need help with?**
- A) Order confirmations / receipts / shipping notifications
- B) Password resets / account verification / 2FA
- C) Welcome emails / onboarding sequences triggered by signup
- D) Billing / invoice / subscription notifications
- E) Alert / notification emails (activity, mentions, reminders)
- F) Provider selection — choosing the right transactional email service
- G) Delivery issues — emails not arriving, going to spam, delayed
- H) API/SMTP integration — connecting your app to a provider
- I) Template design — building reusable transactional templates
- J) Monitoring & analytics — tracking delivery, opens, bounces
- K) Something else — describe it
2. **What's your current setup?**
- A) No provider yet — starting from scratch
- B) Using SendGrid
- C) Using Postmark
- D) Using Mailgun
- E) Using Brevo (Sendinblue)
- F) Using Customer.io
- G) Using Mailchimp / Mandrill
- H) Using Amazon SES
- I) Using another provider
- J) Using my own SMTP server
3. **What's your volume?**
- A) Low (< 1K emails/day)
- B) Medium (1K-50K/day)
- C) High (50K-500K/day)
- D) Very high (500K+/day)
**If the user's request already provides most of this context, skip directly to the relevant step.** Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end.
## Step 2 — Strategy and approach
### Transactional vs marketing email
**Transactional emails** are triggered by a user action or system event — they're expected and usually 1:1. They don't require marketing consent (CAN-SPAM exemption) but must be genuinely transactional.
| Transactional | Marketing |
|---|---|
| Order confirmation | Promotional campaign |
| Password reset | Newsletter |
| Shipping notification | Product announcement |
| Account verification | Re-engagement campaign |
| Invoice / receipt | Discount / sale notification |
**Key principle**: Keep transactional and marketing email on separate sending infrastructure (different IPs/domains) so marketing reputation issues don't affect transactional delivery.
### Provider selection framework
| Factor | SendGrid | Postmark | Mailgun | Brevo | Customer.io | SES |
|---|---|---|---|---|---|---|
| **Best for** | Scale + marketing combo | Deliverability-first | Developer flexibility | All-in-one + marketing | Behavior-triggered | Raw volume + cost |
| **Deliverability** | Good | Excellent (98.7%) | Good | Good | Good | Good (self-managed) |
| **Pricing model** | Per email | Per email | Per email | Volume tiers | Per profile | Per email (cheapest) |
| **Free tier** | 100/day | 100/month | 1K/month (trial) | 300/day | None | 62K/month (from EC2) |
| **SMTP relay** | Yes | Yes | Yes | Yes | No | Yes |
| **REST API** | Yes | Yes | Yes | Yes | Yes | Yes |
| **Templates** | Dynamic (Handlebars) | Handlebars | Handlebars | UI builder + API | Liquid | Basic |
| **Inbound parsing** | Yes | Yes | Yes | Yes | No | Yes |
| **Webhooks** | Yes (Event Webhook) | Yes (7 types) | Yes (8 events) | Yes | Yes | SNS notifications |
### Template best practices
1. **Keep it simple** — transactional emails should be clear, not flashy
2. **Include essential info above the fold** — order number, tracking link, action button
3. **Use dynamic parameters** — never hardcode user-specific data
4. **Test across clients** — Outlook, Gmail, Apple Mail render differently
5. **Include plain-text fallback** — some recipients/clients need it
6. **Brand consistently** — logo, colors, footer, but don't over-design
### Deliverability for transactional email
1. **Dedicated sending domain** — use `mail.example.com` or `notify.example.com`, not your main domain
2. **Authenticate everything** — SPF, DKIM, DMARC (p=quarantine or p=reject)
3. **Dedicated IP** — at 50K+/month volume, get a dedicated IP and warm it
4. **Separate streams** — keep transactional and marketing on different IPs/subdomains
5. **Monitor bounces** — suppress hard bounces immediately, track soft bounce patterns
6. **Watch complaint rates** — transactional should be near 0% complaints
## Step 3 — Platform-specific guidance
**Read `references/platform-guide.md`** for detailed provider comparisons, API references, integration checklist, and key metrics.
### In MailerLite
MailerLite supports transactional email as a separate feature from marketing campaigns:
- **API-triggered**: Transactional emails are sent via the MailerLite API, not through the campaign builder. Use for order confirmations, password resets, shipping notifications.
- **Separate infrastructure**: Transactional sends don't count against marketing email limits and use separate delivery infrastructure.
- **Templates**: Create reusable templates in the MailerLite dashboard, reference them by ID in API calls.
- **Limitations**: MailerLite's transactional email is basic compared to SendGrid, Postmark, or Mailgun. No inbound parsing, no advanced analytics, no dedicated IP for transactional (Enterprise only). Best for MailerLite users who want to keep everything in one platform. For high-volume or latency-sensitive transactional email, use a dedicated provider.
- **API**: `POST /api/subscribers` for contact management, webhooks for delivery tracking. See `/sales-mailerlite` for full API reference.
*You no longer need the platform guide details — focus on the user's specific situation.*
## Step 4 — Actionable guidance
Based on the user's specific question, provide targeted recommendations drawing on the strategy framework in Step 2 and provider details in the reference guide.
## Gotchas
1. **Don't mix transactional and marketing on the same IP/domain** — marketing reputation problems will tank transactional delivery. Use separate subdomains and ideally separate IPs.
2. **"Transactional" has a legal definition** — CAN-SPAM exempts transactional emails from opt-out requirements, but the email must be primarily transactional. An order confirmation with a 50% coupon at the top is marketing, not transactional.
3. **SMTP is not real-time** — SMTP queues add latency. For time-sensitive emails (2FA codes, password resets), use the REST API for faster delivery.
4. **Webhooks can fail silently** — if your webhook endpoint is down, you'll miss delivery/bounce events. Implement webhook logging and alerting.
5. **Template rendering varies by client** — Outlook uses Word's rendering engine. Always test templates in Litmus or Email on Acid, especially for layout-heavy designs.
- **Self-improving**: If you discover something not covered here, append it to `references/learnings.md` with today's date.
## Before recommending a specific platform skill
This skill covers a strategy domain across many platforms. **Before pointing the user to any specific platform skill** (any `/sales-{platform}` listed in `## Related skills`, e.g., `/sales-mailshake`, `/sales-klaviyo`, `/sales-apollo`), read that platform skill's actual `SKILL.md` first. The 1-line description in `## Related skills` is enough to *identify* a candidate — it's not enough to *commit* to it or to write a prompt that invokes it well.
**How to read it:**
- If `~/.claude/skills/{skill-name}/SKILL.md` exists locally, `Read` it.
- For `sales-*` skills, `WebFetch` directly from this repo: `https://raw.githubusercontent.com/sales-skills/sales/main/skills/{skill-name}/SKILL.md` — e.g., for `sales-mailshake`: `https://raw.githubuserconRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".