Claude-skill-registry crdt-vterm
Collaborative terminal session sharing using CRDT-style s-expressions
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/crdt-vterm" ~/.claude/skills/majiayu000-claude-skill-registry-crdt-vterm && rm -rf "$T"
skills/data/crdt-vterm/SKILL.mdCRDT-VTerm - Collaborative Terminal Sharing
Collaborative terminal session sharing using CRDT-style s-expressions with GF(3) trifurcated conflict resolution.
Components
Emacs Bridge
- File:
crdt-vterm-bridge.el - Purpose: Connect vterm.el to crdt.el via shadow buffers
Babashka Recorder
- File:
vterm_crdt_recorder.bb - Purpose: Record/replay terminal sessions as CRDT sexps
P2P Sharing
- File:
vterm_localsend_share.bb - Purpose: Live terminal sharing via localsend multicast
Architecture
┌──────────────────────────────────────────────────────────────────┐ │ CRDT-VTerm System │ ├──────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────┐ remote-insert ┌───────────────┐ │ │ │ vterm │ ───────────────────▶ │ shadow buffer │ │ │ │ PTY │ (GF3 trit) │ (crdt.el) │ │ │ └────┬────┘ └───────┬───────┘ │ │ │ │ │ │ │ script(1) │ sexp file │ │ ▼ ▼ │ │ ┌─────────┐ ┌───────────────┐ │ │ │ raw log │ │ .sexp log │ │ │ └────┬────┘ └───────┬───────┘ │ │ │ │ │ │ │ vterm_crdt_recorder.bb │ localsend UDP │ │ ▼ ▼ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ P2P Peer Network │ │ │ │ ┌───────┐ ┌───────┐ ┌───────┐ │ │ │ │ │ MINUS │ │ERGODIC│ │ PLUS │ ← GF(3) │ │ │ │ └───────┘ └───────┘ └───────┘ routing │ │ │ └─────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────┘
CRDT Sexp Format
;; Session header (crdt-terminal-session (version "0.1.0") (session-id "T-abc123") (site-id 42) (gf3-assignment :ERGODIC)) ;; Terminal output (remote-insert "0a1b2c3d" 42 "$ ls -la\n" (props :type :terminal-output :trit :MINUS :timestamp 1234567890)) ;; User input (remote-input "0a1b2c3e" 42 "ls -la" (props :trit :PLUS :timestamp 1234567891)) ;; Conflict resolution (conflict-resolution :type :concurrent-input :strategy :gf3-ordering)
Usage
Record Session
bb vterm_crdt_recorder.bb record session.sexp
Replay Session
bb vterm_crdt_recorder.bb replay session.sexp 2.0
Live P2P Share
bb vterm_localsend_share.bb share output.sexp 192.168.1.5
Emacs Replay
M-x crdt-vterm-replay RET session.sexp RET 1.0 RET
GF(3) Trifurcated Input
Multi-user input is routed through three queues:
| Queue | Trit | Processing Order |
|---|---|---|
| MINUS | -1 | First |
| ERGODIC | 0 | Second |
| PLUS | +1 | Third |
This prevents conflicts in "no-longer-optimistic waiting" scenarios by deterministically ordering concurrent inputs.
;; Cycle through queues (crdt-vterm-trifurcate-cycle)
Integration
With gay-mcp
Each terminal session gets a deterministic color based on session ID.
With localsend-mcp
P2P discovery and file transfer for session sharing.
With duckdb-ies
Terminal sessions can be indexed in DuckDB for time-travel queries.
Related Skills
- Deterministic colorsgay-mcp
- GF(3) conservationspi-parallel-verify
- Three-stream schedulingtriad-interleave
- Session equivalencebisimulation-game
Scientific Skill Interleaving
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
Graph Theory
- networkx [○] via bicomodule
- Universal graph hub
Bibliography References
: 3 citations in bib.duckdbdistributed-systems
SDF Interleaving
This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):
Primary Chapter: 8. Degeneracy
Concepts: redundancy, fallback, multiple strategies, robustness
GF(3) Balanced Triad
crdt-vterm (−) + SDF.Ch8 (−) + [balancer] (−) = 0
Skill Trit: -1 (MINUS - verification)
Secondary Chapters
- Ch10: Adventure Game Example
Connection Pattern
Degeneracy provides fallbacks. This skill offers redundant strategies.
Cat# Integration
This skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:
Trit: 0 (ERGODIC) Home: Prof Poly Op: ⊗ Kan Role: Adj Color: #26D826
GF(3) Naturality
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.