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.
npx agentmods add skills/ccarvalho-eng/codex-elixir-phoenix/elixir-phoenix-call-tracingnpx skills add ccarvalho-eng/codex-elixir-phoenix --skill elixir-phoenix-call-tracinggit clone --depth 1 https://github.com/ccarvalho-eng/codex-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/skills/ccarvalho-eng/codex-elixir-phoenix/elixir-phoenix-call-tracing)<a href="https://agentmods.dev/skills/ccarvalho-eng/codex-elixir-phoenix/elixir-phoenix-call-tracing"><img src="https://agentmods.dev/badge/skills/ccarvalho-eng/codex-elixir-phoenix/elixir-phoenix-call-tracing.svg" alt="Measured on agentmods" 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.00023 | $0.00596 |
| Opus 5 | $0.00012 | $0.00298 |
| Sonnet 5 | $0.00005 | $0.00119 |
| Haiku 4.5 | $0.00002 | $0.00060 |
Grade A, and why
elixir-phoenix-call-tracing 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 6d 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 — 69 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Call Tracing
Build call trees showing how functions are reached from entry points.
Iron Laws - Never Violate These
- Always use
mix xref callersfirst - It's authoritative; grep is fallback only - Stop at entry points - Controllers, LiveView callbacks, Oban workers, GenServer callbacks
- Track visited MFAs - Prevent infinite loops from circular calls
- Extract argument patterns - Just knowing "who calls" isn't enough; HOW they call matters
- Max depth 10 - Deeper trees indicate architectural issues, not useful traces
When to Build Call Tree (Use Proactively)
| Condition | Why Call Tree Helps |
|---|---|
| Unexpected nil/value at runtime | Trace where the value originates |
| Bug can't reproduce locally | See all entry points that reach the code |
| Changing function signature | Find all callers and their argument patterns |
| Incomplete stack trace | Get full path context |
| "Where does X come from?" | Visual answer to data flow question |
Quick Trace
Run mix xref callers MyApp.Accounts.update_user/2 to find all callers. Then read the reported locations to see argument patterns.
Entry Points (Stop Here)
| Pattern | Type |
|---|---|
def mount/3, def handle_event/3 |
LiveView |
def index/2, def show/2, def create/2 |
Controller |
def perform(%Oban.Job{}) |
Oban Worker |
def handle_call/3, def handle_cast/2 |
GenServer |
Delegate to call-tracer Agent
For full recursive trees with argument extraction and parallel category tracing,
run the call-tracer workflow with a focused function target in MFA format
(Module:function/arity), for example: MyApp.Accounts:update_user/2.
The call-tracer agent uses parallel subagents for each entry point category:
- Controllers subagent (HTTP paths)
- LiveView subagent (WebSocket paths)
- Workers subagent (Background jobs)
- Internal subagent (Cross-context calls)
Each gets fresh 200k context for deep exploration.
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 69 lines · 23 tokens per session scan A 08c0e6956e0f
elixir-phoenix-call-tracing is a skill published in the GitHub repository ccarvalho-eng/codex-elixir-phoenix (11 stars, last pushed 4mo ago), licensed MIT. It adds 23 tokens to every session and 596 once invoked, about $0.0001 per session on Opus 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 skills, from other repositories
sensitive-logging-audit
Audit and fix sensitive-data exposure through Python runtime logging in openai-agents-python. Use when reviewing logging, print, warnings, stderr, traceback, MCP names, model or tool exceptions, redaction flags, or any diagnostic path that may retain user data.
phoenix-observability
Open-source AI observability platform for LLM tracing, evaluation, and monitoring. Use when debugging LLM applications with detailed traces, running evaluations on datasets, or monitoring production AI systems with real-time insights.
debugging-e2e-tests
Use when an Opik E2E test has failed and a developer wants it investigated — e.g. "why did this e2e test fail?", "investigate the failing run on my PR", "is dataset-crud-smoke flaky?", "the nightly e2e suite went red". Takes a failure from a CI check, a TestOps launch, a test name, or a local run; gathers the trace…
langbot-plugin-dev
Develop, debug, and test LangBot plugins. Use when creating new LangBot plugins, fixing plugin bugs, setting up a LangBot test environment, or testing plugins via WebSocket. Covers plugin component architecture (EventListener, Command, Tool), the plugin SDK API (invokellm, getllmmodels, sendmessage, plugin storage)…
credit-note-fixer
Fix the tiny credit-note formatting bug and rerun the exact targeted test command.
node-connect
Diagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps. Use when QR/setup code/manual connect fails, local Wi-Fi works but VPS/tailnet does not, or errors mention pairing required, unauthorized, bootstrap token invalid or expired, gateway.bind, gateway.remote.url, Tailscale…