Agent skill

phx:examples

Provide examples and walkthroughs for Phoenix, LiveView, Ecto, OTP patterns. Use when "how do I...", "show me an example", or "what does X look like".

Stars 252
Forks 17

Install this agent skill to your Project

npx add-skill https://github.com/oliver-kriska/claude-elixir-phoenix/tree/main/plugins/elixir-phoenix/skills/examples

SKILL.md

Examples & Walkthroughs

Official Phoenix Guides (Reference)

For standard implementation patterns, always check official guides first:

Topic Guide
Contexts hexdocs.pm/phoenix/contexts
Ecto Basics hexdocs.pm/phoenix/ecto
LiveView hexdocs.pm/phoenix_live_view
Authentication mix phx.gen.auth
Channels hexdocs.pm/phoenix/channels
Testing hexdocs.pm/phoenix/testing
Deployment hexdocs.pm/phoenix/deployment

Plugin-Specific Patterns

Patterns NOT in official guides (unique to this plugin):

Tidewave Integration Workflow

bash
# 1. Check if Tidewave is running
/mcp

# 2. If connected, debug with runtime tools
# Get exact docs for YOUR dependency versions
mcp__tidewave__get_docs "Ecto.Query"

# Execute code in running app
mcp__tidewave__project_eval "MyApp.Accounts.list_users() |> length()"

# Query database directly
mcp__tidewave__execute_sql_query "SELECT count(*) FROM users"

Multi-Agent Review Workflow

bash
# 1. Plan feature with specialist agents
/phx:plan Add user avatars with S3 upload

# 2. After implementation, review with multiple perspectives
/phx:review lib/my_app/accounts.ex  # Elixir idioms
# Security analyzer runs automatically on auth code

# 3. Before deployment
# Deployment validator checks production readiness

Iron Laws Enforcement

This plugin enforces non-negotiable rules across all agents:

Elixir Idioms:

  • NO process without runtime reason
  • Messages are copied (keep small)
  • Changesets for external data

LiveView:

  • NEVER query DB in mount
  • ALWAYS use streams for lists
  • RE-AUTHORIZE in every handle_event

Oban:

  • Jobs MUST be idempotent
  • ALWAYS handle {:error, _} returns
  • Use unique keys for deduplication

Security:

  • Validate at boundaries
  • Never interpolate user input in queries
  • Authorize everywhere (not just mount)

Example Workflows

Bug Investigation

bash
# 1. Start with obvious checks
/phx:investigate Login failing after password reset

# 2. Agent checks Ralph Wiggum list:
#    - File saved? Compiled? Migrated?
#    - Atom vs string keys?
#    - Data preloaded?

# 3. If complex, escalate to Ralph Wiggum Loop (if installed)
/ralph-loop:ralph-loop "Fix login tests. Output <promise>DONE</promise> when green."

Feature Planning

bash
# 1. Research phase
/phx:research Oban unique jobs best practices

# 2. Plan with context analysis
/phx:plan Add daily digest email job

# 3. Agents coordinate:
#    - hex-library-researcher evaluates deps
#    - oban-specialist designs worker
#    - ecto-schema-designer plans data model

Security Audit

bash
# 1. Run security analyzer on auth code
/phx:review lib/my_app_web/controllers/session_controller.ex

# 2. Check for common vulnerabilities:
#    - SQL injection (parameterized queries?)
#    - XSS (proper escaping?)
#    - CSRF (tokens present?)
#    - Authorization (re-checked in events?)

When to Use Official Docs vs Plugin

Situation Use
"How do I create a context?" Official Phoenix guides
"Is my context design idiomatic?" Plugin's /phx:review
"How do I add LiveView?" Official LiveView guides
"Does my LiveView have memory issues?" Plugin's Iron Laws
"How do I deploy to Fly.io?" Official deployment guide
"Is my release config production-ready?" Plugin's deployment-validator

Expand your agent's capabilities with these related and highly-rated skills.

oliver-kriska/claude-elixir-phoenix

lab:autoresearch

Self-improving loop for plugin skills. Reads program.md, proposes one mutation per iteration, evaluates against deterministic scorer, keeps improvements via git, reverts failures. Targets weakest skill+dimension. Use with /loop for overnight runs.

252 17
Explore
oliver-kriska/claude-elixir-phoenix

promote

Generate X/Twitter release promotion posts with ASCII tables and CodeSnap rendering. Use when writing release posts, promotion tweets, plugin announcements, or preparing social media content for new versions.

252 17
Explore
oliver-kriska/claude-elixir-phoenix

skill-monitor

Analyze skill effectiveness across sessions. Computes per-skill metrics (action rate, friction, outcomes), identifies degrading skills, and generates improvement recommendations. Requires session-scan data in metrics.jsonl.

252 17
Explore
oliver-kriska/claude-elixir-phoenix

session-trends

Analyze trends across session metrics. Computes windowed aggregates, deltas, and compares against MEMORY.md findings. Use periodically for progress tracking.

252 17
Explore
oliver-kriska/claude-elixir-phoenix

cc-changelog

CONTRIBUTOR TOOL - Track CC changelog, extract new versions since last check, analyze impact on plugin (breaking changes, opportunities, deprecations). Run periodically or before releases. NOT part of the distributed plugin.

252 17
Explore
oliver-kriska/claude-elixir-phoenix

session-scan

Compute metrics for Claude Code sessions. Discovers via ccrider, filters trivial, computes friction/opportunity/fingerprint scores. Use for broad session triage.

252 17
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results