notification-system

Design a multi-channel notification system with idempotency and quiet hours.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/hung-phan/system-skills --skill notification-system-hung-phan
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: notification-system
Source: https://github.com/hung-phan/system-skills/tree/main/skills/system-review/references/interview-templates/notification-system
Command: npx skills add https://github.com/hung-phan/system-skills --skill notification-system-hung-phan

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill guides the design of a multi-channel notification system that can handle high traffic, respects user preferences, and remains reliable during outages.

Core Features & Use Cases

  • Multi-Channel Support: Sends notifications via push, SMS, email, and in-app.
  • Idempotency: Prevents duplicate notifications during retries.
  • Quiet Hours: Respects user-defined quiet hours to avoid interruptions.
  • Use Case: When designing a notification system for a social media platform, this Skill helps in ensuring that push notifications are sent efficiently while respecting user preferences.

Quick Start

Use the notification-system skill to design a notification system that sends an order confirmation to the user's preferred channel.

Frequently Asked Questions about notification-system

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

FAQPage Schema
How do I design a multi-channel notification system that handles high traffic without sending duplicate messages?

Design a multi-channel notification system by implementing idempotency keys to prevent duplicate notifications during retries, and use distributed queues to handle high traffic across push, SMS, email, and in-app channels reliably during outages.

What is the best way to implement quiet hours in a notification system to respect user preferences?

Implement quiet hours by integrating a preference store that checks user-defined schedules before routing messages. The notification system evaluates these preferences to suppress or delay outbound messages, avoiding interruptions during specified times.

How does channel-specific message routing work when sending notifications across push, SMS, and email?

Channel-specific message routing works by using provider adapters to format and dispatch logical events. The notification system routes messages to the correct channel based on user preferences, applying rate limiting and retry policies per provider.

Do I need distributed queues and provider adapters to build a reliable notification system?

Yes, building a reliable notification system requires knowledge of distributed queues to manage event publication and handle outages, along with provider adapters to interface with specific push, SMS, and email gateways for successful message delivery.

How do I prevent duplicate push notifications during system retries and outages?

Prevent duplicate push notifications during retries by designing the system with idempotency. This ensures that if a logical event is published multiple times due to network failures, the end user receives only one notification.