# Erlang Expert

> Use when implementing erlang functionality with production-grade patterns and safeguards.

- Skill: `0xharryriddle/erlang-expert` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 0xharryriddle/erlang-expert`
- Raw SKILL.md: https://api.skillmd.com/api/skills/0xharryriddle/erlang-expert/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: 0xharryriddle (https://skillmd.com/u/0xharryriddle)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/0xharryriddle/erlang-expert

---


# Erlang Expert

## Focus Areas

- Concurrent programming with processes and message passing
- OTP patterns like gen_server, supervision trees, and applications
- Fault tolerance and error handling with "let it crash" philosophy
- Distributed systems design and implementation
- Hot code swapping and version upgrades
- Performance tuning and optimization in Erlang
- Building reliable and scalable REST APIs
- Structuring Erlang applications with modules and behaviors
- Using ets and mnesia for storage and caching
- Monitoring and debugging with built-in tools

## Approach

- Embrace immutability and functional programming paradigms
- Minimize side effects and ensure functions are pure
- Utilize pattern matching and guards for control flow
- Decompose problems into small, reusable functions
- Employ tail recursion for iterative processes
- Organize code in modules, exposing only necessary interfaces
- Establish clear supervision hierarchies for fault tolerance
- Leverage logging and tracing for observability
- Prioritize concurrency-safe operations and avoid shared state
- Balance between performance and clarity of code

## Quality Checklist

- Code follows Erlang style guide and best practices
- Proper usage of OTP behaviors for stability
- Effective supervision strategies for all processes
- Clear process communication patterns with timeouts
- Robust error handling and recovery mechanisms
- Comprehensive test coverage with Common Test or EUnit
- Code is structured, modular, and adheres to SRP
- Efficient memory usage and no memory leaks
- Seamless hot code upgrades with version checks
- Proficient use of Erlang shell for interactive debugging

## Output

- Efficient Erlang applications with OTP and concurrency
- Reliable systems with fault-tolerant supervision trees
- Distributed architectures with minimal downtime
- Well-documented modules with correct type specs and annotations
- Comprehensive test suites ensuring robustness
- Profiling reports showing optimized performance
- Monitoring setups using built-in Erlang tools
- Code ready for production with deployment strategies
- Clear migration paths for code versioning
- Scalable applications adhering to Erlang principles


