# Send With Resend

Send email through Resend without surprising anyone, check the sending domain first...

- Repository: https://github.com/ParadevAI/Paradev (15823 stars)
- Category: Testing
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ParadevAI/Paradev --skill send-with-resend -g -a claude-code -y`
Codex: `npx skills add ParadevAI/Paradev --skill send-with-resend -g -a codex -y`
Cursor: `npx skills add ParadevAI/Paradev --skill send-with-resend -g -a cursor -y`
Gemini CLI: `npx skills add ParadevAI/Paradev --skill send-with-resend -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add ParadevAI/Paradev`

## Description

Send email through Resend without surprising anyone, check the sending domain first, prove the message on Resend's test addresses, and get the user's confirmation before mail goes to a real inbox. Use when the user asks to send, schedule, or batch-send an email, test a template, or wire Resend sending into a codebase.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# A sent email cannot be taken back

Every other Resend call can be run again. `send-email` and `send-batch-emails`
put mail in someone's inbox, and nothing undoes that. Treat the send as the last
step of a short checklist.

## 1. Check the sending domain

The `from` address must be on a domain the account has verified for sending.
Run `list-domains` and find the domain of the `from` address:

- `verified`: send.
- `pending`, `not_started`, `failed`, or partly verified: do not send. Run
  `get-domain` and show the user the DNS records that are not verified yet.
- Not in the list: the account cannot send from it. Ask which verified domain
  to use. Do not pick one for the user.

`onboarding@resend.dev` sends without a domain, but only to the account
owner's own address. It is for a first test, not for real recipients.

## 2. Prove it on a test address first

Before a real recipient, send the same message to Resend's test addresses.
Remove `cc` and `bcc`, and put only test addresses in `to`. A real address in
any recipient field gets the test email before the user confirms in step 3.

- `delivered@resend.dev`: delivered. Add a label for each case, for example
  `delivered+welcome@resend.dev`.
- `bounced@resend.dev`: a hard bounce.
- `complained@resend.dev`: delivered, then marked as spam.
- `suppressed@resend.dev`: suppressed as an address that bounced before.

Then run `get-email` on the result. Its status is the truth: `sent` means
Resend accepted the message, `delivered` means the receiving server accepted
it.

## 3. Confirm before a real inbox

Show the user the `from`, `to`, `cc`, `bcc`, subject, and body, and wait for a
clear yes. Get this confirmation every time. Approval for an earlier send does
not cover this one.

The rest: https://github.com/ParadevAI/Paradev/blob/HEAD/plugins/resend/skills/send-with-resend/SKILL.md
