ballroom-flow-crdt-reference

Explain Automerge CRDT concepts for document synchronization and conflict resolution in Weave Steps.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/DanielMSchmidt/ballroom-flow --skill ballroom-flow-crdt-reference
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ballroom-flow-crdt-reference
Source: https://github.com/DanielMSchmidt/ballroom-flow/tree/main/.claude/skills/ballroom-flow-crdt-reference
Command: npx skills add https://github.com/DanielMSchmidt/ballroom-flow --skill ballroom-flow-crdt-reference

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill serves as a comprehensive guide to understanding and working with CRDTs in the context of the Weave Steps application, solving the challenge of internalizing complex CRDT concepts and applying them effectively.

Core Features & Use Cases

  • CRDT Understanding: Provides an in-depth explanation of Automerge's CRDT logic, covering key concepts like convergence, identity, and position.
  • Reference Documentation: Offers detailed guidance on Automerge features and edge cases relevant to Weave Steps, such as handling undefined values, tombstones, and history-based undo.
  • Use Case: For developers or users working with Weave Steps who need to understand how Automerge's CRDTs handle document sync, convergence, and conflict resolution.

Quick Start

Use the ballroom-flow-crdt-reference skill to review the CRDT reasoning concepts in Weave Steps and understand how document changes are managed.

Frequently Asked Questions about ballroom-flow-crdt-reference

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do CRDTs handle document synchronization and conflict resolution in collaborative apps?

CRDTs handle document synchronization by ensuring deterministic convergence across distributed nodes. In Weave Steps, Automerge's CRDT logic automatically resolves conflicts during collaborative editing without requiring a central server, ensuring all peers eventually reach an identical state.

How does Automerge manage change history and history-based undo?

Automerge manages change history by treating document updates as an immutable sequence of operations. This allows Weave Steps to implement history-based undo by tracking and reversing specific changes rather than relying on simple state snapshots.

What are the limitations of Automerge when handling undefined values and tombstones?

Automerge handles undefined values and tombstones to manage deleted data within the CRDT structure. Understanding these edge cases is crucial in Weave Steps because tombstones accumulate to preserve convergence, which can impact document size and memory performance over time.

Does Automerge guarantee convergence for all data types in a collaborative document?

Automerge guarantees convergence for supported CRDT data types by using specific identity and position logic. However, developers must understand its underlying concepts to correctly model application state, as improper data modeling can lead to unexpected merge behaviors in Weave Steps.

When do I need to use Automerge for conflict resolution instead of a simpler sync strategy?

You need Automerge for conflict resolution when building peer-to-peer or offline-first collaborative applications where network partitions occur. It is essential for Weave Steps because it manages complex document synchronization safely without central locking or complex operational transformation logic.

What is the best way to reason about convergence, identity, and position in Automerge?

The best way to reason about these CRDT concepts is to review detailed reference documentation on Automerge's implementation. This ensures you understand how Weave Steps manages document changes, handles edge cases, and maintains consistent state across all distributed clients.