elixir-phoenix-learn-from-fix
Capture durable lessons after a Phoenix bug fix or correction.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Capture durable lessons after a Phoenix bug fix or correction.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Recommend the right `$elixir-phoenix-*` skill for the current task.
Elixir/Phoenix: Review lifecycle, state-machine, Oban, persistence, pause/resume, retry, and restart-sensitive changes before commit, push, or PR. Use for concurrency-sensitive runtime work to produce explicit blocking vs optional findings, require durability checks, and verify smoke plus restart resilience when applicable.
Capture a solved Phoenix problem as a reusable solution doc.
Audit LiveView assigns for memory bloat, dead assigns, and stream candidates.
Audit project health across architecture, security, performance, tests, and deps.
Analyze Phoenix context boundaries and coupling with `mix xref`.
| name | elixir-phoenix-learn-from-fix |
| description | Capture durable lessons after a Phoenix bug fix or correction. |
| metadata | {"short-description":"Capture lessons from Phoenix fixes"} |
After fixing a bug or receiving a correction, capture the lesson to prevent future mistakes.
`elixir-phoenix-learn-from-fix` Fixed N+1 query in user listing - was missing preload
`elixir-phoenix-learn-from-fix` String vs atom key mismatch in params handling
`elixir-phoenix-learn-from-fix` LiveView assign_async needs render_async in tests
Look at recent conversation context. Ask yourself:
Check if already documented:
references/common-mistakes.md (READ-ONLY plugin
reference — do NOT edit this file)If already documented, tell the user and stop.
CRITICAL: NEVER edit plugin files. Files under
~/.codex/plugins/ are cached and get overwritten on updates.
Always write to project or memory locations.
| Scope | Write to | Example |
|---|---|---|
| This project only | Project AGENTS.md | "Never use raw SQL in this app" |
| All Elixir projects | Auto-memory MEMORY.md | "jsonb always uses string keys" |
| Detailed fix with context | .codex/solutions/ via elixir-phoenix-compound | Complex debugging story |
For project AGENTS.md — append a concise rule:
### [Category] Iron Laws (continued)
N. **[SHORT RULE NAME]** — Do NOT [bad pattern]. Instead [good pattern]
For auto-memory — append to
~/.codex/projects/{project-hash}/memory/MEMORY.md:
### Lesson: [Title]
- **Pattern**: Do NOT [bad] — instead [good]
- **Why**: [root cause explanation]
If the lesson is significant enough to be an Iron Law:
After capturing, confirm:
Lesson captured in [location]
Pattern: Do NOT [bad pattern] — instead [good pattern]
Category: [Ecto/LiveView/OTP/Testing/etc]
~/.codex/plugins/ are cached and overwritten on updatesreferences/common-mistakes.md — Common Elixir mistakes
reference. Consult when checking for duplicates. Ships with
the plugin — NEVER modify.