email-infrastructure
Email delivery infrastructure - DNS authentication (SPF/DKIM/DMARC), subdomain isolation, provider abstraction, template systems, bounce handling, warmup…
Skill by vibeeval
Chalk Labs
Need help deploying email-infrastructure?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vibeeval-email-infrastructure
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/email-infrastructure
What's inside
- Skill name
email-infrastructure- Description
- Email delivery infrastructure - DNS authentication (SPF/DKIM/DMARC), subdomain isolation, provider abstraction, template systems, bounce handling, warmup strategy, and deliverability monitoring.
- License
- MIT
- Instructions
- 293 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Email Infrastructure
Production email delivery requires DNS authentication, domain isolation, and provider-agnostic architecture. A single misconfiguration can land your entire domain in spam.
## GOOD vs BAD: Domain Strategy
```
BAD: Send bulk marketing from example.com
→ Spam complaints tank your main domain reputation
→ Transactional emails (password reset, receipts) start landing in spam
→ Recovery takes weeks of warmup
GOOD: Subdomain isolation with separate reputations
→ mail.example.com for transactional (password reset, receipts, 2FA)
→ notify.example.com for product notifications (comments, mentions)
→ marketing.example.com for bulk campaigns (newsletters, promotions)
→ Each subdomain has independent reputation — one bad campaign does not poison the rest
```
## DNS Authentication: SPF + DKIM + DMARC
```
# SPF — declare which servers can send from your domain
mail.example.com TXT "v=spf1 include:_spf.provider.com ~all"
# DKIM — cryptographic signature on every email
selector._domainkey.mail.example.com TXT "v=DKIM1; k=rsa; p=MIGf..."
# DMARC — policy for failed authentication (progressive rollout)
# Week 1-2: monitor only
_dmarc.mail.example.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
# Week 3-4: quarantine suspicious emails
_dmarc.mail.example.com TXT "v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@example.com"
# Week 5+: reject after confidence builds
_dmarc.mail.example.com TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com"
```
Never jump straight to `p=reject`. The progressive rollout catches misconfigurations before they block legitimate mail.
## Email Provider Abstraction
```typescript
// Swap Resend, SES, Postmark, or Mailgun without touching business logic
interface EmailProvider {
send(message: EmailMessage): Promise<EmailResult>
sendBatch(messages: EmailMessage[]): Promise<EmailResult[]>
}
interface EmailMessage {
from: string
to: string | string[]
subject: string
html: string
text?: string
replyTo?: string
headers?: Record<string, string>
tags?: Record<string, string>
}
interface EmailResult {
id: string
status: 'sent' | 'queued' | 'failed'
error?: string
}
// Factory selects provider from config — no hardcoded vendor
function createEmailProvider(config: { provider: string }): EmailProvider {
switch (config.provider) {
case 'resend': return new ResendProvider()
case 'ses': return new SESProvider()
case 'postmark': return new PostmarkProvider()
default: throw new Error(`Unknown email provider: ${config.provider}`)
}
}
```
## Transactional vs Marketing Separation
```typescript
interface EmailService {
sendTransactional(message: EmailMessage): Promise<EmailResult>
sendMarketing(message: EmailMessage): Promise<EmailResult>
}
class ProductionEmailService implements EmailService {
constructor(
private transactional: EmailProvider, // high-deliverability provider
private marketing: EmailProvider // bulk-optimized provider
) {}
async sendTransactional(message: EmailMessage): Promise<EmailResult> {
// Transactional: password reset, receipts, 2FA — must arrive instantly
// Use mail.example.com subdomain, high-priority provider
return this.transactional.send({
...message,
from: `noreply@mail.example.com`,
headers: { 'X-Priority': '1' }
})
}
async sendMarketing(message: EmailMessage): Promise<EmailResult> {
// Marketing: newsletters, promotions — rate-limited, includes unsubscribe
// Use marketing.example.com subdomain, bulk provider
return this.marketing.send({
...message,
from: `hello@marketing.example.com`,
headers: { 'List-Unsubscribe': `<https://example.com/unsubscribe>` }
})
}
}
```
## Template System (MJML)
```typescript
// MJML compiles to responsive HTML that works across all email clientsFrom vibeeval/vibecosystem, MIT.
Signals
- Stars
- 540
- Forks
- 44
- Open issues
- 5
- Last commit (this folder)
- Mar 24, 2026 (7 months ago)
- Last release
- Apr 12, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/vibeeval/vibecosystem
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vibeeval
- 0.565score
codex-orchestration
vibeeval
OpenAI Codex CLI + Claude Code (Hizir) birlikte kullanim rehberi.
SkillBFreshness: B★ 540Claude Code +9 - 0.562score
plan-agent
vibeeval
Planning agent that creates implementation plans and handoffs from conversation context
SkillBFreshness: B★ 540Claude Code +9 - 0.559score
help
vibeeval
Interactive workspace discovery - learn what tools, workflows, agents, and hooks are available
SkillBFreshness: B★ 540Claude Code +9 - 0.559score
cli-reference
vibeeval
Claude Code CLI commands, flags, headless mode, and automation patterns
SkillBFreshness: B★ 540Claude Code +9 - 0.559score
explore
vibeeval
Meta-skill for internal codebase exploration at varying depths (quick/deep/architecture)
SkillBFreshness: B★ 540Claude Code +9 - 0.524score
tdd-workflow
vibeeval
Use this skill when writing new features, fixing bugs, or refactoring code.
SkillCFreshness: C★ 540Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get email-infrastructure running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
email-infrastructure skill. Agent Mart. https://agentmart.dev/skills/vibeeval-email-infrastructure (last updated 2026-10-24)