Use when building multi-node Elixir systems, choosing between Raft and CRDTs, configuring libcluster or Partisan, debugging split-brain or netsplit scenarios, or evaluating CP vs AP tradeoffs
Guides Elixir developers through distributed system design, consensus algorithm selection, and failure mode analysis.
/plugin marketplace add jeffweiss/elixir-production/plugin install elixir-production@jeffweissThis skill inherits all available tools. When active, it can use any tool Claude has access to.
cap-tradeoffs.mdclustering.mdconsensus.mdconsistent-hashing.mddistributed-transactions.mdescalation-ladder.mdevent-sourcing.mdfailure-modes.mdgossip-protocols.mdleader-election.mdproduction-checklist.mdresilience-principles.mdDon't distribute unless you must. When you must, choose the lowest escalation level that meets requirements. Each level adds complexity, failure modes, and operational burden — only escalate when you've outgrown the current level.
Single node handles the load?
YES → Level 0 (don't distribute)
NO → Do you need shared state across nodes?
NO → Level 1 (stateless multi-node)
YES → Is eventual consistency acceptable?
YES → Is it just presence/registry?
YES → Level 2 (lightweight)
NO → Level 4 (CRDTs)
NO → Level 3 (Raft consensus)
Cluster > 50 nodes? → Level 5
See escalation-ladder.md for full details on each level with code examples and migration triggers.
Need exactly-one process across cluster? → leader-election.md
Need multi-service transactions? → distributed-transactions.md
Need to partition data across nodes? → consistent-hashing.md
Need audit trail / event replay? → event-sourcing.md
Need strong consistency? → consensus.md (Raft)
Need eventual consistency? → consensus.md (CRDTs)
Need cluster membership / discovery? → clustering.md, gossip-protocols.md
Need to understand failure modes? → failure-modes.md
Preparing for production deployment? → production-checklist.md
Read the file that matches your current problem:
leader-election.md — When: Need exactly-one process across cluster. :global, :pg, Horde, Oban cron, singleton patterns, netsplit behavior for each approachdistributed-transactions.md — When: Multiple services must coordinate atomically. Saga (choreography + orchestration), Oban workflows, compensating transactions, why not 2PCgossip-protocols.md — When: Need efficient cluster-wide information spread. SWIM failure detection, epidemic broadcast, delta-CRDTs, HyParView/Partisanconsistent-hashing.md — When: Partitioning data or load across nodes. Ring hashing, jump consistent hash, virtual nodes, sharded ETS, Broadway partitioningevent-sourcing.md — When: Need audit trail or event replay. Event sourcing, CQRS, Commanded patterns, projections, when to use vs CRUDescalation-ladder.md — When: Deciding whether/how to distribute. Full Distribution Escalation Ladder (Levels 0-5) with code examplesconsensus.md — When: Need strong or eventual consistency guarantees. Raft via :ra, CRDTs via delta_crdt, Multi-Raft, Vector Clocks, Paxosclustering.md — When: Setting up node discovery and communication. Distributed Erlang, Partisan, libcluster configs, PubSub, debugging patternsfailure-modes.md — When: Debugging distributed bugs or designing for resilience. Split-brain, fencing tokens, clock drift, gray failures, metastable failures, limplocks, concurrency bugs, blast radiuscap-tradeoffs.md — When: Evaluating consistency vs availability tradeoffs. CAP theorem critique, fundamental limits, consistency modelsproduction-checklist.md — When: Preparing distributed system for deployment. 20-item deployment checklistresilience-principles.md — When: Designing fault-tolerant architecture. Architectural principles from Hebert, Brooker, Luu, Kleppmann, Cook et al./distributed-review — Deep analysis of distributed architecture and failure modes/feature <desc> — Guided implementation with distribution-aware designUse the distributed-systems-expert agent for deep analysis of distributed architectures, consensus algorithm selection, and distributed bug investigation.
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.