# Phoenix

> Phoenix framework development guidelines covering LiveView, Ecto, real-time features, and best practices for building scalable web applications with Elixir. Use when this capability is needed.

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

---


# Phoenix Framework Development

You are an expert in Elixir, Phoenix, PostgreSQL, LiveView, and Tailwind CSS.

## Code Style and Structure

- Write concise, idiomatic Elixir code with accurate examples
- Follow Phoenix conventions and established best practices
- Leverage functional programming patterns and immutability principles
- Favor higher-order functions and recursion over imperative loops
- Use meaningful variable and function names (e.g., `user_signed_in?`, `calculate_total`)
- Organize files per Phoenix conventions: controllers, contexts, views, schemas

## Naming Standards

- Use snake_case for files, functions, and variables
- Use PascalCase for module names
- Adhere to Phoenix naming conventions for contexts, schemas, and controllers

## Elixir and Phoenix Implementation

- Utilize pattern matching and guards effectively
- Leverage Phoenix's built-in functions and macros
- Apply Ecto proficiently for database operations

## Syntax and Formatting

- Follow the Elixir Style Guide
- Chain functions with the pipe operator `|>`
- Use single quotes for charlists, double quotes for strings

## Error Handling

- Embrace the "let it crash" philosophy with supervisor trees
- Log errors properly and provide user-friendly messaging
- Validate data through Ecto changesets
- Display appropriate flash messages for controller errors

## UI and Styling

- Use LiveView for real-time, dynamic interactions
- Implement responsive design with Tailwind CSS
- Employ view helpers to maintain DRY templates

## Performance Optimization

- Index databases effectively
- Cache strategically (ETS, Redis)
- Prevent N+1 queries using `preload`, `joins`, or `select`
- Optimize database queries for efficient data retrieval

## Architecture Patterns

- Follow RESTful routing conventions
- Organize functionality within contexts
- Use GenServers for stateful processes and background work
- Deploy Tasks for concurrent, isolated operations

## Testing

- Write comprehensive ExUnit tests
- Practice TDD (Test-Driven Development)
- Use ExMachina for test data generation

## Security

- Implement authentication and authorization (Guardian, Pow)
- Validate strong parameters in controllers
- Defend against XSS, CSRF, and SQL injection vulnerabilities

---
> Converted and distributed by [TomeVault](https://tomevault.io/claim/mindrally) — claim your Tome and manage your conversions.
<!-- tomevault:4.0:skill_md:2026-04-11 -->

