All skills
resend avatar

/resend-cli

@edbfece official
by resendresend/resend-skills193 stars
28

Operate the Resend platform from the terminal — send emails (including React Email .tsx templates via --react-email), manage domains, contacts, broadcasts, templates, webhooks, API keys, logs, automations, and events via the `resend` CLI. Use when the user wants to run Resend commands in the shell, scripts, or CI/CD pipelines, or send/preview React Email templates. Always load this skill before running `resend` commands — it contains the non-interactive flag contract and gotchas that prevent silent failures.

Use this Skill: https://skilld.dev/gh/resend/resend-skills/resend-cli

This session only. Nothing lands on disk.

referencesdomains.md

≈1.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

domains

Detailed flag specifications for resend domains commands.


domains list

List all domains.

Flag Type Default Description
--limit <n> number 10 Max results (1-100)
--after <cursor> string — Forward pagination
--before <cursor> string — Backward pagination

Note: List does NOT include DNS records. Use domains get for full details.


domains create

Create a new domain and receive DNS records to configure.

Flag Type Required Description
--name <domain> string Yes (non-interactive) Domain name (e.g., example.com)
--region <region> string No us-east-1 | eu-west-1 | sa-east-1 | ap-northeast-1
--tls <mode> string No opportunistic (default) | enforced
--tracking-subdomain <subdomain> string No Subdomain for click and open tracking (e.g., track)
--custom-return-path <subdomain> string No Subdomain for the Return-Path address (e.g., bounce)
--sending boolean No Enable sending (default: enabled)
--receiving boolean No Enable receiving (default: disabled)

Output: Domain object with records[] array of DNS records to configure.


domains get

Argument: <id> — Domain ID

Returns full domain with records[], status (not_started|pending|verified|failed|temporary_failure), capabilities, region, open_tracking, click_tracking, tracking_subdomain. Records may include a Tracking CNAME record when a tracking subdomain is configured, and a TrackingCAA CAA record when the root domain has CAA records that require an additional entry for AWS certificate issuance.


domains verify

Trigger async DNS verification.

Argument: <id> — Domain ID

Output: {"object":"domain","id":"..."}


domains update

Argument: <id> — Domain ID

Flag Type Description
--tls <mode> string opportunistic | enforced
--open-tracking boolean Enable open tracking
--no-open-tracking boolean Disable open tracking
--click-tracking boolean Enable click tracking
--no-click-tracking boolean Disable click tracking
--tracking-subdomain <subdomain> string Subdomain for click and open tracking (e.g., track)

At least one option required.


domains delete

Argument: <id> — Domain ID

Flag Type Required Description
--yes boolean Yes (non-interactive) Skip confirmation

Alias: rm


domains claim

Claim a domain that another Resend account has already verified. The domain transfers to your account as a brand-new domain with fresh DKIM keys, so the previous account's DNS records can't be reused.

Lifecycle:

  1. resend domains claim create --name example.com — returns the TXT record to add
  2. Add the TXT record at your DNS provider
  3. resend domains claim verify <domain-id> — trigger verification + transfer
  4. resend domains claim get <domain-id> — poll until completed
  5. The transferred domain has NEW DKIM records — run resend domains get <domain-id> for the records, update DNS, then resend domains verify <domain-id>

Claim status values: pending | verified | completed | blocked | expired | superseded | canceled | failed.

domains claim create

Flag Type Required Description
--name <domain> string Yes (non-interactive) Domain name to claim (e.g., example.com)
--region <region> string No us-east-1 | eu-west-1 | sa-east-1 | ap-northeast-1
--tracking-subdomain <subdomain> string No Subdomain for click and open tracking (e.g., track)
--custom-return-path <subdomain> string No Subdomain for the Return-Path address (e.g., bounce)
--open-tracking / --no-open-tracking boolean No Enable/disable open tracking
--click-tracking / --no-click-tracking boolean No Enable/disable click tracking

Output: domain_claim object with domain_id (the placeholder domain) and a TXT record to add to DNS.

domains claim get

Argument: <id> — Domain ID (the placeholder domain created by the claim)

