mcpField
S
staff-level-elixir

staff-level-elixir

github.com/pproenca开发21877 次安装11 周前更新
代码仓库

关于 staff-level-elixir

staff-level-elixir 是用于编写和审查 Elixir 代码的技能,帮助在 OTP、Ecto、Phoenix 和并发代码中运用资深工程判断。其规则针对常见错误默认做法,而非基础语法或标准库用法。

主要功能

  1. 01OTP 进程与监督策略
  2. 02失败信号与让进程崩溃的指导
  3. 03Ecto 查询和事务模式
  4. 04Phoenix 与 LiveView 设计指导
  5. 05有界并发与调度器安全

适用场景

  1. 01判断 OTP 任务是否需要进程
  2. 02审查 Ecto 数据访问与写入
  3. 03设计 Phoenix 控制器和 LiveView
  4. 04处理并发任务与不可信输入

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill staff-level-elixir

安装后在 Claude Code 中输入/staff-level-elixir确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
conc-async-stream-bounded.md
conc-atom-exhaustion.md
conc-task-supervised-nolink.md
data-functions-over-macros.md
data-iolists-over-concat.md
data-pattern-match-over-conditionals.md
data-pipe-idioms.md
data-stream-vs-enum.md
ecto-atomic-counters.md
ecto-db-constraints-over-validation.md
ecto-multi-for-transactions.md
ecto-preload-n-plus-one.md
ecto-stream-large-sets.md
err-let-it-crash.md
err-tagged-tuples-vs-raise.md
err-with-happy-path.md
otp-ets-for-shared-reads.md
otp-genserver-not-default.md
otp-handle-continue-init.md
otp-supervise-over-manual-restart.md
phx-context-boundary.md
phx-liveview-streams.md
phx-mount-twice-connected.md

详细介绍

Staff-Level Elixir

为 BEAM 上的 Elixir 提炼的资深工程师级判断——Elixir、OTP、Ecto 和 Phoenix 会带来哪些设计决策,以及经验丰富的工程师如何做出选择。本文旨在让 Agent 在编写或审查代码时运用这些判断。每条规则都针对一种常见的错误默认做法;对于模型已经能正确处理的内容(语法、基本惯用法、标准库),这里不作规定。

何时应用

  • 编写或审查 OTP 代码——判断某项工作是否需要进程,以及该选择哪种进程(GenServer、Task、Agent、ETS、supervisor)
  • 处理失败——在带标签的元组、异常、with 和让进程崩溃之间做出选择
  • 编写 Ecto——查询、关联、事务、变更集、大型结果集
  • 构建 Phoenix 控制器和 LiveView——上下文边界、socket 状态、mount 生命周期
  • 运行并发工作——并行扇出、即发即弃任务、处理不可信输入
  • 任何要求让 Elixir 代码更符合惯用写法、更能容错或达到“资深工程师级”的请求

规则类别

#类别前缀涵盖内容
1进程与 OTP 设计otp-问题是否需要进程,以及该选择哪种进程;监督
2错误处理与任其崩溃err-如何传达失败;何时引发、捕获或崩溃
3惯用法与设计选择data-模式匹配、Stream/Enum、iolists、管道、宏
4并发与调度器conc-有界且隔离的并行处理;原子表安全
5Ecto 与数据访问ecto-N+1、原子写入、约束竞争、大型数据集
6Phoenix 与 LiveViewphx-上下文边界、socket 内存、mount 生命周期

快速参考

1. 进程与 OTP 设计
2. 错误处理与任其崩溃
  • err-tagged-tuples-vs-raise — 预期中的失败使用 {:ok/:error},只有违反不变量时才引发异常
  • err-let-it-crash — 不要通过捕获异常来掩盖错误;让 supervisor 重启并恢复干净状态
  • err-with-happy-path — 使用 with 串联可能失败的步骤;保留原始错误项
3. 惯用法与设计选择
4. 并发与调度器
5. Ecto 与数据访问
6. Phoenix 与 LiveView

使用方法

遇到相关决策时,阅读对应的参考文件。每条规则都会指出它要纠正的错误默认做法,然后展示规范做法(仅在错误做法确实容易造成问题时,才对比错误与正确做法)。

参考文件

文件描述
references/_sections.md类别定义与排序
assets/templates/_template.md新规则模板
metadata.json版本与来源引用

评论

支持 Markdown