Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Run a structured deliverability audit — check authentication (SPF, DKIM, DMARC), sender reputation, bounce rates, spam triggers, and inbox placement. Produce a scored report with prioritized fixes. Trigger on: email deliverability, emails going to spam, bounce rate, sender reputation, inbox placement, authentication check, DMARC.
dependencies
[]
connectors
[{"name":"HubSpot","reason":"Pull email campaign metrics — open rates, bounce rates, and spam complaint data to ground the audit"},{"name":"Gmail","reason":"Check inbox placement and authentication headers for recent sends"},{"name":"Slack","reason":"Surface team discussions about deliverability issues, customer complaints about missing emails"},{"name":"Google Drive","reason":"Store audit reports and track remediation progress over time"}]
author
Harmony
version
1.0.0
icon
sparkles
cover
screenshots
[]
category
Marketing
Purpose
A structured email deliverability audit diagnoses why emails land in spam, fail to reach inboxes, or bounce. It analyzes technical authentication (SPF, DKIM, DMARC, BIMI), sender reputation signals (IP age, blacklist status, complaint rate), list quality (bounce rates, spam traps), and engagement trends. The output is a scored report with a ranked remediation roadmap—what to fix first, second, and third—grounded in your actual sending data.
Deliverability is often invisible until it breaks. A client's emails might suddenly drop from 24% opens to 11% without warning, or they discover 18% of their list bounces hard. This skill surfaces the root causes before that crisis happens, and provides a clear path to recovery.
When to Use
Trigger this skill when:
Email open rates drop 5+ points month-over-month
Bounce rate exceeds 3% (hard bounces) or 8% (soft bounces)
Team reports "emails going to spam" or "customers say they didn't receive them"
Launching a new domain or sender address
Moving to a new ESP or IP pool
Scaling email volume (10x+ increase planned)
After a list purchase or cold outreach campaign
Quarterly health check (best practice: 2-4x per year)
Before a major send (product launch email, re-engagement campaign)
Building email sequences (use Plan Email Nurture Sequence)
Fixing authentication records directly (this skill diagnoses; you implement)
Instructions
Follow this 10-step framework to run a complete deliverability audit:
Step 1: Gather Program Context
Ask your marketing lead or ESP admin:
Current ESP (HubSpot, Klaviyo, ActiveCampaign, SendGrid, etc.)
List size and growth rate (e.g., "52K subscribers, +3K/month")
Send frequency (daily digest? weekly campaign? trigger-based?)
Sender domain (one domain or multiple?)
IP pool type (dedicated, shared, or warm-up in progress?)
Known issues from the past 90 days (e.g., "Outlook blocks us," "Gmail spam folder spiked")
Recent changes (new domain, IP migration, list import, template overhaul?)
Pull this context from Slack discussions, recent marketing team calls, or direct input. Document it in the audit report.
Step 2: Check Authentication Records
Request the DNS records for the sender domain from the technical contact (DevOps, IT, or domain registrar). Verify these exist and are configured correctly:
SPF (Sender Policy Framework): Should list all authorized mail servers. Check the TXT record. If missing or incorrect, ISPs treat emails as suspicious.
DKIM (DomainKeys Identified Mail): Private key signs outgoing emails; public key in DNS. Each selector (often "default," "mail," or "k1") should have a valid public key TXT record.
DMARC (Domain-based Message Authentication Reporting & Conformance): Policy record (usually on _dmarc.[domain].com) that tells ISPs what to do with authentication failures. Recommended: p=quarantine or p=reject (not p=none if you have strong authentication).
BIMI (Brand Indicators for Message Identification): Optional; displays your logo in Gmail/Yahoo inboxes if present. Check for _bimi TXT record and linked SVG logo.
Score this section: 10 = all four present and strict, 7 = SPF + DKIM correct + DMARC p=quarantine, 5 = SPF + DKIM only, 2 = partial or p=none, 0 = missing or broken.
Step 3: Assess Sender Reputation
Check via free tools and ESP data:
Domain Age: Is the sending domain >6 months old? New domains have lower trust (score -2 if <3 months, -1 if 3-6 months, 0 if >6 months).
Blacklist Status: Check domain and IP against Spamhaus, Barracuda, Validity, and Abusix via mxtoolbox.com or similar. Each listing = -3 points. If clean, +1 point.
Complaint Rate: Divide spam complaints by emails sent over last 30 days. Industry benchmark: <0.1%. Above 0.3% = major red flag. Score: >0.5% = -5, 0.3-0.5% = -3, 0.1-0.3% = -1, <0.1% = +2.
List Quality Age: When was the list last cleaned? If >12 months, assume stale addresses exist. Score -2. If cleaned in last 3 months, +1.
Step 4: Analyze Bounce Rates
Pull bounce data from your ESP for the last 90 days. Separate hard bounces (permanent failures: invalid address, domain doesn't exist) from soft bounces (temporary: full inbox, server down).
Hard Bounce Rate: Target <2%. Above 5% signals list quality issues or typos at signup. Score: >5% = -5, 3-5% = -2, <2% = +1.
Soft Bounce Rate: Target <3%. Above 8% means subscriber inboxes are full or servers are throttling you. Score: >8% = -3, 3-8% = 0, <3% = +1.
Bounce Rate by Segment: Identify which segments bounce most (e.g., enterprise domains, free email providers like Gmail). Note outliers for remediation.
Content Patterns: Do certain keywords trigger blocks? (e.g., "free," "limited time," "act now"). Review subject lines and body text of complained-about emails.
Sending Patterns: Do you send from a single IP? Volume spikes? Inconsistent send times? Sending all emails in one hour = red flag. Stagger sends over 8-12 hours.
Link/Attachment Patterns: Shortened URLs, tracking pixels, or PDFs can trigger blocks. Check if complained emails use unusual link patterns.
Sender Header Alignment: Does "From" domain match authentication records? Misalignment (e.g., "from: noreply@other-domain.com" when you're sending from your domain) = -2 points.
Score: Major trigger patterns found = -4, Minor issues = -1, Clean = +2.
Step 6: Check List Hygiene
Request list segmentation data from your CRM:
Invalid Addresses: Count email addresses that fail validation (no @, typos). Target: <1%. Above 3% = -3 points.
Spam Traps: Role-based addresses (no-reply@, admin@, support@, abuse@) and honeypot addresses can trigger blacklists. Audit for these; remove any found. Found >10 = -4, Found 1-10 = -2, None = +1.
Unengaged Subscribers: How many have never opened in 12+ months? If >40% of list, -2 points. Above 60%, -4 points (this drags down your complaint rate).
Duplicate Addresses: Check for duplicate email entries in your database. Above 2% = -1 point.
Score total list hygiene: Clean = +3, Minor issues = 0, Major issues = -3 to -4.
Step 7: Evaluate Engagement Metrics vs. Benchmarks
Pull open rates, click rates, and unsubscribe rates for last 30 days. Compare to industry benchmarks (varies by vertical: B2B SaaS ~20-30%, DTC ecommerce ~15-25%, non-profit ~25-35%).
Open Rate: Your rate vs. benchmark. If ≥ benchmark, +2. If 5-10 points below, 0. If >10 points below, -2 (suggests deliverability issues).
Click Rate: Similar logic. Industry avg ~2-4%. If low, could be engagement problem or inbox placement problem.
Unsubscribe Rate: Industry avg 0.1-0.5%. Above 0.5% = -1 point (suggests list sentiment is negative).
1. Multi-domain sending:
If you send from multiple domains (marketing@domain-a.com, support@domain-b.com), audit each separately. High-volume domains need dedicated attention. Score each domain, then average.
2. Cold outreach programs:
New domains + cold lists = guaranteed deliverability hit. Score cold and warm lists separately. Cold list hard bounce rates of 8-12% are normal (typos, business address churn). Plan dedicated re-engagement workflow.
3. Shared IP pools:
On shared IPs (standard HubSpot, SendGrid tier), reputation is collective. If neighbors are spammy, you suffer. If your metrics are clean but deliverability is poor, request dedicated IP or investigate sender pool quality via ESP.
4. Non-English languages:
Some ISPs (Yandex, Mail.ru) are stricter with non-Latin characters. If sending in CJK, Arabic, or Cyrillic, audit inbox placement separately. Test with 100-address samples before scaling.
5. Transactional vs. marketing email:
Transactional (receipts, password resets) has different reputation from marketing (newsletters). Many ESPs separate IPs. If transactional bounces spike, check your order fulfillment and account data quality separately.
6. List purchased or rented:
Third-party lists often contain spam traps, duplicates, and invalid addresses. Audit separately. Score: -3 points for any list purchase <3 months old until cleaned and validated.
7. High-frequency sends (daily):
More sends = more reputation opportunity, but also more risk if engagement drops. Monitor engagement weekly, not monthly. If open rate drops >3 points in one week, pause sends and audit.
8. ISP-specific blocks:
Sometimes Gmail, Outlook, or Yahoo will block you specifically while others accept. Check authentication headers in test sends to those ISPs. If only one ISP blocks, it's usually a DMARC or complaint rate issue specific to that ISP.
Next Steps: Share your current email metrics (list size, open/bounce rates, domains, ESP) and I'll run a full audit using this framework. Or, if you'd like to implement fixes first, I can map the remediation roadmap to your team's capacity. Ready to push this to docs?