Elixir 技能用于在 Codex 中编写、审查、解释和更新 Elixir 代码,强调使用当前官方 Elixir 与生态来源,而不是依赖过时的模型记忆。
用途与定位 该技能面向需要最新 Elixir 指导的任务。资料说明其快照基于 2026-04-16 的官方来源,涉及 Elixir 稳定线 1.19(稳定文档当前为 v1.19.5,v1.19.0 发布于 2025-10-16),Elixir 1.19 支持的 OTP 为 26、27、28,以及 Phoenix 1.8.5、Phoenix LiveView 1.1.28、Plug 1.19.1、Ecto 与 Ecto SQL 3.13.5、Phoenix.Ecto 4.7.0、LiveDashboard 0.8.7、telemetry 1.4.1。Expert 是官方 Elixir LSP,仍在推进首个版本发布。
主要能力 技能覆盖语言、标准库、宏、类型、协议与解析;Mix、格式化、编译、测试、文档与 CLI 任务;OTP/BEAM 进程、监督者、GenServer、Registry、ETS、分布式与发布行为;Plug/Phoenix HTTP、路由、控制器、组件与端点配置;LiveView、LiveComponent、HEEx、上传、JS 命令与导航;Ecto schema、changeset、查询、repo、迁移与 SQL 适配器;以及 Hex、Expert、格式化插件、LiveDashboard、telemetry、Bandit 等工具。
使用方式 开始前先确认目标版本:检查 mix.exs、mix.lock、.tool-versions、CI、Dockerfile 与部署镜像。若仓库未固定较旧版本,默认使用 Elixir 1.19 文档与 Phoenix 1.8 / LiveView 1.1 文档。匹配仓库风格与升级范围,除非任务明确是迁移,否则不要静默把旧 Phoenix 结构改写成 1.8 生成器输出。优先使用标准库、OTP 行为与官方库,再考虑新依赖。优先采用当前默认做法:HEEx、函数组件、~p 验证路由、外部数据使用 changeset、现代 .formatter.exs 与当前官方工具指导;当任务明确涉及当前编辑器或 LSP 设置时优先 Expert。
工作流 先对任务分类,再只加载匹配的参考文档。版本不明确时先读 references/version-policy.md;语言与 Mix 相关读 references/language-and-mix.md;OTP 与 BEAM 读 references/otp-and-beam.md;Phoenix 与 LiveView 读 references/phoenix-and-liveview.md;Ecto、Plug、telemetry、Bandit、LiveDashboard、Expert 读 references/data-and-tooling.md;需要精确上游文档、变更日志或指南时读 references/official-sources.md。
审查启发式 检查仓库是否固定较旧的 Elixir、OTP、Phoenix 或 LiveView 版本,再应用当前语法或 API;检查是否混入旧指导,如 Routes.* 辅助函数而非 ~p、嵌套 Phoenix 布局、过时 EEx 注释、旧 Logger 后端配置或过时 mix do 语法;检查外部数据是否使用 Ecto.Changeset.cast/4,内部数据是否使用 change/2、put_change/3 或直接结构体;检查 OTP 职责是否清晰,监督者负责监督、GenServer 拥有状态、必要时把阻塞工作与请求路径隔离;检查 Phoenix 与 LiveView 代码是否使用 HEEx、函数组件及当前路由与导航 API,而非旧视图与辅助模式;检查 .formatter.exs、mix format 与迁移格式化规则是否符合当前 Mix 行为;检查工具指导是否优先 Expert 用于当前编辑器与 LSP 设置,同时除非明确迁移,否则保留旧 ElixirLS 设置。
适用场景与限制 适用于需要基于当前官方来源的 Elixir 代码编写、审查、解释与更新任务,尤其是涉及版本兼容、Phoenix/LiveView 约定、Ecto 数据建模与 OTP 设计的场景。限制方面,资料未提供安装命令、收费方式、平台支持范围或具体使用步骤,这些内容暂未提供。