본문으로 건너뛰기
cccskills
무료GitHub에 공개

email-deliverability-debugger

Diagnoses email deliverability problems for transactional and marketing emails. Checks SPF/DKIM/DMARC alignment, sending IP reputation, email content spam triggers, and bounce patterns. Use when emails land in spam, go missing, or bounce unexpectedly. Trigger words: email spam, deliverability, emails not arriving, bounce rate, spam folder, email reputation, SPF fail, DKIM fail, DMARC, transactional email, SendGrid, Postmark, SES.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구GmailOutlook
설치 방법 보기

포함된 파일(2)

  • SKILL.md7.2 KB
  • _scores.json2.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Email Deliverability Debugger

Overview

This skill systematically diagnoses why emails fail to reach inboxes by checking the entire delivery chain: DNS authentication (SPF, DKIM, DMARC), sending IP reputation, email content, headers, and provider-specific configuration. It produces actionable fixes ranked by impact.

Instructions

Step 1: Check DNS Authentication Records

# SPF record
dig +short TXT myapp.com | grep "v=spf1"

# DKIM (check common selectors)
for sel in s1 s2 k1 google default sendgrid; do
  dig +short TXT ${sel}._domainkey.myapp.com
done

# DMARC
dig +short TXT _dmarc.myapp.com

Validate each:

  • SPF: Must include all sending services, ≤10 DNS lookups, end with -all (hardfail) or ~all (softfail, common while DMARC does the enforcing)
  • DKIM: Each sending service needs its own selector with a valid key (2048-bit recommended; 1024 is the minimum Gmail accepts)
  • DMARC: Should have p=quarantine or p=reject; p=none only monitors (it meets the bulk-sender minimum at Gmail, Yahoo and Outlook, but gives no protection)

Step 2: Count SPF Lookups

SPF has a hard limit of 10 DNS lookups (RFC 7208). Count each include:, a, mx, ptr, exists: and redirect= as 1 lookup; ip4:, ip6: and all cost nothing. Nested includes count too, and more than 2 void lookups (queries returning nothing) also give a permerror.

# Check SPF record and count includes
dig +short TXT myapp.com | grep spf
# Then recursively check each include
dig +short TXT _spf.google.com
dig +short TXT sendgrid.net

If at or near 10, recommend SPF flattening or removing unused services.

Step 2b: Check Mailbox-Provider Bulk Sender Rules

Senders of more than 5,000 messages a day to Gmail/Yahoo (since Feb 2024) and Outlook.com (since May 2025) must have SPF, DKIM and DMARC, with the From domain aligned to SPF or DKIM. Gmail and Yahoo also require one-click unsubscribe (List-Unsubscribe plus List-Unsubscribe-Post: List-Unsubscribe=One-Click), a spam rate under 0.30% (aim for 0.10%) in Postmaster Tools, TLS, valid PTR records and RFC 5322 formatting. Outlook rejects non-compliant bulk mail with 550 5.7.515.

Step 3: Analyze Email Headers (if provided)

Key headers to check:

  • Authentication-Results: Shows SPF, DKIM, DMARC pass/fail
  • X-MS-Exchange-Organization-SCL: Microsoft spam confidence (0-9, >5 = spam)
  • X-Spam-Score: Generic spam score
  • Received-SPF: SPF result with detail
  • DKIM-Signature: Which domain signed and which selector used
  • Return-Path: Must align with From domain for SPF alignment

Step 4: Check IP Reputation

Query major blacklists (use your own resolver: Spamhaus refuses large public resolvers such as 8.8.8.8 and answers 127.255.255.x, which is not a listing):

# Reverse IP for DNSBL queries (e.g., 1.2.3.4 becomes 4.3.2.1)
REVERSED="4.3.2.1"
for bl in zen.spamhaus.org b.barracudacentral.org bl.spamcop.net; do
  dig +short ${REVERSED}.${bl}
done
# Non-empty result = listed on that blacklist

Common blacklists to check: Spamhaus (ZEN also covers the former CBL), Barracuda, SpamCop, URIBL for domains. SORBS closed in 2024. Answers in 127.0.0.x mean listed.

Step 5: Check Content Issues

Flag common spam triggers:

  • Subject line with ALL CAPS or excessive punctuation (!!!)
  • HTML-only email without text/plain alternative
  • High image-to-text ratio
  • URL shorteners (bit.ly, etc.) in email body
  • Missing List-Unsubscribe header, or no List-Unsubscribe-Post one-click support (required for bulk marketing to Gmail/Yahoo)

Step 6: Produce Fix Report

Organize by priority:

  1. Critical: Authentication failures (SPF/DKIM/DMARC fail)
  2. High: IP blacklisting
  3. Medium: Content issues, missing headers
  4. Low: Best practice improvements

Include exact DNS records to add/modify and provider-specific configuration steps.

Examples

Example 1: Full Deliverability Audit

User prompt:

Our emails to Gmail users are going to spam. Domain: notifications.myapp.com

Agent output:

Deliverability Audit — notifications.myapp.com

❌ CRITICAL: DMARC alignment failure
   From: notifications.myapp.com
   Return-Path: bounces.sendgrid.net (different domain)
   → SPF passes for sendgrid.net but doesn't align with From domain
   Fix: Configure SendGrid authenticated domain so Return-Path uses your domain

