mcpField
R
real-time-features

real-time-features

github.com/aj-geddesDevelopment373545 installsUpdated 34w ago
Repository

About real-time-features

A development skill for implementing real-time, two-way communication between clients and servers. Its reference guides cover WebSockets, Server-Sent Events, and Socket.IO for developers building live features.

Key features

  1. 01WebSocket server and client guides
  2. 02Server-Sent Events guidance
  3. 03Socket.IO implementation guide
  4. 04Connection and message best practices

Use cases

  1. 01Building chat and messaging
  2. 02Creating live dashboards
  3. 03Adding collaborative editing
  4. 04Sending real-time notifications

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill real-time-features

After installing, type/real-time-featuresin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
server-sent-events-sse.md
socketio-production-ready.md
websocket-client-react.md
websocket-server-nodejs.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

Details

From the project README

Real-Time Features

Table of Contents

Overview

Implement real-time bidirectional communication between clients and servers for instant data synchronization and live updates.

When to Use

  • Chat and messaging applications
  • Live dashboards and analytics
  • Collaborative editing (Google Docs-style)
  • Real-time notifications
  • Live sports scores or stock tickers
  • Multiplayer games
  • Live auctions or bidding systems
  • IoT device monitoring
  • Real-time location tracking

Quick Start

Minimal working example:

// server.ts
import WebSocket, { WebSocketServer } from "ws";
import { createServer } from "http";

interface Message {
  type: "join" | "message" | "leave" | "typing";
  userId: string;
  username: string;
  content?: string;
  timestamp: number;
}

interface Client {
  ws: WebSocket;
  userId: string;
  username: string;
  roomId: string;
}

class ChatServer {
  private wss: WebSocketServer;
  private clients: Map<string, Client> = new Map();
  private rooms: Map<string, Set<string>> = new Map();

  constructor(port: number) {
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
WebSocket Server (Node.js)WebSocket Server (Node.js)
WebSocket Client (React)WebSocket Client (React)
Server-Sent Events (SSE)Server-Sent Events (SSE)
Socket.IO (Production-Ready)Socket.IO (Production-Ready)

Best Practices

✅ DO
  • Implement reconnection logic with exponential backoff
  • Use heartbeat/ping-pong to detect dead connections
  • Validate and sanitize all messages
  • Implement authentication and authorization
  • Handle connection limits and rate limiting
  • Use compression for large payloads
  • Implement proper error handling
  • Monitor connection health
  • Use rooms/channels for targeted messaging
  • Implement graceful shutdown
❌ DON'T
  • Send sensitive data without encryption
  • Keep connections open indefinitely without cleanup
  • Broadcast to all users when targeted messaging suffices
  • Ignore connection state management
  • Send large payloads frequently
  • Skip message validation
  • Forget about mobile/unstable connections
  • Ignore scaling considerations

Comments

Markdown supported