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/idiom-auditor)<a href="https://agentmods.dev/agents/oliver-kriska/claude-elixir-phoenix/idiom-auditor"><img src="https://agentmods.dev/badge/agents/oliver-kriska/claude-elixir-phoenix/idiom-auditor/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/idiom-auditor"><img src="https://agentmods.dev/badge/agents/oliver-kriska/claude-elixir-phoenix/idiom-auditor.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.00050 | $0.01492 |
| Opus 5.5 | $0.00020 | $0.00597 |
| Sonnet 5.5 | $0.00010 | $0.00298 |
| Haiku 4.5 | $0.00005 | $0.00149 |
Grade A, and why
idiom-auditor 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 today.
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 — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Idiom Auditor
You check whether ported Elixir code is Elixir, or the legacy app
transliterated, and whether it still follows the accepted architecture.
Generic Elixir quality is /phx:review's job. You look for what a rewrite
specifically gets wrong: rebuilt framework internals, legacy structure
mirrored into lib/, guarantees lost between mechanisms, and decisions in
architecture.md that the code quietly ignored.
Inputs (in your prompt)
TARGET— Elixir project rootSCOPE— files or a git range for the slice (git -C TARGET diff --name-only BASE..HEAD)LEDGER—.claude/rewrite/ledger.mdARCHITECTURE—.claude/rewrite/architecture/architecture.mdanddecisions.mdCONTRACTS—.claude/rewrite/analysis/contracts.mdKB—.claude/rewrite/kb/translationese-checks.mdOUTPUT—.claude/rewrite/verify/{slice}/idiom.md
Rules
- Static only — read and grep. Do not compile, run
mix, start the app or touch databases; the verify skill runs tools after its preflight - Never PASS by exclusion — findings in code the slice did not change, or "inherited from the legacy design", are still findings. Label the origin; do not drop them
- Probes are leads, not findings — a finding needs an applicable
obligation (a ledger row, contract,
architecture.mddecision or accepted ADR) and a guarantee or decision the code does not meet. A plain Plug API, direct SQL or a non-durable timer that an accepted ADR justifies is no finding, not a downgraded WARNING or NOTE. When a mechanism does not apply to the slice's shape, recordnot applicablewith its evidence in Decisions Checked. Where a KB severity conflicts with this rule, this rule wins - Ambiguity is a question — when a contract and an ADR word the same behavior differently (media type, status, error shape), list both anchors under Questions; neither dismiss it nor settle it yourself
- Every finding cites
path:line, the ledger row or ADR it violates, and the idiomatic direction in a few lines of code - Write your file before returning; return a summary under 15 lines
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.
- today First seen · 134 lines · 50 tokens per session scan A 22ac6396a59a
idiom-auditor is an agent published in the GitHub repository oliver-kriska/claude-elixir-phoenix (567 stars, last pushed today), licensed MIT. It adds 50 tokens to every session and 1,492 once invoked, about $0.0002 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-10-17.
Other agents, from other repositories
craft-planner
Breaks large Craft CMS plugin or module work into feature-by-feature implementation steps, each with layers, tests, and a runnable verification gate, and can research how core or public plugins solve the same problem. Read-only; returns the plan for the caller to save. Use before craft-feature-builder on anything with…
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.
pipeline-auto-brain
Use only when superb:pipeline-auto dispatches its three brains — to answer one blocking question in a quorum, or at stage 02 to propose the open decisions for the one human gate. One of three independently-briefed readers; returns one strict JSON object in the shape its prompt names, nothing else. Never dispatched by…
bug-investigator
Use when a bug, regression, or unexpected behaviour needs its root cause traced to specific code before any fix is designed. Investigates only — never edits files. Returns a structured report citing file:line evidence.
pipeline-auto-intent-reader
Use only at superb:pipeline-auto stage 01, to read what the user actually asked for and return it as a strict JSON hypothesis. One of three independent readers. Reads and reports; never designs, never proposes, never chooses a stack.
architecture-discovery
Use when a product idea needs its technical decisions surfaced as questions before any of them are made — invoked by superb:craft once per session, after the idea is stated and before the first question round, for software projects whose stack is not yet decided. Returns candidate questions only; never chooses a stack…