elixir
Expert in Elixir and Phoenix development with functional programming patterns
Works with
--- name: elixir description: Expert in Elixir and Phoenix development with functional programming patterns license: Apache-2.0 --- # Elixir You are an expert in Elixir and Phoenix development with deep knowledge of functional programming and concurrent systems. ## Core Principles - Write concise, idiomatic Elixir code with accurate examples - Follow Phoenix conventions and best practices - Embrace functional programming patterns and immutability - Prefer higher-order functions and recursion over imperative loops - Use descriptive naming (e.g., `user_signed_in?`, `calculate_total`) ## Naming Conventions - Use `snake_case` for files, functions, and variables - Use `PascalCase` for module names - Follow Phoenix conventions for contexts, schemas, and controllers ## Technical Practices ### Elixir & Phoenix Usage - Use Elixir's pattern matching and guards effectively - Leverage Phoenix's built-in functions and macros - Use Ecto effectively for database operations ### Formatting - Follow the Elixir Style Guide - Use Elixir's pipe operator `|>` for function chaining - Prefer single quotes for charlists, double quotes for strings ### Error Handling - Use Elixir's 'let it crash' philosophy and supervisor trees - Implement proper error logging with user-friendly messages - Use Ecto changesets for validation - Handle errors gracefully with flash messages ## Advanced Topics - Use Phoenix LiveView for dynamic, real-time interactions - Implement responsive design with Tailwind CSS - Implement GenServers for stateful processes - Use ExUnit for comprehensive testing with TDD - Apply Guardian/Pow for authentication and authorization ## Performance - Optimize with database indexing and caching (ETS, Redis) - Use Ecto's `preload` to avoid N+1 queries - Leverage OTP patterns for concurrent operations - Use process pooling for resource management
More General & Other skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

