realtime-systems

Design and implement real-time communication with WebSocket, SSE, and CRDTs.

16|Updated Apr 30, 2026
One-click install
npx skills add https://github.com/JCETools-Petra/JCE-Opencode-Tools --skill realtime-systems-jcetools-petra
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: realtime-systems
Source: https://github.com/JCETools-Petra/JCE-Opencode-Tools/tree/main/config/skills/realtime-systems
Command: npx skills add https://github.com/JCETools-Petra/JCE-Opencode-Tools --skill realtime-systems-jcetools-petra

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you choose and implement reliable real-time communication patterns so your app can deliver live updates (messaging, events, collaboration, presence) without fragile networking or scaling surprises.

Core Features & Use Cases

  • Transport decisioning (SSE vs WebSocket): Pick the right mechanism based on one-way vs bidirectional needs, reconnection behavior, and performance characteristics.
  • Production-ready WebSocket patterns: Include authentication, room-based pub/sub, heartbeat/ping, and safe cross-instance delivery.
  • Collaboration with CRDTs: Use CRDT models (e.g., Yjs/Automerge) for multi-user editing with conflict-free merges and presence awareness.
  • Presence + TTL: Implement typing/online indicators backed by TTL to avoid ghost users.
  • Backpressure and scalability: Handle slow clients and scale fan-out using Redis pub/sub (and patterns for larger deployments).

Quick Start

Ask the AI to design a WebSocket-based real-time room system with Redis pub/sub, JWT authentication on connection, presence TTL heartbeats, and backpressure handling for slow clients.

Frequently Asked Questions about realtime-systems

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

FAQPage Schema
How do I choose between WebSocket and SSE for real-time messaging?

Implement WebSocket authentication securely by passing JWT tokens during the connection handshake. This ensures production-grade access control before establishing the real-time communication channel.

How does CRDT-based multi-user editing handle conflict-free merges?

CRDT models like Yjs or Automerge enable multi-user editing by automatically resolving concurrent edits mathematically. This ensures conflict-free merges and maintains presence awareness across distributed clients.

What is the best way to implement presence TTL and avoid ghost users?

Implement presence indicators using TTL-based heartbeats to track typing and online status. The TTL automatically expires stale connections, preventing ghost users from appearing active in your real-time app.

How do I handle backpressure and scale pub/sub fan-out for slow clients?

Handle backpressure by managing slow clients with flow control, and scale fan-out using Redis pub/sub. This architecture safely distributes messages across multiple server instances without dropping connections.