Agent skill
email-infrastructure-setup
Set up and verify email infrastructure — dedicated outbound domains, SPF+DKIM+DMARC, RFC 8058 one-click unsubscribe, 14+ day warmup, and emit the readiness flag gating cold-email-sequence.
Filed under Outbound email.
From devangk003/gtm-agent-skills · 32 skills · 0 · pushed 2026-06-18
What it does when it runs
Set up and verify email infrastructure — dedicated outbound domains, SPF+DKIM+DMARC, RFC 8058 one-click unsubscribe, 14+ day warmup, and emit the readiness flag gating cold-email-sequence. Use when a new outbound program starts, deliverability has degraded, migrating sending platforms, or Google/Microsoft Feb 2024 enforcement breaks an existing sender.
Read from the skill and the 4 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- AGENTIC_APP_TOKEN
- Hosts it reaches
- outbound-domain.com
- workflowdoc-mail.com
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/devangk003/gtm-agent-skills.git /tmp/gtm-agent-skills git -C /tmp/gtm-agent-skills sparse-checkout set "email-infrastructure-setup" mkdir -p ~/.claude/skills/email-infrastructure-setup cp -R "/tmp/gtm-agent-skills/email-infrastructure-setup/." ~/.claude/skills/email-infrastructure-setup/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
Before you install: this skill will not complete its job on a bare agent. It needs AGENTIC_APP_TOKEN, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from devangk003/gtm-agent-skills/blob/6b9a1b0094ffd83d6c02bc03b7ce1610661a1644/email-infrastructure-setup/SKILL.md, which is licensed MIT (skill frontmatter). 943 words, 9 headings.
Email Infrastructure Setup
Establish the deliverability foundation every other email skill depends on: dedicated outbound domains, DNS authentication (SPF+DKIM+DMARC), RFC 8058 one-click unsubscribe, and 14+ day warmup. Emits the binary readiness_flag that gates cold-email-sequence.
Clarification Protocol
When you encounter any of the following, STOP and ask the user — do NOT make a silent assumption, and do NOT flatly refuse:
- Ambiguous or missing input
- A fork in approach (multiple valid frameworks, segments, scopes, or sources)
- A rule that would block progress
- An assumption that materially shapes the output
- Unverified data that a downstream step depends on
Present 2–4 concrete options with trade-offs and your recommendation.
Format:
Decision needed: <what's being decided> Options:
- A) <option> — trade-off
- B) <option> — trade-off
- C) <option> — trade-off My recommendation: <X> because <reason>. Confirm or pick a different option before I continue.
Refusing to proceed is NEVER the final answer. Every "block" must come with an override option. If the user picks an override, honor it on the first request — do not re-prompt the same block multiple times in one run.
Scope
This skill ONLY produces outbound email infrastructure setup checklist (DNS, SPF/DKIM/DMARC, warmup schedule, deliverability monitoring). Do not expand into adjacent topics. If the user's request implies adjacent scope, trigger Clarification Protocol with options to (A) stay in scope, (B) note the adjacent need as a follow-up, (C) hand off to a different skill.
When to Use
- New outbound program needs email infrastructure from scratch
- Deliverability tanked — audit and fix existing setup
- Migrating sending platforms (Outreach.io → Smartlead, etc.)
- Google/Microsoft sent a bulk-sender warning
- Adding a second outbound domain to scale volume
- Recovery after complaint-rate spike or blacklist event
- Domain warmup score below 70 — need to complete ramp
Quick Reference
| Concept | Value |
|---|---|
| Reputation isolation | Cold outbound from brand-mail.com variant, NEVER brand domain |
| DNS records required | SPF, DKIM (≥2048-bit), DMARC (start p=none), MX, rDNS |
| One-click List-Unsubscribe | RFC 8058 — mandatory for >5k/day (Google/MS 2024) |
| DMARC ramp | p=none → p=quarantine (Day+30 if clean) → p=reject (high-stakes) |
| Warmup duration | 21–30 days new/cold; 14-day floor aged domains; 30-day floor >200/day |
| Warmup score threshold | ≥70 to flip readiness flag |
| Domain age threshold | ≥14 days |
| Daily ramp caps | 5/day → +5 every 5 days → 30/day after 14 days |
| Postmaster gate | "High" or "Medium" only; "Low"/"Bad" → extend warmup |
| Complaint thresholds | Target 0.10%; Google enforcement ceiling 0.30% |
| Bulk-sender mode | >5,000/day → mandatory DMARC + 0.3% complaint cap |
Procedure
- Test Mode prompt (pre-procedure) — Before full setup, ask the user: "Do you want a dry run on a single domain first to validate the setup, or full setup across all domains? (A) Single-domain dry run (B) Full setup (C) Cancel." Honor the choice on first reply; do not re-prompt within the same run.
- Audit existing infrastructure — If migrating, pull current SPF/DKIM/DMARC via
${HERMES_SKILL_DIR}/references/dns-frameworks.md. Surface mis-configs before new setup. - Choose dedicated outbound domain(s) — Propose 2–3 brand variants (
<brand>-mail.com,get<brand>.com). NOT the brand domain. For >200/day plan 2+ domains for rotation. - Register + configure DNS — Per outbound domain: publish SPF, DKIM (≥2048-bit from sending platform), DMARC (
p=none; rua=...), MX, rDNS. Watch SPF 10-lookup limit. See${HERMES_SKILL_DIR}/references/dns-frameworks.mdfor record formats. - Configure RFC 8058 one-click List-Unsubscribe — Both headers on every send. Process unsub within 24h. Mandatory under Google/MS 2024 for >5k/day senders.
- Configure jurisdiction-aware footers — US: physical address (CAN-SPAM). EU/UK: LIA + opt-out + DPO (GDPR). CA: identification + opt-out (CASL). Templates in
${HERMES_SKILL_DIR}/references/compliance-footers.md. - Initiate warmup ramp — Day 0: enable platform warmup, cap 5/day. Ramp +5 every 5 days. No shortcuts. Schedule detailed in
${HERMES_SKILL_DIR}/references/warmup-schedule.md. - Run reputation baseline (Day+14) — Pull Google Postmaster, Microsoft SNDS, TalosIntel, MXToolbox. Cross-check; want Postmaster High/Medium, SNDS green/yellow.
- Emit readiness flag — All gates pass →
readiness_flag: true+ready_for_sends_per_day. Any gate fails → defaultreadiness_flag: false+failed_gates+ remediation. If the user explicitly chooses to proceed despite failed gates, trigger Clarification Protocol (A) remediate now, (B) proceed withreadiness_flag: false+lower-confidenceand reduced sends/day, (C) cancel — and honor the override on first request. - Push to CRM — Run
${HERMES_SKILL_DIR}/scripts/push_to_crm.pywith the setup record. Infrastructure is system-state (not entity-state) — pushes asinteraction:researchonly.
Pitfalls
- Sending from the brand domain — reputation contamination is unrecoverable
- Skipping warmup — Day-1 cold-blast = instant blacklist
- DMARC straight to
p=reject— breaks transactional + reply email - 1024-bit DKIM keys — Yahoo treats as deprecated; Google deprioritizes
- No List-Unsubscribe header — auto-spam under Google 2024 rules
- No physical address (CAN-SPAM US) — legal violation
Verification
- Every DNS record resolves correctly via MXToolbox + dig; one-click unsubscribe processes test request within 24h; physical address renders in test emails
- Postmaster Tools and SNDS both show valid baseline (not "Bad"/red); warmup score climbs per ramp schedule
- Test send to real Gmail and real Outlook inboxes both land in primary tab
Output Format
- Sections required: Setup Checklist (per domain), DNS Record Plan, Warmup Schedule, Compliance Notes
- Tables / fields: DNS Record Plan =
Record type | Hostname | Value | Status [pending/active/verified]; Warmup Schedule =Day | Volume | Notes - Length target: ≤800 words per domain
- File type: markdown
- Mandatory closing sections: Verification Notes, Next Step
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- cold-email by coreyhaines31 · 45,947
- ab-test-setup by OpenClaudia · 664
- email-sequence by OpenClaudia · 664
- email-subject-lines by OpenClaudia · 664
- email-marketing by shawnpang · 308
- email-marketing-bible by CosmoBlk · 280
- ab-test-setup by louisblythe · 136
- email-sequence by louisblythe · 136
Need help setting it up?
This page tells you what email-infrastructure-setup does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.