mcpField
P
phoenix

phoenix

github.com/mindrallyDevelopment287727 installsUpdated 3w ago
Repository

About phoenix

phoenix is a development skill for building Phoenix applications with Elixir. It provides guidance on conventions, database work, UI, performance, testing, and security.

Key features

  1. 01Phoenix and Elixir conventions
  2. 02Ecto data validation and queries
  3. 03LiveView and Tailwind CSS UI
  4. 04Performance and database guidance
  5. 05Testing and security practices

Use cases

  1. 01Structuring Phoenix application code
  2. 02Building interactive LiveView interfaces
  3. 03Improving Ecto queries and database access
  4. 04Reviewing tests and application security

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mindrally/skills --skill phoenix

After installing, type/phoenixin Claude Code to confirm it loaded.

Details

From the project README

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

Comments

Markdown supported