⚠  HIGH: DMARC policy too weak
   Current: v=DMARC1; p=none
   → Gmail honors DMARC but p=none means failures aren't acted on
   Fix: v=DMARC1; p=quarantine; rua=mailto:dmarc@myapp.com; pct=100

✅ SPF: Valid (7 lookups)
✅ DKIM: Valid (s1 selector, 2048-bit)
✅ IP reputation: Clean on all major blacklists

Priority fix order:
1. Configure SendGrid domain authentication (fixes Return-Path alignment)
2. Update DMARC to p=quarantine
3. Monitor DMARC reports for 2 weeks before moving to p=reject

Example 2: Specific Bounce Diagnosis

User prompt:

Getting 550 5.7.1 rejections from outlook.com. What's wrong?

Agent output:

550 5.7.1 from Outlook = message rejected due to content or policy (bulk senders failing authentication get 550 5.7.515)

Diagnosis checklist:
1. ✅ SPF passes for your domain
2. ❌ DKIM signature uses d=sendgrid.net, not your domain
   → Microsoft strict mode rejects misaligned DKIM
3. ❌ Your sending IP 149.72.x.x is on a Spamhaus list
   → Check which: PBL is a policy list for end-user ranges, SBL/XBL mean abuse

Fixes:
1. Set up DKIM custom domain in SendGrid (Settings → Sender Authentication)
   Add CNAMEs: s1._domainkey.yourdomain.com → s1.domainkey.u1234.wl.sendgrid.net
2. Look the IP up at check.spamhaus.org and follow the removal steps for the exact list
3. After fixes, use mail-tester.com to verify score >8/10 before bulk sending

Guidelines

  • Check authentication FIRST — 80% of deliverability issues are DNS authentication failures
  • Alignment matters more than pass/fail — SPF can pass but still fail DMARC if domains don't align
  • Separate transactional from marketing — different subdomains and IPs protect transactional reputation
  • DMARC reports are gold — always recommend setting up rua aggregate reports
  • Don't recommend p=reject immediately — go none → quarantine → reject over 4-6 weeks while monitoring
  • IP reputation recovers slowly — blacklist removal is quick, but reputation rebuilding takes 2-4 weeks of clean sending
  • Test with real recipients — mail-tester.com, Google Postmaster Tools (compliance status, spam rate), and Microsoft SNDS are free and essential

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Scripts and configures production rendering in Autodesk 3ds Max with the V-Ray and Corona renderers: output size and files, render elements, denoising, light mix, batch and command-line rendering, and network rendering. Use when a user asks to set up a production render, render several cameras in one batch, render from the command line or on a render farm, add render passes for compositing, or cut render time for archviz and product shots.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

TerminalSkills/skills1722026년 10월 14일 업데이트

Covers scripting Autodesk 3ds Max, the 3D modeling and rendering application, with MAXScript and Python (pymxs): scene manipulation, object creation, material assignment, camera and light setup, batch operations, and file I/O. Use when tasks involve automating repetitive 3ds Max workflows, batch processing scenes, running scripts headless with 3dsmaxbatch, creating custom tools, or scripting scene setup for archviz, product visualization, or VFX.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

TerminalSkills/skills1722026년 10월 14일 업데이트

3proxy

무료

3proxy is a small open-source proxy server that runs HTTP/HTTPS, SOCKS4/5, SNI and TCP/UDP port-mapping proxies from one config file. Use when a user asks to set up an HTTP or SOCKS5 proxy, add proxy users and passwords, write 3proxy access rules, chain or rotate upstream (parent) proxies, limit bandwidth, connections or monthly traffic per user, run 3proxy in Docker, or fix a 3proxy.cfg that will not start.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

TerminalSkills/skills1722026년 10월 14일 업데이트

Builds Agent2Agent (A2A) servers and clients, the open protocol (originally from Google, now under the Linux Foundation) that lets AI agents from different frameworks call each other. Use when the user wants to create an A2A-compliant agent, build an Agent Card, implement task management, connect agents across frameworks, set up agent discovery, handle streaming responses, implement push notifications, or orchestrate multi-agent workflows. Trigger words: a2a, agent to agent, agent2agent, a2a protocol, a2a server, a2a client, agent card, agent interoperability, agent collaboration, multi-agent, agent discovery, a2a sdk, a2a task.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

TerminalSkills/skills1722026년 10월 14일 업데이트

Plans a controlled experiment (A/B test) so its result can be trusted: writes the hypothesis, picks one primary metric and the guardrails, computes sample size and run time, specifies how visitors are assigned and when exposure is logged, and reads out the result with a confidence interval. Use when someone says "set up an A/B test", "split test this page", "how many visitors do I need", "how long should the experiment run", "is this result significant", "can I stop the test early", or wants to test a headline, price, layout or onboarding change against the current version.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

TerminalSkills/skills1722026년 10월 14일 업데이트

ably

무료

Ably is a hosted realtime messaging service: clients publish and subscribe to named channels over WebSockets, see who is present, replay message history, and resume after a dropped connection. Use when a user asks to "add realtime updates", "push live notifications to the browser", "show who is online", "add a chat room with typing indicators", "publish from a serverless function", or "authenticate Ably clients without exposing the API key". Covers the ably 2.x JavaScript SDK (Realtime and REST), JWT token authentication, presence, history and rewind, batch publishing, and the @ably/chat 1.x SDK.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

TerminalSkills/skills1722026년 10월 14일 업데이트

TerminalSkills의 스킬 모두 보기

이 스킬의 문제 신고