Skip to content
cccskills
FreePublished on GitHub

resend

Send transactional or notification emails via the Resend API — text and HTML content, multiple recipients, CC/BCC, reply-to, and file attachments. Single Python script with stdin pipe support. Triggers on 'send email', 'transactional email', 'email notification', 'Resend API', 'send via Resend'.

The English summary is being prepared. Showing the original description.

See how to install

Files included (4)

  • SKILL.md5.3 KB
  • README.md3.6 KB
  • scripts/_resend_utils.py3.6 KB
  • scripts/send.py4.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Resend Email Skill

Send emails via the Resend transactional email API.

IMPORTANT: Confirm Before Sending

Always confirm with the user before sending an email. Show them the recipient(s), subject, and body content and get explicit approval. Email is not reversible.

When to Use This Skill

  • Sending a transactional or notification email
  • Sending HTML email (inline or from a file)
  • Sending email with attachments
  • Piping content from another command into an email body

Prerequisites

  1. API Key: Get a Resend API key at https://resend.com/api-keys (format: re_xxxxxxxxx)
  2. Add to secrets: Add export RESEND_API_KEY=re_xxxxxxxxx to ~/.config/env/secrets.env
  3. Verify domain (optional): By default, send from onboarding@resend.dev (test only). For production, verify a domain at https://resend.com/domains
  4. Install requests: uv pip install --system requests

Credentials checked in order: RESEND_API_KEY env var > ~/.config/env/secrets.env > ~/.claude.json

Quick Start

# Simple text email
python3 ~/.claude/skills/resend/scripts/send.py \
  --to "recipient@example.com" \
  --subject "Hello from Claude" \
  --body "This is a test email."

# HTML email from a file
python3 ~/.claude/skills/resend/scripts/send.py \
  --to "recipient@example.com" \
  --subject "Weekly Report" \
  --html report.html

# Pipe content as body
echo "Pipeline output here" | python3 ~/.claude/skills/resend/scripts/send.py \
  --to "recipient@example.com" \
  --subject "Build Results"

# Multiple recipients with CC
python3 ~/.claude/skills/resend/scripts/send.py \
  --to "alice@example.com" "bob@example.com" \
  --cc "manager@example.com" \
  --subject "Meeting Notes" \
  --body "Attached are the notes from today."

# With attachments
python3 ~/.claude/skills/resend/scripts/send.py \
  --to "recipient@example.com" \
  --subject "Invoice" \
  --body "Please find the invoice attached." \
  --attachments invoice.pdf

# Custom from address (requires verified domain)
python3 ~/.claude/skills/resend/scripts/send.py \
  --from "tom@minoanmystery.org" \
  --to "recipient@example.com" \
  --subject "Test" \
  --body "Sent from a verified domain."

# Inline HTML string
python3 ~/.claude/skills/resend/scripts/send.py \
  --to "recipient@example.com" \
  --subject "Styled Email" \
  --html "<h1>Hello</h1><p>This is <strong>bold</strong>.</p>"

# Dry run (print payload without sending)
python3 ~/.claude/skills/resend/scripts/send.py \
  --to "recipient@example.com" \
  --subject "Test" \
  --body "Hello" \
  --dry-run

Parameters

python3 ~/.claude/skills/resend/scripts/send.py [OPTIONS]
FlagDescriptionRequired
--to EMAIL [EMAIL...]Recipient email address(es)Yes
--subject TEXTEmail subject lineYes
--body TEXTPlain text body (or pipe via stdin)One of --body, --html, or stdin
--html FILE_OR_STRINGHTML body: path to .html file, or inline HTML stringOne of --body, --html, or stdin
--from EMAILSender address (default: Tom di Mino <tom@send.minoanmystery.org>)No
--cc EMAIL [EMAIL...]CC recipientsNo
--bcc EMAIL [EMAIL...]BCC recipientsNo
--reply-to EMAILReply-to addressNo
--attachments FILE [FILE...]File paths to attachNo
--dry-runPrint the payload without sendingNo

Body resolution: --body and --html can be combined for multipart email (text + HTML). If neither is provided, stdin is used as plain text. --body "" sends an empty text part.

Sender Aliases

