← marketplace
engineersapisha:0edffcb4171953famanual
resend-email-skill
Use when sending single, batch, or scheduled transactional emails via Resend with React Email templates, using Resend's official Claude Code skill and MCP server.
Install confidence
reviewed
curl --create-dirs -fsSL https://skillmake.xyz/i/resend-email-skill -o ~/.claude/skills/resend-email-skill/SKILL.md
Pinned content
sha:0edffcb4171953fa
Generated with
manual
Source
resend.com
The file served at /api/marketplace/resend-email-skill-0edffcb4/raw matches this hash. Inspect before install, then copy the command.
3,754 chars · ~939 tokens
--- name: resend-email-skill description: "Use when sending single, batch, or scheduled transactional emails via Resend with React Email templates, using Resend's official Claude Code skill and MCP server." source: https://resend.com/claude-code generated: 2026-05-17T04:18:34.386Z category: api audience: engineers --- ## When to use - Sending a single transactional email through resend.emails.send - Batching up to 100 emails in one request to Resend - Scheduling emails for future delivery via Resend - Authoring email templates as React Email components - Adding idempotency keys so retries do not duplicate sends - Wiring the Resend MCP server into Claude Code for email workflows ## Key concepts ### Resend agent skill An installable skill bundle that teaches AI agents Resend's idioms: it activates automatically when an email task is detected and produces production-ready code that follows Resend best practices. ### Resend MCP server A Model Context Protocol server exposing 56+ Resend tools to Claude Code via npx -y resend-mcp, authenticated with a RESEND_API_KEY environment variable. ### Batch send A single API call that delivers up to 100 emails per request, useful for transactional fan-out like welcome flows or order confirmations without hitting per-request overhead. ### Idempotency key A client-supplied string sent with the request so safe retries (network errors, timeouts) do not result in duplicate emails. Resend dedupes against the key for a bounded window. ### Automatic retries with backoff The skill recommends exponential backoff for transient 5xx and network failures so transient infrastructure issues do not drop legitimate sends. ### React Email templates Email bodies are authored as React components, letting agents share design tokens with the web app and render to HTML at send time instead of hand-writing table-based markup. ## API reference ``` claude mcp add resend -e RESEND_API_KEY=re_xxx -- npx -y resend-mcp ``` Registers the Resend MCP server with Claude Code so the agent can call Resend tools directly. ``` claude mcp add resend \ -e RESEND_API_KEY=re_xxxxxxxxx \ -- npx -y resend-mcp ``` ``` npx skills add resend/resend-skills ``` Installs the Resend agent skill bundle so compatible agents pick up Resend best practices automatically. ``` npx skills add resend/resend-skills ``` ``` resend.emails.send({from, to, subject, react}) ``` Sends a single transactional email using a React Email component as the body. ``` await resend.emails.send({ from: 'you@yourdomain.com', to: 'user@example.com', subject: 'Welcome', react: <WelcomeEmail name="Ada" /> }); ``` ``` resend.batch.send(emails[]) ``` Sends up to 100 emails in one API call for transactional fan-out workloads. ``` await resend.batch.send([ { from, to: 'a@example.com', subject: 'Hi', react: <Tpl/> }, { from, to: 'b@example.com', subject: 'Hi', react: <Tpl/> } ]); ``` ## Gotchas - RESEND_API_KEY must be set in the MCP env block; missing it leaves the agent unable to send and surfaces a vague auth error. - Batch send is capped at 100 messages per request; larger lists must be chunked client-side. - Without an idempotency key, network retries can deliver the same email multiple times to the recipient. - The from address must use a verified domain in Resend; unverified domains fail with 403 from_address_not_verified. - React Email components must be serializable to HTML at send time; runtime hooks or browser-only APIs throw. - Scheduled sends use Resend's clock, not the caller's; off-by-timezone bugs are common when passing local datetimes. --- Generated by SkillMake from https://resend.com/claude-code on 2026-05-17T04:18:34.386Z. Verify against source before relying on details.
File: ~/.claude/skills/resend-email-skill/SKILL.md