SKILL-054 Emails and notifications Locked skill

Notification preferences

Preferences are a notification-type × channel matrix layered over org defaults; absence means 'use the default', never 'off' — and transactional mail ignores the matrix entirely.

01

What this skill helps you build

Let users and organizations choose which notification types reach which channels — with safe defaults and transactional mail that can never be turned off.

The production takeaway

Preferences are a notification-type × channel matrix layered over org defaults; absence means 'use the default', never 'off' — and transactional mail ignores the matrix entirely.

02

Inside this skill

The full skill expands these implementation areas with decisions, edge cases, prompts, tests, and framework-specific code.

Emails and notifications
What this helps you build

A notification preferences system: a grid where each user decides which types of notifications a new comment, a weekly digest, a billing receipt reach which channels email, in app,

🔒
Emails and notifications
When to use this

Reach for this the moment your app sends more than one kind of notification, or the moment a user could plausibly want fewer of them. Concretely: You send a mix of important alerts

🔒
Emails and notifications
The core idea

A preference is a single cell in a notification type × channel matrix , scoped to a user. user, type, channel → on off . The matrix is sparse: most cells are empty, and an empty ce

🔒
03

Unlock the full implementation

Paid access includes the complete skill body, implementation prompt, common mistakes, production checklist, and code examples where this skill includes them.