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 个技能目录

链接

原作者

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

评论区

0 条评论

登录后可评论。

Skill超级捕获手 15 阅读