Babysitter websocket
WebSocket implementation, connection management, scaling patterns, and real-time features.
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/web-development/skills/websocket" ~/.claude/skills/a5c-ai-babysitter-websocket-61b0d0 && rm -rf "$T"
manifest:
library/specializations/web-development/skills/websocket/SKILL.mdtags
source content
WebSocket Skill
Expert assistance for implementing WebSocket real-time communication.
Capabilities
- Implement WebSocket servers
- Handle connection lifecycle
- Build pub/sub patterns
- Scale with Redis adapter
- Implement reconnection logic
- Handle authentication
Usage
Invoke this skill when you need to:
- Add real-time features
- Build chat applications
- Implement live updates
- Handle bidirectional communication
Server Implementation
import { WebSocketServer, WebSocket } from 'ws'; import { createServer } from 'http'; const server = createServer(); const wss = new WebSocketServer({ server }); const clients = new Map<string, WebSocket>(); wss.on('connection', (ws, req) => { const userId = authenticateConnection(req); clients.set(userId, ws); ws.on('message', (data) => { const message = JSON.parse(data.toString()); handleMessage(userId, message); }); ws.on('close', () => { clients.delete(userId); }); }); function broadcast(message: object) { const data = JSON.stringify(message); clients.forEach((client) => { if (client.readyState === WebSocket.OPEN) { client.send(data); } }); }
Best Practices
- Implement heartbeat/ping-pong
- Handle reconnection gracefully
- Use message queues for scaling
- Authenticate connections
Target Processes
- real-time-features
- chat-application
- live-updates