Synthèse automatique
Un cadre de diagnostic qui aide les développeurs à analyser et corriger les problèmes de délivrabilité des e-mails SendGrid, notamment le placement en spam, les rebonds, les blocages et la réputation d'expéditeur.
Points forts
- Distingue les incidents aigus, la dégradation progressive et la mise en place proactive afin d'adapter la démarche de diagnostic.
- Impose une vérification de la plateforme et redirige explicitement les cas Twilio Email vers une autre compétence.
- Couvre les principaux leviers techniques : authentification SPF/DKIM/DMARC/BIMI, IP dédiée et échauffement, hygiène de liste, seuils de rebond et de plainte, ainsi que le score SEQ.
Limites
- Reste un conseiller : il n'inspecte ni les journaux SendGrid, ni les en-têtes, ni la configuration DNS réelle et dépend des informations fournies par le développeur.
- Il est spécifique à SendGrid et exclut volontairement Twilio Email ainsi que les questions générales d'envoi d'e-mails.
- Le texte fourni s'interrompt au milieu de la section de diagnostic, ce qui empêche de vérifier les procédures détaillées par symptôme.
À utiliser lorsqu'un expéditeur SendGrid constate des e-mails en spam, des rebonds, des blocages ou souhaite auditer son authentification et sa réputation d'expéditeur.
À ne pas utiliser pour implémenter l'envoi d'e-mails, les modèles, les webhooks, la gestion des suppressions ou la délivrabilité de Twilio Email.
Analyse de sécurité
SûrThis is an advisory documentation skill for email deliverability. It contains no executable commands, network calls, secret exfiltration, or destructive operations. References to API keys, dashboards, and webhooks are diagnostic context only, and the skill explicitly frames DNS/console changes as owner actions rather than instructions to apply them.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Our SendGrid transactional emails suddenly started landing in spam. Our API key starts with SG., we use a shared IP, and our domain has SPF and DKIM but no DMARC. What should we check first?Help me audit our SendGrid sender authentication. SPF, DKIM, DMARC, and BIMI are only partially configured. What are the gaps, and in what order should we fix them?We are moving to a dedicated SendGrid IP for about 200,000 monthly emails. Give us a warmup plan and the bounce and spam complaint thresholds we should monitor.name: twilio-sendgrid-deliverability-advisor description: > 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. tier: discover
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
-
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
-
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
-
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
-
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:
- Poor sender reputation — Low SEQ score, high complaint rate, spam trap hits, or denylist appearance. Check SEQ dashboard and Google Postmaster Tools first.
- Low engagement — ISPs interpret low open rates as "unwanted." Segment and send only to engaged subscribers. Sunset unengaged recipients at 6 months.
- Content issues — Spammy subject lines, excessive links, poor text-to-image ratio, missing plain text version.
- 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: bounce rate climbing, open rate declining, SEQ score dropping
Sending Practices
- Maintain consistent sending volume — ISPs flag sudden spikes as suspicious
- Segment by engagement — send high-frequency content only to engaged subscribers, not your full list
- Send off-peak for better inbox placement (e.g., 10:53 vs 11:00)
- Use an email preference center — lets subscribers control frequency rather than hitting spam
Step 5: Monitoring and Ongoing Health
Engagement Quality Score (SEQ) — SendGrid
SEQ is the primary health metric for SendGrid accounts. Composite score across 5 dimensions:
- Bounce Classification — type and severity of bounces
- Bounce Rate — percentage of sends that bounce
- Engagement Recency — how recently subscribers have opened/clicked
- Open Rate — percentage of delivered emails opened
- Spam Rate — percentage of emails marked as spam
SEQ score < threshold can trigger sending restrictions and affects shared IP pool placement. The SEQ API (for programmatic access) is available on Pro/Premier plans. Check via SendGrid dashboard or SEQ API.
Event Webhooks — required for visibility
Without Event Webhooks you have no real-time signal on delivery problems. Every email program needs webhooks tracking:
bounce— hard and soft bouncesspam_report— recipient marked as spamunsubscribe— global and group unsubscribesdeferred— ISP temporarily rejected (retry happening)dropped— suppressed before send
See twilio-sendgrid-webhooks for setup.
Inbox Provider Requirements
| Provider | Domains | SPF | DKIM | DMARC threshold | Spam limit | FBL | Notes |
|----------|---------|-----|------|----------------|-----------|-----|-------|
| Gmail | gmail.com + Workspace | All volumes | All volumes | >5,000/day | <0.10% (enforce), <0.08% (recommended) (per Google) | None | Google Postmaster Tools available; Feedback-ID header enables complaint analytics; MPP does NOT apply |
| Yahoo | yahoo.com, aol.com, att.net, comcast.net, verizon.net | All volumes | All volumes | >5,000/day | Same as Gmail | DKIM-based; Twilio enrolled | Highest deferral rates — slow down when introducing new patterns; uses Spamhaus for blocklisting |
| Microsoft | outlook.com, hotmail.com, live.com, msn.com | All volumes | All volumes | >5,000/day (Outlook consumer); admin-determined (365) | — | JMRP (~72hr) | Reputation shared across all consumer domains; sends to unengaged >6 months triggers reputation issues; use SNDS to investigate; 365 doesn't send DMARC forensic reports |
| Apple | icloud.com, me.com, mac.com | All volumes | All volumes | >5,000/day | — | None | Mail Privacy Protection (MPP): pre-fetches images on iOS 15+/macOS 12+, inflating open rates — filter with sg_machine_open webhook flag; uses Proofpoint for blocklisting |
| Comcast | comcast.net | Recommended | Recommended | Recommended | — | Validity FBL | Migrating to Yahoo infrastructure (gradual rollout through 2026) — authentication requirements will align with Yahoo post-migration |
| Orange | orange.fr, wanadoo.fr | All volumes | All volumes | >1,000/day | <0.6% | Signal Spam (Twilio not enrolled — audit lists manually) | Tightest spam threshold in the industry |
Key actions per provider:
- Gmail blocks: Check Google Postmaster Tools for domain/IP reputation. Add
Feedback-IDheader for granular complaint tracking. - Microsoft blocks: Check SNDS for IP status. Use JMRP to get FBL data. Establish sunset policy at 6 months.
- Apple open rate inflation: Filter
sg_machine_open: trueevents from engagement calculations. - Yahoo high deferrals: Normal for new IPs/patterns — reduce sending rate and warm gradually.
- Orange complaints: No FBL signal; rely entirely on proactive list hygiene.
Blocklist Quick Reference
| Provider | Impact | Auto-expires | Delisting |
|----------|--------|-------------|-----------|
| Spamhaus | High — affects Yahoo, AOL, Microsoft | No | Shared IPs: Twilio handles. Dedicated IPs: account owner requests. Fix behavior first. |
| SpamCop | Moderate | 24 hours if no new trap hits | No manual delisting — auto-releases only |
| Proofpoint | High for Apple domains | No | Email postmaster@proofpoint.com; allow 72hr response; ensure rDNS is set and link branding configured |
| Microsoft | High for Outlook/365 | No | Submit through Outlook or 365 inquiry forms; include bounce examples |
| Abusix | Moderate | No | Abusix Inquiry Form |
| Return Path / Validity | Moderate | No | Return Path Inquiry Form / Sender Score |
| Vade Secure | Moderate | No | Vade Secure Inquiry Form |
| UCE Protect | Minimal | — | Twilio takes no action — listings here have negligible deliverability impact |
Universal rule: Fix the root behavior before requesting any delisting. Repeated requests without behavior changes are ignored.
Output Format
After diagnosing, respond with:
Diagnosis: [Acute / Gradual / Proactive]
Root Cause: [Most likely issue based on symptoms]
Immediate Actions:
1. [Highest priority fix]
2. [Second fix]
3. [Third fix]
Skills to Install:
- twilio-sendgrid-account-setup — if domain auth (SPF, DKIM, DMARC, link branding) needs to be set up
- twilio-sendgrid-engagement-quality — if developer wants to check SEQ score (SendGrid Pro/Premier)
- twilio-sendgrid-suppressions — if bounce or spam complaint management is needed
- twilio-sendgrid-webhooks — if developer needs delivery event monitoring
CANNOT
- Cannot diagnose deliverability without authentication being set up first — SPF/DKIM/DMARC issues account for the majority of deliverability problems. Always verify these before investigating other causes.
- Cannot guarantee inbox placement — deliverability is probabilistic. ISPs make final delivery decisions. Best practices maximize the probability but do not guarantee outcomes.
- Cannot recover reputation quickly — reputation repair takes 2-4 weeks of consistent good sending behavior. There are no shortcuts.
- Cannot remove from all denylists — each denylist has its own removal process. Some auto-expire in 24-48 hours, others require manual request after addressing root cause.
- BIMI cannot be implemented without DMARC quarantine or reject policy — p=none is not sufficient for BIMI.
Travel-Tool context
Vendored from twilio/ai (MIT, see LICENSE). Only 3 of the 57 Twilio Developer Kit skills were taken; the agents/openai.yaml and icon assets were dropped. "Next Steps" links to other twilio-* skills point at skills that aren't installed, so use Context7 or the Twilio docs for those topics.
- Deliverability fixes (SPF, DKIM, DMARC, link branding) are DNS and SendGrid-console changes the owner makes. Propose them; don't claim they're applied.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/sendgrid-deliverability-advisor-mvda87b7/download' --output '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md.part' && mv '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md.part' '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md' && test -s '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/twilio-sendgrid-deliverability-advisor' && cp -R '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7' '.claude/skills/twilio-sendgrid-deliverability-advisor'Cursor
test -f '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md' && test -s '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/twilio-sendgrid-deliverability-advisor' && cp -R '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7' '.cursor/skills/twilio-sendgrid-deliverability-advisor'Codex
test -f '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md' && test -s '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/twilio-sendgrid-deliverability-advisor' && cp -R '.skill-downloads/sendgrid-deliverability-advisor-mvda87b7' '.agents/skills/twilio-sendgrid-deliverability-advisor'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/sendgrid-deliverability-advisor-mvda87b7'openskills read 'sendgrid-deliverability-advisor-mvda87b7'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/sendgrid-deliverability-advisor-mvda87b7/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Configurer un canal de discussion avec SecretRefs
DevOps
Configurez des canaux de discussion avec des commandes non interactives, les secrets étant uniquement des SecretRefs. Couvre les étapes de collecte, modification, réparation et vérification.
Enquêter sur les échecs CI de ClickHouse
DevOps
Investigue un échec CI de ClickHouse de bout en bout à partir d'une URL de PR ou de rapport S3. Récupère les tests échoués, classe flaky vs vraie régression, et cherche des issues/fixes existants.
Revue de PR Ansible
DevOps
Examine une PR Ansible selon le processus standardisé du projet, incluant la validation des changelogs, la couverture de tests et le suivi des commentaires.