Output: domain_claim with status, domain_id, the TXT record, blocked_reason, expires_at.

domains claim verify

Argument: <id> — Domain ID (the placeholder domain created by the claim)

Triggers async verification + transfer. Poll domains claim get <id> for status. After completed, fetch the new DKIM records with domains get <id>, update DNS, then run domains verify <id>.

Source: SKILL.md on GitHub

1 warning1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    This skill provides a comprehensive CLI for managing the Resend email platform. It includes robust documentation on credential safety, preventing accidental API key exposure, and specifically warns agents about treating inbound email content as untrusted data. The skill is published by the official Resend team and uses standard development practices.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    1 finding · Score: 82/100

Signed by skilld at edbfece. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 2 days ago
Other metadata
metadata
{
  "author": "resend",
  "version": "2.15.0",
  "homepage": "https://resend.com/docs/cli-agents",
  "source": "https://github.com/resend/resend-cli",
  "openclaw": {
    "primaryEnv": "RESEND_API_KEY",
    "requires": {
      "env": [
        "RESEND_API_KEY"
      ],
      "bins": [
        "resend"
      ]
    },
    "envVars": [
      {
        "name": "RESEND_API_KEY",
        "required": true,
        "description": "Resend API key for authenticating CLI commands"
      },
      {
        "name": "RESEND_PROFILE",
        "required": false,
        "description": "Named auth profile for multi-account setups"
      }
    ],
    "install": [
      {
        "kind": "node",
        "package": "resend-cli",
        "bins": [
          "resend"
        ],
        "label": "Resend CLI"
      }
    ],
    "links": {
      "repository": "https://github.com/resend/resend-cli",
      "documentation": "https://resend.com/docs/cli"
    }
  }
}
inputs
[
  {
    "name": "RESEND_API_KEY",
    "description": "Resend API key for authenticating CLI commands. Get yours at https://resend.com/api-keys",
    "required": true
  },
  {
    "name": "RESEND_PROFILE",
    "description": "Named auth profile for multi-account setups. Selects which stored API key to use (see `resend auth`).",
    "required": false
  }
]
references
[
  "references/emails.md",
  "references/domains.md",
  "references/api-keys.md",
  "references/automations.md",
  "references/broadcasts.md",
  "references/contacts.md",
  "references/contact-properties.md",
  "references/segments.md",
  "references/templates.md",
  "references/topics.md",
  "references/logs.md",
  "references/careers.md",
  "references/suppressions.md",
  "references/webhooks.md",
  "references/auth.md",
  "references/workflows.md",
  "references/error-codes.md"
]
  • CLI
  • resend
  • email
  • react-email
  • domains
  • broadcasts
  • contacts
  • automations
  • webhooks
  • ci-cd

README badge

README badge for resend/resend-skills/resend-cli

Operate the Resend email platform from the terminal—send emails via React Email templates, manage domains, contacts, broadcasts, templates, webhooks, API keys, and automations using the `resend` CLI. Targets shell scripts, CI/CD pipelines, and agent workflows that need programmatic email operations without interactive prompts.

Generated from the current SKILL.md.

Does this skill work in non-interactive environments like CI/CD?
Yes. The CLI auto-detects non-TTY and outputs JSON without prompting. Set RESEND_API_KEY in the environment, use --quiet to suppress spinners, and pass --yes on all delete commands.
Can I send React Email .tsx templates with this skill?
Yes. Use `resend emails send --react-email ./path/to/template.tsx` along with required flags like --from, --to, and --subject.
What authentication methods does the CLI support?
The CLI resolves auth via --api-key flag, RESEND_API_KEY environment variable, or a stored profile (resend login). Use RESEND_PROFILE or --profile for multi-account setups.
Does this skill support dry-run validation?
Only `emails send` and `broadcasts create` support --dry-run. They validate the payload and print the request without calling the API. Other commands like `emails batch` and `broadcasts send` do not support dry-run.
What happens if I forget --yes on a delete command?
The CLI exits with an error in non-interactive mode and does not prompt. All delete/rm subcommands require --yes when stdin is not a TTY.

Generated from the current SKILL.md. These answers refresh after source changes.