plugins/elixir-phoenix/skills/tidewave-integration/SKILL.md
Tidewave MCP runtime tools — debugging, smoke testing, live state inspection, SQL queries, hex docs. Use when evaluating code in a running Phoenix app.
npx skillsauth add oliver-kriska/claude-elixir-phoenix tidewave-integrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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: "[email protected]"})
-- 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 patternsdevelopment
Verify Elixir/Phoenix changes — compile, format, and test in one loop. Use after implementation, before PRs, or after fixing bugs.
development
OTP/BEAM patterns and Elixir idioms — GenServer, Supervisor, Task, Registry, pattern matching, with chains, pipes. Use when designing processes or debugging BEAM issues.
tools
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.
development
Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors.