elixir-otp

Implement OTP patterns for fault-tolerant Elixir services.

Updated Jan 15, 2026
One-click install
npx skills add https://github.com/vircung/opencode-config --skill elixir-otp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: elixir-otp
Source: https://github.com/vircung/opencode-config/tree/main/skill/elixir-otp
Command: npx skills add https://github.com/vircung/opencode-config --skill elixir-otp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Elixir developers need proven patterns to build fault-tolerant, scalable systems using OTP. This Skill provides foundational OTP patterns (GenServer, Supervisor trees, Task, and Agent) with practical examples and guidelines to keep designs simple and reliable.

Core Features & Use Cases

  • GenServer for stateful processes, including client/server API, state handling, and resilience
  • Supervisor strategies (:one_for_one, :rest_for_one, :one_for_all) for fault tolerance and structured restarts
  • Task and dynamic supervision for asynchronous workloads and runtime scaling

Quick Start

Boot a minimal GenServer and supervisor to bootstrap a fault-tolerant Elixir service.

Frequently Asked Questions about elixir-otp

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

FAQPage Schema
How do I build fault-tolerant Elixir services with OTP patterns?

Build fault-tolerant Elixir services with OTP by structuring applications using GenServer for stateful processes and Supervisor trees for structured restarts. This Skill provides runnable code samples and guidelines to bootstrap reliable architectures.

When do I need DynamicSupervisor and Registry in Elixir?

You need DynamicSupervisor and Registry in Elixir when building scalable architectures that require runtime process spawning and process discovery. These advanced OTP constructs manage asynchronous workloads and dynamic process grouping efficiently.

What is the difference between :one_for_one and :rest_for_one supervisor strategies?

Supervisor strategies differ in restart scope: :one_for_one restarts only the failed child, while :rest_for_one terminates and restarts all children started after the crashed one. This Skill covers selecting strategies for specific fault tolerance needs.

How do I test GenServer and OTP supervision trees in Elixir?

Test GenServer and OTP supervision trees in Elixir using the testing patterns provided by this Skill. It covers validating state handling, client/server APIs, and supervisor resilience to ensure your fault-tolerant designs remain reliable.

Can I use Task and Agent for asynchronous workloads in Elixir OTP?

Yes, you can use Task and Agent for asynchronous workloads in Elixir OTP. This Skill demonstrates how to combine them with dynamic supervision to handle concurrent operations and manage state effectively within robust applications.