skrift-notifications

Deliver real-time notifications via Server-Sent Events with durable storage and group-based dismissal.

1|3|Updated Jun 17, 2025
One-click install
npx skills add https://github.com/Smarter-Dev/smarter-dev --skill skrift-notifications
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: skrift-notifications
Source: https://github.com/Smarter-Dev/smarter-dev/tree/main/smarter_dev/.claude/skills/skrift-notifications
Command: npx skills add https://github.com/Smarter-Dev/smarter-dev --skill skrift-notifications

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Skrift Notifications solves the challenge of delivering real-time, cross-device notifications in web apps by using SSE with durable backends and graceful dismissal patterns across sessions and users.

Core Features & Use Cases

  • Real-time delivery via Server-Sent Events (SSE) supporting session-scoped, user-scoped, and broadcast notifications
  • Pluggable backends (InMemory, Redis, PgNotify) with cross-replica fanout
  • Group-based dismissal and "dismissed" events to replace or remove previous notifications
  • Client-side integration with a streaming API at /notifications/stream and a dismissal endpoint

Quick Start

Instantiate Skrift in your app and start streaming notifications to connected clients with a single call.

Frequently Asked Questions about skrift-notifications

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

FAQPage Schema
How do I implement real-time cross-device notifications using Server-Sent Events?

You can implement real-time cross-device notifications by streaming events through an SSE endpoint with durable storage. This approach supports session-scoped, user-scoped, and broadcast fanout across multiple replicas.

What backend options can I use for SSE notification storage and cross-replica fanout?

Pluggable backends including InMemory, Redis, and PgNotify support SSE notification storage. These options provide durable event retention and enable cross-replica fanout for web applications.

How does group-based dismissal work for web notifications?

Group-based dismissal triggers a dismissed event to replace or remove previous web notifications. This synchronizes notification state across all connected user sessions and devices.

Can I send broadcast notifications to all active SSE sessions?

You can send broadcast notifications to all active SSE sessions. The streaming API supports session-scoped, user-scoped, and broadcast delivery to reach targeted clients across devices.

What is the best way to dismiss a notification across multiple user devices?

Using a group-based dismissal endpoint is the best way to dismiss notifications across multiple devices. It propagates dismissed events through the SSE stream to synchronize state across all sessions.

Why are my SSE notifications not syncing across different sessions?

SSE notifications fail to sync across sessions without a durable backend supporting cross-replica fanout. Configuring Redis or PgNotify ensures events reach all connected streaming clients.