elixir

SKILL.md

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
Weekly Installs
2
Installed on
claude-code2
antigravity2
gemini-cli2
windsurf1
opencode1
cursor1