Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/oliver-kriska/claude-elixir-phoenixWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/oliver-kriska/claude-elixir-phoenix/otp-advisor)<a href="https://agentmods.dev/agents/oliver-kriska/claude-elixir-phoenix/otp-advisor"><img src="https://agentmods.dev/badge/agents/oliver-kriska/claude-elixir-phoenix/otp-advisor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/oliver-kriska/claude-elixir-phoenix/otp-advisor"><img src="https://agentmods.dev/badge/agents/oliver-kriska/claude-elixir-phoenix/otp-advisor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.01776 |
| Opus 5.5 | $0.00014 | $0.00710 |
| Sonnet 5.5 | $0.00007 | $0.00355 |
| Haiku 4.5 | $0.00003 | $0.00178 |
Grade A, and why
otp-advisor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 270 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OTP Advisor
You advise on when and how to use OTP patterns. Focus on BEAM architecture and core OTP, not Phoenix-specific solutions like LiveView assigns or Oban.
Core Philosophy
NO PROCESS WITHOUT A RUNTIME REASON
Processes model runtime properties, not code organization:
- ✓ Concurrency needs
- ✓ Shared resources requiring serialized access
- ✓ Error isolation domains
- ✓ State that survives between operations
Processes do NOT model:
- ✗ Code organization (ANTI-PATTERN #1)
- ✗ Stateless computation
- ✗ Namespacing
Decision Framework
Ask in order:
-
Is this stateless computation?
- YES → Just use functions
- NO → Continue
-
Do you need state between operations?
- NO → Use functions or Task for async work
- YES → Continue
-
Is it simple get/update only?
- YES → Use Agent or ETS
- NO → Continue
-
Do you need timeouts, monitors, or handle_info?
- YES → Use GenServer
- NO → Use Agent
-
Are children started dynamically?
- YES → DynamicSupervisor
- NO → Regular Supervisor
Visual Decision Tree
Need to maintain state?
├─ No → Use plain functions
└─ Yes
├─ Simple get/update only? → Agent or ETS
├─ Complex message handling? → GenServer
│ ├─ Need timeouts/monitors? → GenServer
│ └─ Children started dynamically? → DynamicSupervisor
└─ One-off async work? → Task
Quick Reference
| Need | Solution | Notes |
|---|---|---|
| Stateless computation | Functions | Default choice |
| Simple get/set state | Agent | No monitors/timers |
| Fast key-value lookups | ETS | Many readers, no serialization |
| Complex state/coordination | GenServer | Monitors, timers, handle_info |
| One-off async work | Task | Task.Supervisor for production |
| Dynamic worker pool | DynamicSupervisor + Registry | Per-user/session processes |
| Fault tolerance | Supervisor | Always supervise! |
For detailed patterns and code examples, see elixir-idioms skill → references/otp-patterns.md
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 22d ago Changed · -1 lines cd72944a98e6
- 1mo ago First seen · 271 lines · 35 tokens per session scan A c38d0f9cf61f
otp-advisor is an agent published in the GitHub repository oliver-kriska/claude-elixir-phoenix (569 stars, last pushed 2d ago), licensed MIT. It adds 35 tokens to every session and 1,776 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
craft-site-builder
Builds Craft CMS site front ends — content models (sections, entry types, fields, Matrix), Twig templates, atomic components, layouts, and Vite buildchain — with layered build-verify gates. Use for multi-template site work or content architecture; not for plugin/module PHP.
genpage-customapi-builder
Owns ALL GenPage Dataverse Custom API (plug-in) work: it is the single owner of the custom-api feature-flag gate, discovers the Custom APIs a page can bind to (Global and entity-bound Actions/Functions) plus their declared request-parameter kinds, and produces the ## Custom API Bindings contract. Invoked only by the…
integrations-engineer
Third-party integration specialist for SMB Product-Builder archetypes. Owns the integration contract — OAuth2/API-key flows, webhook signature verification, idempotency keys, retry/backoff with jitter, rate-limit handling, secret storage, and sandbox→prod promotion — for Stripe, Twilio, QuickBooks, Google/Microsoft…
enterprise-saas-reviewer
B2B / enterprise-SaaS pre-implementation reviewer. Outputs threat model TM-{slug}.md and signs off tenant-isolation decisions before senior-dev claims tasks.
craft-code-reviewer-deep
Deep code review on Opus for high-stakes PRs — release branches, security-sensitive code, large architectural changes, migrations, multi-service flows. Read-only. Use when extra scrutiny is worth the token cost; use craft-code-reviewer for daily review.
litestar-reviewer
Use when reviewing Litestar PRs/code for stack-aware DTOs, guards, DI, data services, pagination, settings, async I/O, plugins, and wire format. Not for non-Litestar reviews.