Skip to content
courier-notification-skills logo

Courier Notification Skills

courier-notification-skills

Use when building notifications across email, SMS, push, in-app, Slack, Teams, or WhatsApp. Covers transactional messages (password reset, OTP, orders, billing), growth notifications (onboarding, engagement, referral), multi-channel routing, compliance (GDPR, TCPA, CAN-SPAM), and reliability patt...

SKILL.md

Full skill instructions

Courier Notification Skills

Guidance for building deliverable, compliant, and engaging notifications across all channels.

How to Use This Skill

  1. Identify the task — What channel, notification type, or cross-cutting concern is the user working on?
  2. Read only what's needed — Use the routing tables below to find the 1-2 files relevant to the task. Do NOT read all files.
  3. Check for live docs — For current API signatures and SDK methods, fetch https://www.courier.com/​docs/​llms.txt
  4. Synthesize before coding — Plan the complete implementation (channels, routing, compliance, error handling) before writing code.
  5. Apply the rules — Each resource file starts with a "Quick Reference" section containing hard rules. Treat these as constraints, not suggestions.
  6. Check universal rules — Before generating any notification code, verify it doesn't violate the Universal Rules below.

Universal Rules (Never Violate)

  • NEVER send promotional content in transactional notifications (CAN-SPAM violation)
  • NEVER batch or delay OTP, password reset, or security alert notifications
  • NEVER send SMS without TCPA-compliant consent records
  • NEVER skip idempotency keys for transactional sends
  • NEVER send during quiet hours (10pm-8am local) unless critical/​security
  • NEVER expose full email/​phone in security change notifications (mask them)
  • ALWAYS include "I didn't request this" links in security-related emails
  • ALWAYS use E.164 format for phone numbers
  • ALWAYS configure SPF + DKIM + DMARC before sending production email
  • ALWAYS respect user opt-out preferences immediately
  • ALWAYS use method: "single" unless the notification is critical enough to warrant all channels

Official Courier Documentation

When you need current API signatures, SDK methods, or features not covered in these resources:

  1. Fetch https://www.courier.com/​docs/​llms.txt — returns a structured index of all Courier documentation
  2. Use it to find specific endpoint details, SDK method signatures, and configuration options
  3. Prefer the patterns in THIS skill for best practices; use llms.txt for API specifics

Architecture Overview

[User Action / System Event]
            │
            ▼
    ┌───────────────┐
    │ Notification  │
    │   Trigger     │
    └───────┬───────┘
            │
            ▼
    ┌───────────────┐
    │   Routing     │──── User Preferences
    │   Decision    │──── Channel Availability
    └───────┬───────┘──── Urgency Level
            │
            ▼
    ┌───────────────────────────────────────┐
    │           Channel Selection           │
    ├───────┬───────┬───────┬───────┬──────┤
    │ Email │  SMS  │ Push  │ Inbox │ Chat │
    └───┬───┴───┬───┴───┬───┴───┬───┴───┬──┘
        │       │       │       │       │
        ▼       ▼       ▼       ▼       ▼
    [Delivery] [Delivery] [Delivery] [Delivery] [Delivery]
        │       │       │       │       │
        └───────┴───────┴───────┴───────┘
                        │
                        ▼
                ┌───────────────┐
                │   Webhooks    │
                │   & Events    │
                └───────────────┘

Quick Reference

By Channel

Need to...See
Send emails, fix deliverability, set up SPF/​DKIM/​DMARCEmail
Send SMS, handle TCPA/​10DLC complianceSMS
Send push notifications, handle iOS/​Android differencesPush
Build in-app notification centerInbox
Send Slack messages with Block KitSlack
Send Microsoft Teams messagesMS Teams
Send WhatsApp messages with templatesWhatsApp

By Transactional Type

Need to...See
Build password reset, OTP, verification, security alertsAuthentication
Build order confirmations, shipping, delivery updatesOrders
Build receipts, invoices, dunning, subscription noticesBilling
Build booking confirmations, reminders, reschedulingAppointments
Build welcome messages, profile updates, settings changesAccount
Understand transactional notification principlesTransactional Overview

By Growth Type

Need to...See
Build activation flows, setup guidance, first valueOnboarding
Build feature announcements, discovery, educationAdoption
Build activity notifications, retention, habit loopsEngagement
Build winback, inactivity, cart abandonmentRe-engagement
Build referral invites, rewards, viral loopsReferral
Build promotions, sales, upgrade campaignsCampaigns
Understand growth notification principlesGrowth Overview

Cross-Cutting Guides

Need to...See
Route across multiple channels, set up fallbacksMulti-Channel
Manage user notification preferencesPreferences
Ensure GDPR, TCPA, CAN-SPAM complianceCompliance
Handle retries, idempotency, error recoveryReliability
Combine notifications, build digestsBatching
Control frequency, prevent fatigueThrottling
Plan notifications for your app typeCatalog
Reusable code patterns (consent, quiet hours, masking, retry)Patterns

Minimal File Sets by Task

For common tasks, you only need to read these specific files:

