administering-linux
Manage Linux systems covering systemd services, process management, filesystems, networking, performance tuning, and troubleshooting. Use when deploying…
Real-time communication patterns for live updates, collaboration, and presence. Use when building chat applications, collaborative tools, live dashboards, or streaming interfaces (LLM responses, metrics). Covers SSE (server-sent events for one-way streams), WebSocket
$ npx -y skills add ancoleman/ai-design-components --skill implementing-realtime-sync --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/implementing-realtime-syncContext preview
The summary Claude sees to decide when to auto-load this skill.
Real-time communication patterns for live updates, collaboration, and presence. Use when building chat applications, collaborative tools, live dashboards, or streaming interfaces (LLM responses, metrics). Covers SSE (server-sent events for one-way streams), WebSocket
name: implementing-realtime-sync description: Real-time communication patterns for live updates, collaboration, and presence. Use when building chat applications, collaborative tools, live dashboards, or streaming interfaces (LLM responses, metrics). Covers SSE (server-sent events for one-way streams), WebSocket (bidirectional communication), WebRTC (peer-to-peer video/audio), CRDTs (Yjs, Automerge for conflict-free collaboration), presence patterns, offline sync, and scaling strategies. Supports Python, Rust, Go, and TypeScript.
Implement real-time communication for live updates, collaboration, and presence awareness across applications.
Use this skill when building:
Choose the transport protocol based on communication pattern:
ONE-WAY (Server → Client only) ├─ LLM streaming, notifications, live feeds └─ Use SSE (Server-Sent Events) ├─ Automatic reconnection (browser-native) ├─ Event IDs for resumption └─ Simple HTTP implementation BIDIRECTIONAL (Client ↔ Server) ├─ Chat, games, collaborative editing └─ Use WebSocket ├─ Manual reconnection required ├─ Binary + text support └─ Lower latency for two-way COLLABORATIVE EDITING ├─ Multi-user documents/spreadsheets └─ Use WebSocket + CRDT (Yjs or Automerge) ├─ CRDT handles conflict resolution ├─ WebSocket for transport └─ Offline-first with sync PEER-TO-PEER MEDIA ├─ Video, screen sharing, voice calls └─ Use WebRTC ├─ WebSocket for signaling ├─ Direct P2P connection └─ STUN/TURN for NAT traversal
| Protocol | Direction | Reconnection | Complexity | Best For | |----------|-----------|--------------|------------|----------| | SSE | Server → Client | Automatic | Low | Live feeds, LLM streaming | | WebSocket | Bidirectional | Manual | Medium | Chat, games, collaboration | | WebRTC | P2P | Complex | High | Video, screen share, voice |
Stream LLM tokens progressively to frontend (ai-chat integration).
**Python (FastAPI):**
from sse_starlette.sse import EventSourceResponse
@app.post("/chat/stream")
async def stream_chat(prompt: str):
async def generate():
async for chunk in llm_stream:
yield {"event": "token", "data": chunk.content}
yield {"event": "done", "data": "[DONE]"}
return EventSourceResponse(generate())**Frontend:**
const es = new EventSource('/chat/stream')
es.addEventListener('token', (e) => appendToken(e.data))Reference `references/sse.md` for full implementations, reconnection, and event ID resumption.
Bidirectional communication for chat applications.
**Python (FastAPI):**
connections: set[WebSocket] = set()
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
connections.add(websocket)
try:
while True:
data = await websocket.receive_text()
for conn in connections:
await conn.send_text(data)
except WebSocketDisconnect:
connections.remove(websocket)Reference `references/websockets.md` for multi-language examples, authentication, heartbeats, and scaling.
Conflict-free multi-user editing using Yjs.
**TypeScript (Yjs):**
import * as Y from 'yjs'
import { WebsocketProvider } from 'y-websocket'
const doc = new Y.Doc()
const provider = new WebsocketProvider('ws://localhost:1234', 'doc-id', doc)
const ytext = doc.getText('content')
ytext.observe(event => console.log('Changes:', event.changes))
ytext.insert(0, 'Hello collaborative world!')Reference `references/crdts.md` for conflict resolution, Yjs vs Automerge, and advanced patterns.
Track online users, cursor positions, and typing indicators.
**Yjs Awareness API:**
const awareness = provider.awareness
awareness.setLocalState({ user: { name: 'Alice' }, cursor: { x: 100, y: 200 } })
awareness.on('change', () => {
awareness.getStates().forEach((state, clientId) => {
renderCursor(state.cursor, state.user)
})
})Reference `references/presence-patterns.md` for cursor tracking, typing indicators, and online status.
Queue mutations locally and sync when connection restored.
**TypeScript (Yjs + IndexedDB):**
import { IndexeddbPersistence } from 'y-indexeddb'
import { WebsocketProvider } from 'y-websocket'
const doc = new Y.Doc()
const indexeddbProvider = new IndexeddbPersistence('my-doc', doc)
const wsProvider = new WebsocketProvider('wss://api.example.com/sync', 'my-doc', doc)
wsProvider.on('status', (e) => {
console.log(e.status === 'connected' ? 'Online' : 'Offline')
})Reference `references/offline-sync.md` for conflict resolution and sync strategies.
**WebSocket:**
**SSE:**
**WebSocket:**
**SSE:**
**WebSocket:**
Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude
Repo: ancoleman/ai-design-components
Manage Linux systems covering systemd services, process management, filesystems, networking, performance tuning, and troubleshooting. Use when deploying…
Data pipelines, feature stores, and embedding generation for AI/ML systems. Use when building RAG pipelines, ML feature serving, or data transformations.…
Strategic guidance for designing modern data platforms, covering storage paradigms (data lake, warehouse, lakehouse), modeling approaches (dimensional,…
Design cloud network architectures with VPC patterns, subnet strategies, zero trust principles, and hybrid connectivity. Use when planning VPC topology,…
Design comprehensive security architectures using defense-in-depth, zero trust principles, threat modeling (STRIDE, PASTA), and control frameworks (NIST CSF,…
Assembles component outputs from AI Design Components skills into unified, production-ready component systems with validated token integration, proper import…