Operate the Resend CLI and MCP server for sending emails, managing domains, contacts, broadcasts, templates, webhooks, API keys, and segments. Use when the user mentions Resend, wants to send email from the terminal, manage email infrastructure, work with Resend domains or contacts, create broadcasts, manage email templates, or any task involving the `resend` command or Resend MCP tools. Also trigger when the user says 'resend-send', 'send an email', 'email sending', 'resend domains', 'resend contacts', 'resend broadcasts', 'resend templates', 'configure resend', 'update resend config', 'resend setup', or references Resend operations. Manages per-project configuration (.resend.md) for domain, sender address, and sending instructions.
From resend-clinpx claudepluginhub nthplusio/functional-claude --plugin resend-cliThis skill uses the workspace's default tool permissions.
references/commands.mdreferences/setup.mdGuides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Optimizes cloud costs on AWS, Azure, GCP via rightsizing, tagging strategies, reserved instances, spot usage, and spending analysis. Use for expense reduction and governance.
On every activation, run through these checks in order before proceeding with the user's request. See references/setup.md for detailed procedures.
.resend.md)Read .resend.md from the project root. If it exists, parse the YAML frontmatter:
---
domain: nthplus.io
from: "Claude <claude@nthplus.io>"
instructions: |
Keep emails professional and concise.
Sign off with "Best regards"
---
Fields:
domain — Sending domainfrom — Default sender in "Name <address>" formatinstructions — Behavioral guidelines for composing emails (tone, sign-off, formatting, CC rules, etc.)If .resend.md is missing: Run first-time setup — see references/setup.md § First-Run Setup.
If the user asks to update/change config: Read the current file, ask what to change, update the frontmatter, confirm. See references/setup.md § Updating Configuration.
.mcp.json)Check .mcp.json at the project root for a resend entry under mcpServers. If missing, set it up — see references/setup.md § MCP Server Setup.
When the MCP server is configured, mcp__resend__* tools are available for direct API access. Prefer MCP tools over the CLI for sending emails and managing resources.
Note: After adding the MCP server entry, the user may need to restart their Claude session for the tools to become available.
Only run these checks when an operation requires the CLI (webhook listening, diagnostics, auth management, or when MCP tools are unavailable):
~/.resend/bin/resend --version
If not found: curl -fsSL https://resend.com/install.sh | bash
Always apply project configuration when sending:
from value from .resend.md as the default senderinstructions from the config (tone, format, sign-off, etc.)Use mcp__resend__* tools when the MCP server is configured. Pass the from address from config.
~/.resend/bin/resend emails send \
--from "<from-value-from-config>" \
--to user@example.com \
--subject "Subject" \
--text "Body"
Send HTML email:
~/.resend/bin/resend emails send --from "<FROM>" --to user@example.com --subject "Update" --html "<h1>Hello</h1>"
Send with attachments:
~/.resend/bin/resend emails send --from "<FROM>" --to user@example.com --subject "Files" --text "See attached" --attachment ./doc.pdf
Pipe HTML from file:
~/.resend/bin/resend emails send --from "<FROM>" --to user@example.com --subject "Newsletter" --html-file ./newsletter.html
Send using a template:
~/.resend/bin/resend emails send --from "<FROM>" --to user@example.com --template tmpl_abc123 --var name=Alice
Batch send from JSON:
~/.resend/bin/resend emails batch --file batch.json
Schedule for later:
~/.resend/bin/resend emails send --from "<FROM>" --to user@example.com --subject "Reminder" --text "..." --scheduled-at "2025-03-01T09:00:00Z"
| Task | Command |
|---|---|
| Send email | resend emails send --from ... --to ... --subject ... --text/--html ... |
| List sent emails | resend emails list |
| Batch send | resend emails batch --file emails.json |
| Cancel scheduled | resend emails cancel <id> |
| List domains | resend domains list |
| Verify domain | resend domains verify <id> |
| List contacts | resend contacts list |
| Create broadcast | resend broadcasts create --from ... --subject ... --segment-id ... --html ... |
| Send broadcast | resend broadcasts send <id> |
| List templates | resend templates list |
| Create webhook | resend webhooks create --endpoint https://... --events all |
| Listen webhooks | resend webhooks listen --url <tunnel-url> |
| Check auth | resend whoami |
| Diagnostics | resend doctor |
--api-key <key> — Override API key-p, --profile <name> — Use specific profile--json — Force JSON output-q, --quiet — Suppress spinners, implies --json--json): JSON on stdout, nothing on stderr{"error":{"message":"...","code":"..."}} + exit code 1For complete flags and options, see references/commands.md.
Command groups: emails, domains, api-keys, broadcasts, templates, contacts, contact-properties, segments, topics, webhooks, auth.