Use --from ALIAS as a shorthand for named senders:

AliasExpands to
tomTom di Mino <tom@send.minoanmystery.org>
kotharKothar wa Khasis <kothar@send.minoanmystery.org>
claudiusClaudius, Artifex Maximus <claudius@send.minoanmystery.org>
minoanMinoan Mystery <contact@send.minoanmystery.org>
# Send as Kothar
--from kothar

# Send as Claudius
--from claudius

If --from doesn't match an alias, it's used as-is (full email or Name <email> format).

Test Addresses

Resend provides test addresses that don't affect domain reputation:

  • delivered@resend.dev — simulates successful delivery
  • bounced@resend.dev — simulates a bounce

Rate Limits

Resend enforces 2 requests per second. The script does not batch or retry — if sending multiple emails, add a 1-second delay between invocations.

Troubleshooting

ProblemFix
RESEND_API_KEY not foundAdd export RESEND_API_KEY=re_xxx to ~/.config/env/secrets.env
missing_required_fieldEnsure --to and --subject are provided, plus body content
validation_error on fromDefault onboarding@resend.dev only works for test sends. Verify a domain at resend.com/domains
rate_limit_exceededWait 1 second between sends (2 req/s limit)
Attachment not foundUse absolute paths or paths relative to CWD

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Search academic papers, build literature reviews, and synthesize research findings — combines Exa MCP (research_paper category, arxiv filtering) with arxiv-mcp-server for paper discovery, download, and deep analysis. Triggers on academic paper, literature review, research synthesis, arxiv, find papers, scholarly search.

The English summary is being prepared. Showing the original description.

tdimino/claude-code-minoan41Updated Oct 16, 2026

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.

The English summary is being prepared. Showing the original description.

tdimino/claude-code-minoan41Updated Oct 16, 2026

This skill should be used when creating, auditing, or maintaining AGENTS.md files and Codex CLI configuration for any project—including initializing AGENTS.md for cross-agent compatibility (Codex, Cursor, Copilot, Devin, Jules, Amp, Gemini CLI), generating config.toml or .rules files, scaffolding .agents/skills/, converting CLAUDE.md to AGENTS.md, or auditing existing agent configs for bloat and staleness. Complementary to codex-orchestrator (which executes subagents; this skill creates the config files they consume).

The English summary is being prepared. Showing the original description.

tdimino/claude-code-minoan41Updated Oct 16, 2026

Academic research skill for Biblical Hebrew, Semitic linguistics, cuneiform studies, and comparative Ancient Near Eastern research. Provides Sefaria API for Hebrew Bible, CDLI/ORACC for cuneiform databases, and web discovery via Omnisearch, Exa, Firecrawl, and Obscura for finding scholarly sources across JSTOR, Perseus, Persée, Google Scholar, and academia.edu. Triggers on Hebrew quotes, cuneiform, Sefaria, ANE research, Minoan, search for scholarship, find papers, literature review, scholarly search, academic search, Genesis/Tehom, Ugaritic, Talmudic sources, extract from PDF, OCR academic.

The English summary is being prepared. Showing the original description.

tdimino/claude-code-minoan41Updated Oct 16, 2026

Build comprehensive ARCHITECTURE.md files following matklad's canonical guidelines — bird's-eye views, ASCII/Mermaid diagrams, codemaps, invariants, and layer boundaries. Triggers on document the architecture, create ARCHITECTURE.md, map this codebase, architectural overview.

The English summary is being prepared. Showing the original description.

tdimino/claude-code-minoan41Updated Oct 16, 2026

Generate physically-based atmospheric scattering shaders — sky domes, planetary atmospheres, LUT-optimized pipelines, depth-aware post-processing. Four modes — sky-dome, atmosphere-post, planet, lut. Triggers on atmospheric scattering, sky shader, sunset rendering, planet atmosphere, Rayleigh scattering, Mie scattering, volumetric sky, sky dome, atmosphere post-processing, aerial perspective, transmittance LUT, sky rendering, realistic sky, planetary rendering.

The English summary is being prepared. Showing the original description.

tdimino/claude-code-minoan41Updated Oct 16, 2026

See all skills by tdimino

Report a problem with this skill