sk-email

Send transactional emails via Resend or SMTP with HTML and text templates.

Updated May 19, 2026
One-click install
npx skills add https://github.com/TimeKast/AgendaInteligente --skill sk-email
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sk-email
Source: https://github.com/TimeKast/AgendaInteligente/tree/main/.claude/skills/sk-email
Command: npx skills add https://github.com/TimeKast/AgendaInteligente --skill sk-email

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of sending reliable transactional emails without scattering provider-specific code, templates, and configuration checks across your app.

Core Features & Use Cases

  • Unified send dispatcher: Use sendEmail() to send through Resend or SMTP based on EMAIL_PROVIDER, returning a consistent success/error result.
  • Provider abstraction with safety guards: Centralize configuration and readiness checks via isEmailReady() and env resolution so flows degrade gracefully when email is not configured.
  • Reusable transactional templates: Send HTML + text fallbacks for magic links, password reset, verification, invites, login alerts, and notifications using the shipped template set and layout helpers.
  • Anti–anti-pattern enforcement: Prevent direct Resend/nodemailer instantiation and raw API calls by routing everything through the kit’s email layer.

Quick Start

Use the sk-email skill to send a password reset email to a user by calling sendEmail with passwordResetEmail({ url, userName }) and passwordResetEmailText({ userName }) after checking isEmailReady().

Frequently Asked Questions about sk-email

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send transactional emails in Next.js without writing provider-specific code?

To send transactional emails in Next.js, use a unified sendEmail() dispatcher that routes requests to Resend or SMTP based on your EMAIL_PROVIDER environment variable. This centralizes configuration and prevents scattering provider SDKs across your app.

What is the best way to handle email readiness checks before sending password reset links?

The best way to handle email readiness is by gating your sendEmail() function with an isEmailReady() check. This validates your environment configuration and ensures authentication flows degrade gracefully if transactional email is not configured.

Can I use Resend and SMTP interchangeably for Next.js email notifications?

Yes, you can use Resend and SMTP interchangeably for Next.js email notifications by setting the EMAIL_PROVIDER environment variable. The provider-agnostic dispatcher automatically routes your sendEmail() calls to the selected service.

How do I render both HTML and plain text fallbacks for magic link emails?

To render HTML and plain text fallbacks for magic link emails, use the shipped transactional templates and layout helpers. You pass the generated HTML and text fallback content directly to the sendEmail() dispatcher for delivery.

Why should I avoid instantiating Resend or nodemailer SDKs directly in my app?

You should avoid instantiating Resend or nodemailer SDKs directly to prevent anti-patterns and scattered configuration. Routing all requests through the kit's centralized email layer ensures consistent error handling and provider abstraction.