Transactional Email Skill — Communication skill for Claude Code
Claude Code skill: diagnose why your email fails (SPF, DKIM, DMARC, MX, Spamhaus) and unify sending across Brevo, Resend and SMTP.
How to install Transactional Email Skill
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open anginduke-code/transactional-email-skill and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Transactional Email Skill does
Claude Code skill: diagnose why your email fails (SPF, DKIM, DMARC, MX, Spamhaus) and unify sending across Brevo, Resend and SMTP.
Alternatives in Communication
- Open SaaS — A 100% free modern JS SaaS boilerplate (React, NodeJS, Prisma) 14.1k ★
- Pestle Analysis — PESTLE analysis across Political, Economic, Social, Tech, Legal, Environmental 7.8k ★
- Claude Code Remote — Control Claude Code remotely via email 1.2k ★
README
transactional-email
A [Claude Code](https://claude.com/claude-code) skill for transactional email: find out why your mail is failing, then wire it up so it stops failing.
$ python scripts/diagnose.py example.com --sending-ip 203.0.113.10
========================================================================
email diagnosis: example.com
========================================================================
[!!] CRITICAL Spamhaus DBL: LISTED (127.0.1.2)
Mail with this sending domain is refused regardless of provider — including,
in practice, by your own forwarder. Changing provider does not help.
fix: See references/blocklists.md. Fix the underlying causes first, then request
removal from a non-VPN connection.
[! ] HIGH No MX record — the domain cannot receive mail
Replies bounce, and role addresses do not exist. Blocklist removal requests are
verified by emailing postmaster@ or abuse@, so a listing cannot be appealed
without this.
fix: Add MX records. Free options: ImprovMX or Cloudflare Email Routing.
[~ ] MEDIUM Sending IP 203.0.113.10 on Spamhaus ZEN (127.0.0.11)
PBL — should not send mail directly
fix: PBL on a cloud VM is normal and expected — relay through a provider.
[ok] OK SPF present
v=spf1 include:spf.provider.com ~all
------------------------------------------------------------------------
2 blocking issue(s), 10 total check(s)
------------------------------------------------------------------------
Exit code is `1` when anything blocking is found, so it drops into CI or a cron check unchanged.
Why this one
There are several SPF/DKIM/DMARC auditing skills. This one differs in four ways that came out of actually getting a domain unblocked:
- Blocklist lookups go through the system resolver, not DNS-over-HTTPS. Spamhaus refuses
queries arriving from Google and Cloudflare public DNS and answers
127.255.255.252–254. A checker that resolves
Related Skills
Email To Spam
Diagnose why email lands in spam — inbound false positives and outbound deliverability. Headers, SPF/DKIM/DMAR
Emailwarm
Claude skill for email warmup: warm a new sending domain so mail stops landing in spam. Audits SPF/DKIM/DMARC,
Gmail
Gmail API and IMAP access patterns for sending, drafting, and searching email across Max's accounts
Hk Doctor
Diagnose any FlowKit error and prescribe a fix. Knows the full error taxonomy across Flow, extension, FastAPI,
Email Campaigns Claude
Beautiful HTML email campaigns with Resend and Claude Code.
Clean List
Validate an email list before sending (deliverability hygiene)
Related Agents
Outreach Deliverability Auditor
Deliverability auditor. Audits one sending mailbox end to end (SPF, DKIM, DMARC, MX, tracking domain, domain b
Deliverability Reviewer
Reviews a mailctl plan or audit before apply and flags changes that can stop mail from arriving or destroy dat
Campaign Email
Sends campaign emails via Klaviyo, Resend, or Postmark. For: campaign: :email-send, campaign.