🎯

real-time-collaboration-engine

🎯Skill

from erichowens/some_claude_skills

VibeIndex|
What it does

real-time-collaboration-engine skill from erichowens/some_claude_skills

πŸ“¦

Part of

erichowens/some_claude_skills(148 items)

real-time-collaboration-engine

Installation

Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add erichowens/some_claude_skills
Install PluginInstall plugin from marketplace
/plugin install adhd-design-expert@some-claude-skills
Install PluginInstall plugin from marketplace
/plugin install some-claude-skills@some-claude-skills
git cloneClone repository
git clone https://github.com/erichowens/some_claude_skills.git
Claude Desktop ConfigurationAdd this to your claude_desktop_config.json
{ "mcpServers": { "prompt-learning": { "command": "npx", "args...
πŸ“– Extracted from docs: erichowens/some_claude_skills
12Installs
21
-
Last UpdatedJan 23, 2026

Skill Details

SKILL.md

Build real-time collaborative editing with WebSockets, OT/CRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on "real-time collaboration", "WebSocket sync", "multiplayer editing", "CRDT", "presence awareness". NOT for simple chat, request-response APIs, or single-user apps.

Overview

# Real-Time Collaboration Engine

Expert in building Google Docs-style collaborative editing with WebSockets, conflict resolution, and presence awareness.

When to Use

βœ… Use for:

  • Collaborative text/code editors
  • Shared whiteboards and design tools
  • Multi-user video editing timelines
  • Real-time data dashboards
  • Multiplayer game state sync

❌ NOT for:

  • Simple chat applications (use basic WebSocket)
  • Request-response APIs (use REST/GraphQL)
  • Single-user applications
  • Read-only data streaming (use Server-Sent Events)

Quick Decision Tree

```

Need real-time collaboration?

β”œβ”€β”€ Text editing? β†’ Operational Transform (OT)

β”œβ”€β”€ JSON data structures? β†’ CRDTs

β”œβ”€β”€ Cursor tracking only? β†’ Simple WebSocket + presence

β”œβ”€β”€ Offline-first? β†’ CRDTs (better offline merge)

└── No conflicts possible? β†’ Basic broadcast

```

---

Technology Selection

Conflict Resolution Strategies (2024)

| Strategy | Best For | Complexity | Offline Support |

|----------|----------|------------|-----------------|

| Operational Transform (OT) | Text, ordered sequences | High | Limited |

| CRDTs | JSON objects, sets | Medium | Excellent |

| Last-Write-Wins | Simple state | Low | Basic |

| Three-Way Merge | Git-style editing | High | Good |

Timeline:

  • 2010: Google Wave uses OT
  • 2014: Figma adopts CRDTs
  • 2019: Yjs (CRDT library) released
  • 2022: Automerge 2.0 (CRDT library) released
  • 2024: PartyKit simplifies real-time infrastructure

---

Common Anti-Patterns

Anti-Pattern 1: Broadcasting Every Keystroke

Novice thinking: "Send every change immediately for real-time feel"

Problem: Network floods with tiny messages, poor performance.

Wrong approach:

```typescript

// ❌ Sends message on every keystroke

function Editor() {

const handleChange = (text: string) => {

socket.emit('text-change', { text }); // Every keystroke!

};

return