claude-elixir-phoenix Skill:让 Claude Code 真正懂 Elixir 陷阱的 26 代理插件
总结
claude-elixir-phoenix 是一款专为 Elixir / Phoenix / LiveView 生态打造的 Claude Code 插件,集成 26 个专家子代理、51 个领域技能、30 条 Hook 规则和 26 条”不可违反”的 Iron Laws,把通用 Claude Code 训练成对 Ecto N+1、Oban 幂等性、:float 财务精度等 Elixir 特有陷阱”门儿清”的资深搭档。它在 2026 年 8 月的 GitHub Claude Skills 实时榜单中持续上榜,主仓库 533 星、38 Fork,并已通过 Amp / Codex / Pi / OpenCode / DeepSeek Harness 五种 runtime 适配分发,是当下”Claude Code 插件往深度垂直领域走”路线的代表性作品。
功能与原则
插件围绕 plan → work → verify → review → compound 五段式工作流,把 Elixir 后端开发拆给 26 个并发子代理协同完成。每个子代理只负责自己擅长的领域(LiveView 架构、Ecto schema、OTP 设计、Oban 任务、Hex 包调研、安全审计等),并自动加载对应的领域知识库与 Iron Law。核心设计原则是”用强约束代替弱 prompt”:与其写”请检查 N+1 查询”,不如让 iron-law-judge 在每次提交时硬性扫描 26 条规则,让违规代码当场卡住编译;同时保留人类工程师的并行协作感——/phx:review 会调度 4 个 reviewer 并发审计(idioms、security、tests、compilation),自动去重发现并区分”本次新增”与”历史遗留”问题。
认可度
- GitHub stars:533(截至 2026-08-27,GitHub API
stargazers_count实时核对) - Forks:38(截至 2026-08-27)
- 上榜经历:连续出现在 linny006/trending-claude-skills 自动榜单(每 15 分钟刷新)的今日更新列表中;该榜单本身由 GitHub Search API 实时抓取,是 Claude Skills 生态当下最权威的”动量榜”之一
- 多 runtime 分发:同一份 51 个技能 trees 已经为 Amp、Codex、Pi、OpenCode、DeepSeek Harness 生成可安装版本(v3.0.0 起)
- 配套文档站:phxagents.dev 单独维护完整安装指南、Iron Laws 索引、26 个技能目录
链接
- GitHub:https://github.com/oliver-kriska/claude-elixir-phoenix
- 文档站:https://phxagents.dev
- 支持矩阵:https://phxagents.dev/compatibility/
- 26 条 Iron Laws:https://phxagents.dev/iron-laws/
- 安全策略:SECURITY.md(经 SkillSpector 扫描)
原作者
Oliver Kriska(GitHub: @oliver-kriska)——长期从事 Elixir/Phoenix 工程实践的开发者,自维护本仓库以及配套的 amp-elixir-phoenix 适配仓库,主张把 Claude Code 打造成”真正懂 Elixir 实战陷阱”的资深搭档,而非通用补全工具。
介绍
claude-elixir-phoenix 的出发点是作者观察到的一个尴尬现象:Claude Code 默认状态下虽然能写 Elixir,但踩的是只有线上才会爆炸的坑——比如 assign_new 在 reconnect 时静默跳过、:float 字段因为浮点精度把金额算错、Oban 任务不幂等导致重试副作用、liveview 的 assigns 引发 N+1。这些问题单元测试覆盖不到、类型检查也抓不出,只能靠”老 Elixir 工程师的眼力”。
插件的做法是 用一整套 skills + agents + hooks 把这些经验工程化:51 个领域技能负责”在正确的时机把正确的领域知识塞进上下文”,26 个子代理负责”在不同阶段各自承担规划 / 实现 / 评审 / 调查”,30 条 Hook 规则负责”在代码落地前实时拦下违规”,26 条 Iron Laws 则负责”以非协商方式定义’这个代码绝对不能这么写'”。
整个流水线在一次任务里会跑出多份产物:.claude/plans/<task>/plan.md(结构化方案)、.claude/reviews/<task>/review.md(并行评审结果)、.claude/knowledge/<domain>.md(沉淀出的可复用知识)。所以这个插件不仅在”做事”,还在持续地把经验写入团队的 CLAUDE.md,让下次开工的 Agent 站在更高起点上。
特点
- 26 个并发子代理 + 51 个领域技能:覆盖 Elixir 语法、OTP、Ecto、LiveView、Oban、Hex 调研、安全审计等
- 26 条 Iron Laws:把”哪些代码绝对不能这么写”硬编码进 Hook,违规直接阻断提交
- 五 runtime 一份源码:v3.0.0 起同时分发 Claude Code、Amp、Codex、Pi、OpenCode、DeepSeek Harness 六个 runtime 的安装包
- Tidewave MCP 集成:与 Tidewave 实时运行时连接,访问运行中的 BEAM 节点、调用 IEx 调试
- 学习沉淀机制:
/phx:compound会把每次会话的可复用经验写入CLAUDE.md,下次会话自动加载
使用方法
Claude Code 安装(推荐):
# 1. 添加 marketplace
/plugin marketplace add oliver-kriska/claude-elixir-phoenix
# 2. 安装插件(自动拉入 ecto + lv 两个兼容插件)
/plugin install elixir-phoenix
最小调用示例:
# 第一步:让 4 个研究代理并行调研代码库
/phx:plan Add real-time comment notifications
# 第二步:按方案逐任务实现,每步自动编译
/phx:work .claude/plans/comment-notifications/plan.md
# 第三步:4 个 reviewer 并发审计
/phx:review
升级注意(v2 → v3): 不要单独跑 claude plugin update,v3 新增了两个兼容插件,必须按以下顺序安装:
claude plugin marketplace update oliver-kriska
claude plugin install ecto@oliver-kriska
claude plugin install lv@oliver-kriska
claude plugin update elixir-phoenix@oliver-kriska
要求 Claude Code 2.1.110+;推荐启用嵌套子代理深度 3 以使用完整 orchestration:
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=3 claude
使用场景与人群
- 适用场景:Elixir / Phoenix / LiveView 项目的新功能开发、复杂 Bug 调查、PR 自审、性能与安全审计;尤其适合把”老 Elixir 工程师的经验”系统化传递给团队新人
- 目标用户:
- 维护中大型 Phoenix 应用的工程师(>=3 年 Elixir 经验,想把 AI 真正用进生产)
- 技术 Lead 想在团队内统一”AI 编码规范”——Iron Laws 让规范成为代码而非文档
- 多 runtime 团队:同一份 skills 能在 Claude Code、Codex、Amp 等多种工具里复用
- 不适合纯 Elixir 新手(插件假设用户已熟悉 Phoenix 架构与 OTP)
输入与输出案例
案例 1:添加实时评论通知功能
- 输入:在 Phoenix LiveView 项目里运行
/phx:plan Add real-time comment notifications - 过程:
1. 4 个研究代理并行分析现有 PubSub 配置、Channel 路由、LiveView mount 模式
2. workflow-orchestrator 把方案写入.claude/plans/comment-notifications/plan.md,包含 5 个子任务与 Ecto 迁移
3. 运行/phx:work逐任务实现,每改一处自动mix compile,Iron Law 检查:timer.minutes精度、assigns 重新计算等
4./phx:review触发 4 个 reviewer:elixir-reviewer 抓到一处Process.send_after不带:cancel_timer的问题;security-analyzer 标记 Channel 缺少 token 校验 - 输出:结构化 review 报告 + 自动修复建议 + 落到
CLAUDE.md的”以后所有通知 Channel 必须用 presence + token 校验”知识条目
案例 2:调查偶发的 Oban 任务重试副作用
- 输入:在仓库中运行
/phx:investigate Users cleanup job runs twice, payments got charged for canceled orders - 过程:
1. deep-bug-investigator 用 Tidewave MCP 接入运行中的 BEAM,查询 Oban Jobs 表里state: "available"的记录
2. oban-specialist 加载 Oban 幂等性知识库,对照代码定位到def perform(%{args: args})里没有用唯一索引作 idempotency_key
3. xref-analyzer 交叉确认Money.charge调用未包在with里,被 retry 重复触发
4. iron-law-judge 立即把”Oban job 必须有唯一 idempotency_key”这条 Iron Law 在会话内强制开启 - 输出:定位报告 + 修复 patch(增加唯一索引 + 用
Oban.insert前置检查)+ 一条新的 Iron Law 候选条目
GitHub: https://github.com/oliver-kriska/claude-elixir-phoenix
评论区
登录后可评论。