yanacuti1121/yana-ai/automerge-crdt

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Automerge CRDT for Git-like branching, independent editing, and automatic merge of agent state without a central server. Document fork/merge, change history, and conflict-free concurrent writes. Sources: automerge/automerge (MIT).

Install

npx vskill@latest install yanacuti1121/yana-ai/automerge-crdt

SKILL.md

/automerge-crdt

When to Use

  • Agents independently modify a shared document offline and merge later (Git-like workflow)
  • Config or state that multiple agents can modify simultaneously with automatic conflict resolution
  • History/audit: inspect every change ever made to a document, who made it, when
  • Rollback: revert a document to any prior state via change log

Do NOT use for

  • Real-time sync (Yjs [[yjs-crdt-sync]] is lower-latency for live collaborative editing)
  • Large binary blobs (Automerge excels at structured data, not raw bytes)

Create and modify a document

javascript
import * as A from '@automerge/automerge'
// Create initial document
let doc = A.from({
agentConfig: {
tier: 'fast',
maxTokens: 2000,
rules: [],
},
})
// Modify (always returns new doc — immutable)
doc = A.change(doc, 'upgrade tier', d => {
d.agentConfig.tier = 'power'
d.agentConfig.maxTokens = 8000
d.agentConfig.rules.push('token-budget-policy')
})
console.log(doc.agentConfig.tier) // 'power'

Fork and merge (concurrent changes)

javascript
// Two agents start from the same base
let agentA = A.clone(doc)
let agentB = A.clone(doc)
// Agent A modifies tier
agentA = A.change(agentA, 'agent-A: set tier', d => {
d.agentConfig.tier = 'power'
})
// Agent B concurrently adds a rule
agentB = A.change(agentB, 'agent-B: add rule', d => {
d.agentConfig.rules.push('rate-limit-gate')
})
// Merge: both changes survive (CRDT — no data loss)
const merged = A.merge(A.clone(agentA), agentB)
console.log(merged.agentConfig.tier) // 'power' (from A)
console.log(merged.agentConfig.rules) // ['token-budget-policy', 'rate-limit-gate'] (both)

Sync protocol (incremental updates)

javascript
// Encode changes to send to a peer
const [syncState, syncMessage] = A.generateSyncMessage(doc, A.initSyncState())
// Peer applies the message
let peerDoc = A.receiveSyncMessage(peerDoc, peerSyncState, syncMessage)
// Compact save/load
const saved = A.save(doc) // Uint8Array — full serialized document
const loaded = A.load(saved) // restore from bytes

Inspect history

javascript
// All changes ever made to the document
const history = A.getHistory(doc)
history.forEach(({ change, snapshot }) => {
console.log(`[automerge] ${change.message} at ${new Date(change.timestamp * 1000).toISOString()}`)
})
// Diff between two versions
const changes = A.getChanges(docBefore, docAfter)
console.log('[automerge] changes since fork:', changes.length)

Anti-Fake-Pass Checklist

❌ Mutating doc directly outside A.change() → mutation silently lost; Automerge docs are frozen
❌ A.merge() on docs with no common history → no error but changes may not reconcile as expected
❌ Comparing doc values with === after merge → same logical value, different object reference
❌ Not saving doc after changes → in-memory only; process restart loses all history
❌ Using A.change() for large binary payloads → each byte tracked as a CRDT op; very slow
❌ timestamp in change relies on system clock → use logical clocks if clock skew is a concern

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/yanacuti1121/yana-ai/automerge-crdt/badge)](https://verified-skill.com/skills/yanacuti1121/yana-ai/automerge-crdt)

Something wrong with this skill or its page? Tell us.