Claude
Skill
phx-examples
Provide Phoenix, LiveView, Ecto, OTP, or Oban examples. Use when asked
Virus-scanned
Reviewed automatically before listing.
Download
oliver-kriska-claude-elixir-phoenix-targets_amp_skills_phx-examples-9767a82.zip · 1 KB
Install
skills CLI
npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix/tree/main/targets/amp/skills/phx-examples
Claude Code
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install oliver-kriska-claude-elixir-phoenix@llmmart
Git
git clone https://github.com/oliver-kriska/claude-elixir-phoenix.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole oliver-kriska/claude-elixir-phoenix collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
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
# Requires connected mcp__tidewave__* 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
# 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
# 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
# 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
# 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 |
Files (claude-elixir-phoenix)
-
SKILL.md 3.9 KB
--- name: phx-examples description: Provide Phoenix, LiveView, Ecto, OTP, or Oban examples. Use when asked for sample code, a walkthrough, a proper implementation, or expected workflow output. Pair with domain skills. NOT for debugging, direct changes, best-practice advice, or audits. --- # Examples & Walkthroughs ## Official Phoenix Guides (Reference) For standard implementation patterns, always check official guides first: | Topic | Guide | |-------|-------| | Contexts | [hexdocs.pm/phoenix/contexts](https://hexdocs.pm/phoenix/contexts.html) | | Ecto Basics | [hexdocs.pm/phoenix/ecto](https://hexdocs.pm/phoenix/ecto.html) | | LiveView | [hexdocs.pm/phoenix_live_view](https://hexdocs.pm/phoenix_live_view/welcome.html) | | Authentication | [mix phx.gen.auth](https://hexdocs.pm/phoenix/mix_phx_gen_auth.html) | | Channels | [hexdocs.pm/phoenix/channels](https://hexdocs.pm/phoenix/channels.html) | | Testing | [hexdocs.pm/phoenix/testing](https://hexdocs.pm/phoenix/testing.html) | | Deployment | [hexdocs.pm/phoenix/deployment](https://hexdocs.pm/phoenix/deployment.html) | ## Plugin-Specific Patterns Patterns NOT in official guides (unique to this plugin): ### Tidewave Integration Workflow ```text # Requires connected mcp__tidewave__* 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 |
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.