oliver-kriska/claude-elixir-phoenix-phx-investigate
Investigate Elixir/Phoenix bugs root-cause first. Reproduce failures, cite evidence; Codex subagents are optional.
npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill phx-investigate
Investigate Elixir/Phoenix bugs root-cause first. Reproduce or establish the
failing behavior before recommending a fix, and cite concrete paths and lines.
$elixir-phoenix:phx-investigate Users can't log in after password reset
$elixir-phoenix:phx-investigate FunctionClauseError in UserController.show
$elixir-phoenix:phx-investigate Complex auth bug --parallel
Treat the text after the skill name as the bug description. --parallel asks
for independent investigation tracks when native Codex subagent tooling is
available; it is an optimization, never a requirement.
assertion, and first relevant application frame before theorizing.
atom/string mismatches, nil values, stale servers, and changeset errors explain
many failures.
controlled command and record its output. If reproduction is impossible,
state exactly what evidence establishes the failure instead.
the causal code path, and the proposed correction.
investigation result is evidence and a recommendation, not an implicit patch.
Search .claude/solutions/, recent diffs, tests, logs, and the literal error.
Do not block if .claude/solutions/ does not exist.
Tidewave is optional. If its tools are configured, use them for logs, source
locations, safe queries, or hypothesis checks. Otherwise use repository files,
mix commands, and local logs. Never fail or ask the user to install Tidewave
merely to continue an investigation.
Choose focused checks that fit the report, such as:
mix compile --warnings-as-errors
mix test test/path_test.exs --trace
Do not run migrations or other state-changing commands unless they are necessary,
safe for the fixture, and authorized by the user.
Capture the exact command, failure, and relevant output. Read
references/error-patterns.md, then inspect only the code needed to trace the
failure from entry point to cause.
Check saved files, atom/string keys, preload state, pattern matches, nil values,
return values, server restarts, and changeset errors. For silent LiveView form
failures, inspect {:error, changeset} and rendered validation errors before JS.
Use targeted searches, source reads, tests, or non-mutating diagnostics. Only add
temporary source diagnostics if the user explicitly authorizes edits, and remove
them before reporting. Cite path:line evidence for both the failing behavior
and the causal code.
If native Codex subagents are available and the bug genuinely spans independent
areas, delegate read-only tracks by concern. Otherwise perform the same tracks
sequentially in this session. Do not require named custom agents.
Use references/investigation-template.md. Include:
Route follow-up work with $elixir-phoenix:phx-quick, $elixir-phoenix:phx-plan, or $elixir-phoenix:phx-compound when
appropriate. Do not invoke another skill unless the user asks you to continue.
references/error-patterns.md — common errors and checklistreferences/investigation-template.md — output formatreferences/debug-commands.md — debug commands and common fixesTake oliver-kriska/claude-elixir-phoenix-phx-investigate from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.