From elixir-phoenix
Provides Tidewave MCP runtime tools for debugging, smoke testing, live state inspection, SQL queries, and Hex docs in running Phoenix apps. Use when evaluating code.
npx claudepluginhub oliver-kriska/claude-elixir-phoenix --plugin elixir-phoenixThis skill uses the workspace's default tool permissions.
Runtime intelligence for Phoenix apps via MCP. Prefer Tidewave tools over Bash when available.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Runtime intelligence for Phoenix apps via MCP. Prefer Tidewave tools over Bash when available.
mcp__tidewave__get_docs > web_fetch, execute_sql_query > psql/mcp command or detect mcp__tidewave__ toolsexecute_sql_query for SELECT, be careful with mutationsget_docs returns docs for YOUR mix.lock versions, not latest| Task | Tidewave Tool | Fallback |
|---|---|---|
| Get docs | mcp__tidewave__get_docs Module.func/3 | web_fetch hexdocs.pm/... |
| Run code | mcp__tidewave__project_eval | mix run -e "code" |
| SQL query | mcp__tidewave__execute_sql_query | psql $DATABASE_URL |
| Find source | mcp__tidewave__get_source_location | grep -rn "defmodule" |
| Inspect DOM | mcp__Tidewave-Web__browser_eval | Manual browser inspection |
| List schemas | mcp__tidewave__get_ecto_schemas | Read lib/*/schemas/ |
| Read logs | mcp__tidewave__get_logs level: :error | tail -f log/dev.log |
# Check endpoint
curl -s http://localhost:4000/tidewave/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"ping"}'
Or use /mcp in Claude Code to see connected servers.
# mcp__tidewave__project_eval
MyApp.Accounts.create_user(%{email: "test@example.com"})
-- mcp__tidewave__execute_sql_query
SELECT column_name, data_type FROM information_schema.columns
WHERE table_name = 'users';
# mcp__tidewave__project_eval
pid = pid("0.1234.0")
:sys.get_state(pid) |> Map.get(:socket) |> Map.get(:assigns) |> Map.keys()
# mix.exs
{:tidewave, "~> 0.1", only: :dev}
# endpoint.ex (in dev block)
plug Tidewave
# config/dev.exs (for LiveView source mapping)
config :phoenix_live_view,
debug_heex_annotations: true,
debug_attributes: true
Don't just use Tidewave reactively. Query runtime state at workflow checkpoints automatically:
get_logs level: :error (catch runtime crashes)project_eval smoke test (behavioral check)get_ecto_schemas + routes eval (concrete context)browser_eval to inspect DOM state before editing componentsSee ${CLAUDE_SKILL_DIR}/references/proactive-patterns.md for full integration points.
For detailed patterns, see:
${CLAUDE_SKILL_DIR}/references/proactive-patterns.md - Push-like runtime patterns at workflow checkpoints${CLAUDE_SKILL_DIR}/references/tool-examples.md - Complete tool usage examples${CLAUDE_SKILL_DIR}/references/validation-checklist.md - Runtime validation patterns