﻿---
title: "安装 Elixir Phoenix 技能插件"
summary: "安装 elixir-phoenix@oliver-kriska，通过 $elixir-phoenix:phx-review 等名称调用技能。Tidewave MCP 需要单独配置。"
category: skills
level: starter
surfaces: [cli, app]
tags: ["plugins", "Elixir", "Phoenix", "Skills", "Tidewave"]
canonical: /tips/elixir-phoenix-codex-plugin/
---

# 安装 Elixir Phoenix 技能插件

安装 elixir-phoenix@oliver-kriska，通过 $elixir-phoenix:phx-review 等名称调用技能。Tidewave MCP 需要单独配置。

Elixir Phoenix 插件先 marketplace add oliver-kriska/claude-elixir-phoenix，再装 elixir-phoenix@oliver-kriska。phxagents 给 Codex 单独生成了 `targets/codex`：51 条 Elixir / Phoenix 技能，外加一条要你在 `/hooks` 里另信的同步安全钩子。这不是 Claude 那套 `/phx:review`，也不是 Amp / Pi 的安装路径。

在**普通终端**加 marketplace，不要在 Codex TUI 里跑。官方钉 `--ref main`：

```bash
codex plugin marketplace add oliver-kriska/claude-elixir-phoenix --ref main
codex plugin add elixir-phoenix@oliver-kriska
codex plugin list
```

`.agents/plugins/marketplace.json` 的 name 是 `oliver-kriska`，插件 name 是 `elixir-phoenix`，显示名是 Elixir/Phoenix Skills。所以 CLI 是 `elixir-phoenix@oliver-kriska`。`marketplace add` **只登记源**，还要再 `plugin add`。`codex plugin list` 应看到 installed, enabled。0.154 起可先检查当前会话；未显示插件时再新开会话。IDE 扩展没有 `/plugins`，用 CLI 装。

技能必须带插件前缀。合成器里用 `/skills` 搜 `phx-review`，或显式写：

```text
$elixir-phoenix:phx-investigate FunctionClauseError after saving the profile form
$elixir-phoenix:phx-review
$elixir-phoenix:ecto-n1-check Accounts
```

光写 `$phx-investigate` **不会**点名这份插件。生成物把 `phx:review` 改成了 `phx-review`。不要手改 `targets/codex`；源技能在 `plugins/elixir-phoenix/skills`。

插件**不会**登记 Tidewave。Phoenix 已经跑着 Tidewave 时，官方 Codex 专节是：

```bash
codex mcp add tidewave --url http://localhost:4000/tidewave/mcp
```

把 `4000` 换成你的 `mix phx.server` 端口。路径带 `/tidewave/mcp`。不要 `mcp login`。`localhost` 走到 IPv6 连不上时改 `127.0.0.1`。`codex mcp list` 只证明写进了配置，连没连上要在会话里 `/mcp`。没 Tidewave 时技能会退回本地文件、日志和 `mix`。

钩子拦 `mix ecto.reset` / `mix ecto.drop`、没 `--force-with-lease` 的 force push，以及 Elixir 项目里的 `MIX_ENV=prod mix`。要 Unix + Bash + `jq`，没有 Windows 命令。Codex **不会**默信插件钩子：新开会话打开 `/hooks` 再批。不批技能仍能用。不要为日常会话开 `--dangerously-bypass-hook-trust`。钩子 fail-open：Bash 跑不起来或缺 `jq` 会放行。

刷新：

```bash
codex plugin marketplace upgrade oliver-kriska
codex plugin add elixir-phoenix@oliver-kriska
```

写库、丢库、强推保留操作审批。

网页 Cloud 不读取 `~/.codex/config.toml`。配置后重新打开会话。核对：`codex plugin list` 看到 `elixir-phoenix@oliver-kriska`；有 Tidewave 时 `codex mcp get tidewave` 的 url 带 `/tidewave/mcp`。

## 来源

- [phxagents · Install for Codex](https://phxagents.dev/install/codex/)
- [oliver-kriska/claude-elixir-phoenix](https://github.com/oliver-kriska/claude-elixir-phoenix)
- [Tidewave · OpenAI Codex](https://tidewave.hexdocs.pm/mcp_codex.html)