TaskFiles to Read
OTP/​2FA implementationauthentication.md, sms.md
Password resetauthentication.md, email.md
Order notificationsorders.md, multi-channel.md
Email setup & deliverabilityemail.md, compliance.md
SMS setup & compliancesms.md (includes 10DLC, TCPA)
Push notification setuppush.md
In-app inbox setupinbox.md
Onboarding sequenceonboarding.md, multi-channel.md
Security alertsauthentication.md, multi-channel.md
Digest/​batchingbatching.md, preferences.md
Payment/​billing notificationsbilling.md, reliability.md
Appointment remindersappointments.md, sms.md
WhatsApp templateswhatsapp.md
Slack/​Teams integrationslack.md or ms-teams.md

Decision Guide

What are you building?

  • A specific notification (OTP, order confirm, password reset, etc.) → Use the Minimal File Sets table above to find exactly which 1-2 files to read.

  • A new notification channel (email, SMS, push, Slack, etc.) → See By Channel for the channel-specific guide.

  • Notification infrastructure (routing, preferences, reliability, batching) → See Cross-Cutting Guides for the relevant guide.

  • Planning which notifications to build for a new app → Start with Catalog, then Email, then Multi-Channel.

  • Growth / lifecycle notifications (onboarding, engagement, referral) → Read Growth Overview for consent requirements first, then the specific type.

  • Compliance concerns (GDPR, TCPA, CAN-SPAM) → Read Compliance, then channel-specific rules in SMS or Email.

  • Debugging delivery issues → Email going to spam? Email. SMS not arriving? SMS. General failures? Reliability.

  • Reusable code patterns (consent check, quiet hours, idempotency, fallback) → See Patterns for copy-paste implementations.

More skills from diegosouzapw

accessibility logo
diegosouzapw/awesome-omni-skill

accessibility

Accessibility guidelines for VS Code features — covers accessibility help dialogs, accessible views, verbosity settings, accessibility signals, ARIA alerts/status announcements, keyboard navigation, and ARIA labels/roles. Applies to both new interactive UI surfaces and updates to existing feature...

62 1
View
mermaid-diagrams logo
diegosouzapw/awesome-omni-skill

mermaid-diagrams

Mermaid diagram creation for flowcharts, sequences, ERDs, and more. Generate diagrams from text in markdown files. Use for documentation, architecture diagrams, and visual representations. Triggers on mermaid, flowchart, sequence diagram, ERD, entity relationship, gantt chart, pie chart, class di...

62 1
View
tauri2-react-rust logo
diegosouzapw/awesome-omni-skill

tauri2-react-rust

Guides development of cross-platform desktop apps with Tauri 2, TypeScript, React, and Rust. Use when building Tauri apps, implementing IPC, designing Rust backend or TypeScript/React frontend, when researching or cloning a website (open site, snapshot elements), when verifying local dev or built...

62 1
View
fp-ts-errors logo
diegosouzapw/awesome-omni-skill

fp-ts-errors

Handle errors as values using fp-ts Either and TaskEither for cleaner, more predictable TypeScript code. Use when implementing error handling patterns with fp-ts.

62 0
View
ring:pre-dev-research logo
diegosouzapw/awesome-omni-skill

ring:pre-dev-research

Gate 0 research phase for pre-dev workflow. Dispatches 3 parallel research agents to gather codebase patterns, external best practices, and framework documentation BEFORE creating PRD/TRD. Outputs research.md with file:line references.

62 0
View
create-assistant logo
diegosouzapw/awesome-omni-skill

create-assistant

Create and configure Vapi voice AI assistants with models, voices, transcribers, tools, hooks, and advanced settings. Use when building voice agents, phone bots, customer support assistants, or any conversational AI that handles phone or web calls.

62 0
View
codex-headless logo
diegosouzapw/awesome-omni-skill

codex-headless

Delegiere Aufgaben an OpenAI Codex CLI im Headless-Mode. Nutzt ChatGPT Subscription (KEIN API Key). Nur Workspace-Zugriff, KEIN System-Zugriff. Auto-Accept mit --full-auto. Web-Recherche mit --search.

62 0
View
social-media-scheduler logo
diegosouzapw/awesome-omni-skill

social-media-scheduler

Generate a full week of social media content for any topic. Outputs platform-optimized posts for Twitter/X, LinkedIn, and Instagram with hashtags and posting times.

62 0
View
Data Privacy Compliance logo
diegosouzapw/awesome-omni-skill

Data Privacy Compliance

Data privacy and regulatory compliance specialist for GDPR, CCPA, HIPAA, and international data protection laws. Use when implementing privacy controls, conducting data protection impact assessments, ensuring regulatory compliance, or managing data subject rights. Expert in consent management, da...

62 0
View
triple-review logo
diegosouzapw/awesome-omni-skill

triple-review

Reviews a task using the TRIPLE protocol, as the review agent.

62 0
View
Tech Stack & Architecture Decision logo
diegosouzapw/awesome-omni-skill

Tech Stack & Architecture Decision

Define and document the technology stack and architecture decisions for a project. Use when the user needs to choose a tech stack, make architecture decisions, define infrastructure choices, or document technology selections. Triggers on requests like "define the tech stack", "choose technologies...

62 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View