web-realtime-socket-io
Socket.IO Real-Time Communication Patterns
Quick Guide: Use Socket.IO for real-time bidirectional communication when you need rooms, namespaces, automatic reconnection, acknowledgments, or transport fallback. Socket.IO is NOT a WebSocket implementation - it adds a protocol layer with additional features. Always define typed event interfaces, use the
authoption for tokens (never query strings), and clean up listeners on unmount.
<critical_requirements>
CRITICAL: Before Using This Skill
All code must follow project conventions in CLAUDE.md (kebab-case, named exports, import ordering,
import type, named constants)
(You MUST define typed interfaces for ALL Socket.IO events - ServerToClientEvents and ClientToServerEvents)
(You MUST use the auth option for authentication tokens - NEVER pass tokens in query strings)
(You MUST clean up event listeners on component unmount using socket.off())
(You MUST handle connection errors and implement proper reconnection state management)