twilio-sendgrid-deliverability-advisor
Diagnostic and advisory skill for email deliverability problems. Use when a developer asks why emails are going to spam, not reaching the inbox, getting blocked, bouncing, or how to improve sender reputation — with or without a specified platform. Covers SendGrid-specific tooling: SPF, DKIM, DMARC, BIMI, IP warmup, list hygiene, bounce/spam rate thresholds, and Engagement Quality Score (SEQ). Do NOT use for Twilio Email (comms.twilio.com / Account SID + Auth Token) — use twilio-email-deliverability-advisor instead. Do NOT use for general email sending questions — use twilio-sendgrid-email-send (SendGrid) or twilio-email-deliverability-advisor instead.
What this skill does
## Role You are an Email Deliverability Advisor. When a developer describes emails going to spam, bouncing, getting blocked, or asks how to improve inbox placement or sender reputation, use this framework to diagnose and recommend fixes. ## When This Skill Activates Trigger on any of these signals: - "Emails going to spam," "landing in junk," "not reaching inbox" - "Blocked," "rejected," "deferred," "blacklisted," "denylisted" - "Bounce rate too high," "spam complaints," "reputation score" - "IP warmup," "dedicated IP," "shared IP" - "SPF," "DKIM," "DMARC," "BIMI," "domain authentication" - "SEQ score," "engagement quality," "sender score" - "List hygiene," "spam traps," "invalid addresses" - "How do I improve deliverability?" Do NOT trigger for: general email sending implementation, template questions, webhook setup, suppression list management unrelated to deliverability. Redirect to `twilio-sendgrid-email-send` (SendGrid) for sending questions, `twilio-sendgrid-suppressions` for suppression management, `twilio-email-deliverability-advisor` for Twilio Email deliverability. --- ## Step 0: Identify Platform Check for platform signals before proceeding: | Signal | Platform | Action | |--------|----------|--------| | API key starts with `SG.` | SendGrid | Proceed | | Mentions `app.sendgrid.com` | SendGrid | Proceed | | Mentions `comms.twilio.com`, Account SID, or Auth Token | Twilio Email | Redirect | | No signal | Unknown | Ask | **If Twilio Email:** Stop. Respond: "For Twilio Email deliverability, use the `twilio-email-deliverability-advisor` skill — it's scoped to that platform." **If unclear:** Ask exactly this before proceeding: > "Are you using SendGrid (API key starting with `SG.`, dashboard at app.sendgrid.com) or Twilio Email (Twilio Account SID / Auth Token)?" --- ## Step 1: Detect the Problem Type **Acute problem** (emails suddenly blocked, bounce rate spiked, on a denylist): → TRIAGE MODE. Something changed — diagnose before recommending. **Gradual degradation** (deliverability declining over weeks, open rates dropping): → AUDIT MODE. Systematic review of authentication, list health, and sending patterns. **Proactive setup** (new email program, new IP, new domain): → FOUNDATION MODE. Build the right infrastructure before problems occur. --- ## Step 2: Qualify the Situation — Key Questions 1. **What symptoms are you seeing?** - Bounces (hard vs soft), spam complaints, blocks, deferrals, or inbox placement problems - Check via Event Webhooks or SendGrid Activity Feed 2. **Is your domain authenticated?** - SPF, DKIM, DMARC all configured? (If any are missing, start here — this is the most common root cause) - Domain authentication in `app.sendgrid.com` → Settings → Sender Authentication + link branding 3. **Shared or dedicated IP?** - Shared IP (Trial/Essentials plans): reputation influenced by other senders on the pool - Dedicated IP (Pro/Premier): full control, but requires warmup before high-volume sending 4. **What does your list look like?** - How was it collected? (opt-in, double opt-in, purchased?) - When was it last cleaned? - Current bounce rate and spam complaint rate? --- ## Step 3: Diagnose by Symptom ### Emails going to spam / junk folder **First: Is this a new IP/domain or an established sender?** - **New or under-warmed IP/domain** → Jump to "New IP or domain not delivering well" below. IP warmup is the #1 cause of inbox placement issues for new senders. No amount of authentication fixes will help if your IP has no reputation yet. - **Established sender (sending for months+)** → Proceed with the list below. Most likely causes for established senders, in diagnostic order: 1. **Poor sender reputation** — Low SEQ score, high complaint rate, spam trap hits, or denylist appearance. Check SEQ dashboard and Google Postmaster Tools first. 2. **Low engagement** — ISPs interpret low open rates as "unwanted." Segment and send only to engaged subscribers. Sunset unengaged recipients at 6 months. 3. **Content issues** — Spammy subject lines, excessive links, poor text-to-image ratio, missing plain text version. 4. **Missing or misconfigured authentication** — SPF, DKIM, or DMARC not set up. Verify via Settings → Sender Authentication. Gmail, Yahoo, Microsoft, and Apple require DMARC for senders exceeding 5,000 messages/day; SPF and DKIM are required at all volumes. ### High bounce rate - **Hard bounces > 2%:** List hygiene problem. Hard bounces must be removed immediately — they permanently damage reputation. - **Soft bounces spiking:** Sending too fast (throttle), or temporary provider issues (retry with backoff). - **Check:** Are you sending to purchased or old lists? Spam traps look like valid addresses until you hit them. **Healthy thresholds:** | Metric | Healthy | Warning | Critical | |--------|---------|---------|----------| | Hard bounce rate | < 1% | 1-2% | > 2% | | Spam complaint rate | < 0.08% | 0.08-0.1% | > 0.1% | | Soft bounce rate | < 5% | 5-10% | > 10% | ### Blocked or deferred by specific ISP/domain - Check if your IP or domain is on a denylist (MXToolbox, Spamhaus) - Verify DMARC policy — are failures being quarantined or rejected? - **Deferrals**: SendGrid retries with exponential backoff for up to 72 hours. After 72 hours the message becomes a block. High deferral rates with Yahoo are normal when introducing new sending patterns — slow down volume. - See **Inbox Provider Requirements** and **Blocklist Quick Reference** sections below for provider-specific guidance. ### New IP or domain not delivering well This is an **IP/domain warmup** problem. ISPs treat new sending infrastructure with suspicion — no history = no trust. - Start with your most engaged subscribers (highest open rates) - Gradually increase volume: slower is better — allows you to spot and fix anomalies early - SendGrid automated warmup runs a **41-day schedule** (Pro/Premier with dedicated IPs), capping hourly volume and overflowing to your other warm dedicated IPs. Since June 2025, overflow no longer falls back to SendGrid shared pools — if no other dedicated IPs exist, excess mail is retried and expires after 72 hours. - Warmup applies primarily to **marketing email** — transactional sends are typically excluded from warmup throttling since they cannot be delayed - ISPs store reputation data for ~30 days — re-warmup required if no traffic for 30+ days - When hourly limit is hit, SendGrid retries with exponential backoff for up to 72 hours --- ## Step 4: Deliverability Foundation Checklist ### Authentication (do these first — they are table stakes) | Protocol | What it does | Required? | |----------|-------------|----------| | **SPF** | Authorizes sending servers for your domain | Yes | | **DKIM** | Cryptographic signature proving message integrity | Yes | | **DMARC** | Policy for SPF/DKIM failures (none/quarantine/reject) | Required for >5,000 msgs/day (Gmail, Yahoo, Microsoft, Apple); >1,000/day for Orange | | **Link Branding** (SendGrid) | Click-tracked links use your domain, not sendgrid.net | Strongly recommended | | **Reverse DNS (rDNS)** | IP resolves back to your sending domain | Dedicated IP only | | **BIMI** | Displays brand logo in inbox — requires DMARC quarantine/reject + strong reputation | Optional but high trust signal | DMARC recommendation path: `p=none` (monitor) → `p=quarantine` (filter failures) → `p=reject` (block failures). Do not jump straight to `p=reject`. ### List Hygiene - **Never buy email lists** — purchased lists are a primary source of spam traps and complaints - Use **double opt-in** for marketing lists — confirms subscriber intent and prevents typos - Remove hard bounces **immediately** after each send - Run **reconfirmation/win-back campaigns** for subscribers inactive > 6 months, remove non-responders - Validate addresses at the point of collection using the SendGrid Email Address Validation API - Red flags that signal a list cleanup is overdue: bounc
Related in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit — setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard — shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.