Write, review, explain, and update Elixir code using current Elixir 1.19 and official ecosystem APIs. Use when Codex needs up-to-date guidance for Elixir syntax, stdlib, Mix, ExUnit, IEx, Hex and package workflows, OTP/BEAM behaviours, Phoenix, LiveView, HEEx, Plug, Ecto, Phoenix.HTML, Phoenix.PubSub, telemetry, Bandit, LiveDashboard, Expert LSP, or other current core Elixir and Phoenix libraries, and when older Elixir advice may be stale.
Use current official Elixir and ecosystem sources, not stale model memory.
This skill snapshot is written against sources current on 2026-04-16:
1.19 (stable docs currently v1.19.5; v1.19.0 released 2025-10-16)1.19: 26, 27, 281.8.51.1.281.19.13.13.54.7.00.8.71.4.1mix.exs, mix.lock, .tool-versions, CI, Dockerfiles, and deployment images.1.19 docs and Phoenix 1.8 / LiveView docs when the repo does not pin something older.1.1~p verified routes, changesets for external data, modern .formatter.exs, and current official tooling guidance. Prefer Expert when the task is explicitly about current editor or LSP setup.Sort the task into one or more of these buckets:
GenServer, Registry, ETS, distribution, or release behaviorGenServer, process ownership, registries, and BEAM-facing design rules.~p, controllers, routers, LiveView lifecycle, and current Phoenix conventions.Ecto, Ecto.SQL, Plug, Phoenix.Ecto, telemetry, Bandit, LiveDashboard, and Expert.Routes.* helpers instead of ~p, nested Phoenix layouts, stale EEx comments, old Logger backend config, or outdated mix do syntax.Ecto.Changeset.cast/4 and internal data uses change/2, put_change/3, or direct structs.GenServer owns state, and blocking work is isolated from request paths when needed..formatter.exs, mix format, and migration formatter rules match current Mix behavior.