Skip to main content
ClaudeWave
Skill440 estrellas del repoactualizado yesterday

phx:examples

This skill provides practical examples and walkthroughs for Phoenix, LiveView, Ecto, and OTP patterns, alongside references to official documentation and integration workflows with Tidewave runtime tools. Use it when seeking concrete implementation patterns, debugging guidance, code examples, or step-by-step walkthroughs for Phoenix development tasks such as feature planning, code review, and pre-deployment validation.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/oliver-kriska/claude-elixir-phoenix /tmp/phx-examples && cp -r /tmp/phx-examples/plugins/elixir-phoenix/skills/examples ~/.claude/skills/phx-examples
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# 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

```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 |