{"enrichment":{"faq":[{"a":"Elixir Idioms teaches you to write idiomatic Elixir code by mastering pattern matching across function heads and case expressions, designing pipe-friendly APIs, and following naming conventions. The skill emphasizes leveraging Elixir's functional nature\u2014using immutability, avoiding side effects in pure functions, and composing operations with the pipe operator. You'll learn to structure code that reads naturally and aligns with the language's design philosophy.","q":"How to write idiomatic Elixir code?"},{"a":"Elixir Idioms covers OTP supervision trees as a core fault-tolerance mechanism. You'll understand how to build stateful processes with GenServer, design supervision hierarchies that restart failed children, and embrace the \"let it crash\" philosophy. The skill teaches you to structure applications so that failures are isolated, supervised, and recovered automatically\u2014making your systems resilient by design.","q":"What does Elixir Idioms cover about OTP supervision trees?"},{"a":"Elixir Idioms provides pattern matching examples across multiple contexts: matching in function heads to handle different input shapes, using case expressions for conditional logic, and destructuring data structures. These examples show how pattern matching replaces traditional if-else chains, making code more declarative and expressive while catching unhandled cases at compile time.","q":"What pattern matching examples does Elixir Idioms provide?"},{"a":"Elixir Idioms covers essential code quality tools including Credo for linting and style checking, Dialyzer for static type analysis, and ExUnit for testing. The skill shows you how to set up and use these tools to enforce consistency, catch type errors early, and maintain high code standards across your Elixir projects.","q":"Which code quality tools does Elixir Idioms cover?"},{"a":"Elixir Idioms explains pipe operator usage as a key pattern for writing readable, composable code. You'll learn how to chain function calls left-to-right, design APIs that work naturally with pipes, and avoid nested function calls. The skill demonstrates how the pipe operator encourages a functional, data-transformation mindset central to idiomatic Elixir.","q":"How does Elixir Idioms explain the pipe operator?"},{"a":"Elixir Idioms teaches functional programming and immutability principles by showing how Elixir's immutable data structures and process-based concurrency model enable safe, predictable code. You'll learn to think in terms of data transformations, avoid shared mutable state, and use processes and message passing for concurrent, fault-tolerant systems.","q":"What functional programming principles does Elixir Idioms teach?"}],"shadow_tags":["fault-tolerance","process-oriented","immutable-data","supervision-tree","functional-style","actor-model","code-quality","static-analysis","pattern-matching"],"summary_rewrite":"This skill covers the core patterns that make Elixir code functional and resilient. Learn pattern matching across function heads and case expressions, build stateful processes with GenServer, and embrace the supervision model's \"let it crash\" philosophy. The skill also covers pipe-friendly API design, naming conventions, and tools like Credo and Dialyzer for code quality."},"files":[{"bytes":2855,"path":".agents/skills/elixir-idioms/SKILL.md","sha256":"6057c33cb5b24e9ccdb43f25501726c3be90becfeed9f600f953fe36929f553c","url":"https://skillfed.io/files/irahardianto/awesome-agv/elixir-idioms/7c02f320/SKILL.md"}],"id":"irahardianto/awesome-agv/elixir-idioms","links":{"html":"https://skillfed.io/irahardianto/awesome-agv/elixir-idioms","md":"https://skillfed.io/irahardianto/awesome-agv/elixir-idioms.md","repo":"https://github.com/irahardianto/awesome-agv"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":48,"language":"JavaScript","last_updated":"2026-07-17","license":"MIT","name":"Elixir Idioms","publisher":"irahardianto","stars":150},"relations":{"similar":[{"id":"bobmatnyc/claude-mpm-skills/phoenix-liveview"},{"id":"Goldziher/ai-rulez/elixir-conventions"},{"id":"oliver-kriska/claude-elixir-phoenix/phx-verify"},{"id":"oliver-kriska/claude-elixir-phoenix/verify"},{"id":"maxim-ist/elixir-architect/elixir-architect"},{"id":"personamanagmentlayer/pcl/elixir-expert"},{"id":"oliver-kriska/claude-elixir-phoenix/elixir-idioms"},{"id":"pproenca/dot-skills/staff-level-elixir"},{"id":"georgeguimaraes/claude-code-elixir/otp-thinking"},{"id":"joelhooks/joelclaw/koko"}]},"slug":{"owner":"irahardianto","repo":"awesome-agv","skill":"elixir-idioms"},"version":"7c02f320"}
