{"slug":"phx-examples","title":"phx-examples","summary":"Provide Phoenix, LiveView, Ecto, OTP, or Oban examples. Use when asked","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-04T15:14:25.408792Z","repo":{"url":"https://github.com/oliver-kriska/claude-elixir-phoenix","stars":560,"forks":44,"license":"MIT","updatedAt":"2026-10-02T04:11:38Z"},"bodyHtml":"<hr>\n<h2>name: phx-examples\ndescription: Provide Phoenix, LiveView, Ecto, OTP, or Oban examples. Use when asked\nfor sample code, a walkthrough, a proper implementation, or expected workflow output.\nPair with domain skills. NOT for debugging, direct changes, best-practice advice,\nor audits.</h2>\n<h1>Examples &amp; Walkthroughs</h1>\n<h2>Official Phoenix Guides (Reference)</h2>\n<p>For standard implementation patterns, always check official guides first:</p>\n<table>\n<thead>\n<tr>\n<th>Topic</th>\n<th>Guide</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Contexts</td>\n<td><a href=\"https://hexdocs.pm/phoenix/contexts.html\">hexdocs.pm/phoenix/contexts</a></td>\n</tr>\n<tr>\n<td>Ecto Basics</td>\n<td><a href=\"https://hexdocs.pm/phoenix/ecto.html\">hexdocs.pm/phoenix/ecto</a></td>\n</tr>\n<tr>\n<td>LiveView</td>\n<td><a href=\"https://hexdocs.pm/phoenix_live_view/welcome.html\">hexdocs.pm/phoenix_live_view</a></td>\n</tr>\n<tr>\n<td>Authentication</td>\n<td><a href=\"https://hexdocs.pm/phoenix/mix_phx_gen_auth.html\">mix phx.gen.auth</a></td>\n</tr>\n<tr>\n<td>Channels</td>\n<td><a href=\"https://hexdocs.pm/phoenix/channels.html\">hexdocs.pm/phoenix/channels</a></td>\n</tr>\n<tr>\n<td>Testing</td>\n<td><a href=\"https://hexdocs.pm/phoenix/testing.html\">hexdocs.pm/phoenix/testing</a></td>\n</tr>\n<tr>\n<td>Deployment</td>\n<td><a href=\"https://hexdocs.pm/phoenix/deployment.html\">hexdocs.pm/phoenix/deployment</a></td>\n</tr>\n</tbody>\n</table>\n<h2>Plugin-Specific Patterns</h2>\n<p>Patterns NOT in official guides (unique to this plugin):</p>\n<h3>Tidewave Integration Workflow</h3>\n<pre><code># Requires connected mcp__tidewave__* tools\n\n# Get exact docs for YOUR dependency versions\nmcp__tidewave__get_docs \"Ecto.Query\"\n\n# Execute code in running app\nmcp__tidewave__project_eval \"MyApp.Accounts.list_users() |&gt; length()\"\n\n# Query database directly\nmcp__tidewave__execute_sql_query \"SELECT count(*) FROM users\"\n</code></pre>\n<h3>Multi-Agent Review Workflow</h3>\n<pre><code># 1. Plan feature with specialist agents\nphx-plan Add user avatars with S3 upload\n\n# 2. After implementation, review with multiple perspectives\nphx-review lib/my_app/accounts.ex  # Elixir idioms\n# Security analyzer runs automatically on auth code\n\n# 3. Before deployment\n# Deployment validator checks production readiness\n</code></pre>\n<h3>Iron Laws Enforcement</h3>\n<p>This plugin enforces non-negotiable rules across all agents:</p>\n<p><strong>Elixir Idioms:</strong></p>\n<ul>\n<li>NO process without runtime reason</li>\n<li>Messages are copied (keep small)</li>\n<li>Changesets for external data</li>\n</ul>\n<p><strong>LiveView:</strong></p>\n<ul>\n<li>NEVER query DB in mount</li>\n<li>ALWAYS use streams for lists</li>\n<li>RE-AUTHORIZE in every handle_event</li>\n</ul>\n<p><strong>Oban:</strong></p>\n<ul>\n<li>Jobs MUST be idempotent</li>\n<li>ALWAYS handle {:error, _} returns</li>\n<li>Use unique keys for deduplication</li>\n</ul>\n<p><strong>Security:</strong></p>\n<ul>\n<li>Validate at boundaries</li>\n<li>Never interpolate user input in queries</li>\n<li>Authorize everywhere (not just mount)</li>\n</ul>\n<h2>Example Workflows</h2>\n<h3>Bug Investigation</h3>\n<pre><code># 1. Start with obvious checks\nphx-investigate Login failing after password reset\n\n# 2. Agent checks Ralph Wiggum list:\n#    - File saved? Compiled? Migrated?\n#    - Atom vs string keys?\n#    - Data preloaded?\n\n# 3. If complex, escalate to Ralph Wiggum Loop (if installed)\n/ralph-loop:ralph-loop \"Fix login tests. Output &lt;promise&gt;DONE&lt;/promise&gt; when green.\"\n</code></pre>\n<h3>Feature Planning</h3>\n<pre><code># 1. Research phase\nphx-research Oban unique jobs best practices\n\n# 2. Plan with context analysis\nphx-plan Add daily digest email job\n\n# 3. Agents coordinate:\n#    - hex-library-researcher evaluates deps\n#    - oban-specialist designs worker\n#    - ecto-schema-designer plans data model\n</code></pre>\n<h3>Security Audit</h3>\n<pre><code># 1. Run security analyzer on auth code\nphx-review lib/my_app_web/controllers/session_controller.ex\n\n# 2. Check for common vulnerabilities:\n#    - SQL injection (parameterized queries?)\n#    - XSS (proper escaping?)\n#    - CSRF (tokens present?)\n#    - Authorization (re-checked in events?)\n</code></pre>\n<h2>When to Use Official Docs vs Plugin</h2>\n<table>\n<thead>\n<tr>\n<th>Situation</th>\n<th>Use</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\"How do I create a context?\"</td>\n<td>Official Phoenix guides</td>\n</tr>\n<tr>\n<td>\"Is my context design idiomatic?\"</td>\n<td>Plugin's <code>phx-review</code></td>\n</tr>\n<tr>\n<td>\"How do I add LiveView?\"</td>\n<td>Official LiveView guides</td>\n</tr>\n<tr>\n<td>\"Does my LiveView have memory issues?\"</td>\n<td>Plugin's Iron Laws</td>\n</tr>\n<tr>\n<td>\"How do I deploy to Fly.io?\"</td>\n<td>Official deployment guide</td>\n</tr>\n<tr>\n<td>\"Is my release config production-ready?\"</td>\n<td>Plugin's deployment-validator</td>\n</tr>\n</tbody>\n</table>\n","files":[{"path":"SKILL.md","sizeBytes":3993,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-04T15:16:44.056688Z","sha256":"9C63851A3341AA4FC57CD30B2A6DA9D8591F84F8C6CCEB757378EBBF135254E1","sizeBytes":1964},"review":null,"source":{"repositoryUrl":"https://github.com/oliver-kriska/claude-elixir-phoenix","path":"targets/amp/skills/phx-examples","license":"MIT","commit":"9767a82d24ddddad553e85f88efc2869a7fd7d88","subtreeSha":"830064EA04C7E9D7B93D15B9EF98BB0131712C8604D306AEA125BD6E3EF55A6A","lastSyncedAt":"2026-10-04T15:14:09.139242Z"},"reviewedAt":"2026-10-04T15:20:37.984639Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix/tree/main/targets/amp/skills/phx-examples"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install oliver-kriska-claude-elixir-phoenix@llmmart"},{"target":"git","command":"git clone https://github.com/oliver-kriska/claude-elixir-phoenix.git"}]}