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 skills add oliver-kriska/claude-elixir-phoenix --skill phx-fullgit 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/skills/oliver-kriska/claude-elixir-phoenix/phx-full)<a href="https://agentmods.dev/skills/oliver-kriska/claude-elixir-phoenix/phx-full"><img src="https://agentmods.dev/badge/skills/oliver-kriska/claude-elixir-phoenix/phx-full/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/skills/oliver-kriska/claude-elixir-phoenix/phx-full"><img src="https://agentmods.dev/badge/skills/oliver-kriska/claude-elixir-phoenix/phx-full.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 60 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.00028 | $0.01094 |
| Opus 5 | $0.00014 | $0.00547 |
| Sonnet 5 | $0.00006 | $0.00219 |
| Haiku 4.5 | $0.00003 | $0.00109 |
Grade A, and why
phx-full 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 — 86 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Full Phoenix Feature Development
Run the portable lifecycle: discover → plan → work → verify → read-only review → compound. The filesystem is the state machine; no task API or named orchestrator is required.
Usage
phx-full Add user authentication with magic links
phx-full Background email jobs --max-cycles 5 --max-retries 2
If input is an existing .claude/plans/*/plan.md, do not re-plan. Ask for the
native phx-work workflow or execute its portable behavior in this session.
Defaults are --max-cycles 10, --max-retries 3, and --max-blockers 5.
Lifecycle
- DISCOVERING — inspect relevant code, tests, prior solutions, and optional
Tidewave evidence. Tidewave is optional; local files, logs, and
mixcommands are the complete fallback. Record complexity and proposed depth, then wait for the user's plan/implementation gate. Never auto-select a path that bypasses it. - PLANNING — invoke the runtime's native
phx-planskill when available, or execute its portable research checklist and artifact format in this session. Require.claude/plans/{slug}/plan.md. Present it and wait for approval before implementation unless the user already explicitly authorized the full run. - WORKING — execute the plan sequentially. Task selection occurs only here.
The full-run limits override any baseline workflow retry defaults. Before every
attempt persist cycle, task retry, and blocker counters; if the next attempt
exceeds a limit, do not run it.
--max-retries Nmeans at most N retries after the initial attempt (N+1 total attempts for that task). Mark[BLOCKED]and stop at--max-blockers. - VERIFYING — run
mix format --check-formatted, compile with warnings as errors, focused tests during work, and the full relevant suite at this gate. A failed gate appends FAIL and returns to WORKING only within the cycle limit. - REVIEWING — invoke portable
phx-review, or perform the same read-only, changed-file review sequentially. Generic workers are optional. Review never edits. Findings or failures become plan tasks and return to WORKING. - COMPOUNDING — only after verification and a clean/accepted review. Do not
invoke
phx-compound. Inline contract: write a solution artifact under.claude/solutions/only when the run produced a non-obvious, reusable learning, including problem, root cause, solution, and verification. Otherwise appendCOMPOUNDING SKIPPED: no reusable learningto progress. Never edit CLAUDE.md.
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 · 86 lines · 28 tokens per session scan A 07b955c3a77d
phx-full is a skill published in the GitHub repository oliver-kriska/claude-elixir-phoenix (541 stars, last pushed 4d ago), licensed MIT. It adds 28 tokens to every session and 1,094 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-09-03.
Other skills, from other repositories
craftcms
Craft CMS 5 plugin and module development — extending Craft with PHP. Covers elements, element queries, services, models, records, controllers, migrations, queue jobs, console commands, field types, native fields, events, behaviors, Twig extensions, widgets, filesystems, permissions, project config, GraphQL, testing…
craft-php-guidelines
Craft CMS 5 PHP coding standards and conventions. ALWAYS load when writing, editing, reviewing, or discussing any PHP in a Craft plugin or module — even small edits. Also when running ECS, PHPStan, or scaffolding with ddev craft make. Covers: PHPDoc blocks (@author, @since, @throws chains), section headers…
craft-pest
Testing Craft CMS 5 plugins and modules with Pest — test isolation, database safety, and the markhuot/craft-pest-core harness. ALWAYS load when writing, running, fixing, or reviewing tests for a Craft plugin or module, and whenever a suite touches a real Craft install. Covers why rollback is opt-in, tests/Pest.php +…
milp-modeling-gurobi
When the user wants to build, solve, and debug mixed-integer linear programs in Python with Gurobi — creating variables, writing constraint-builder functions, setting objectives and parameters, handling solver status, and extracting solutions safely. Also use when the user mentions "gurobipy," "build a MIP model,"…
numpy-vectorization-for-optimization
When the user wants to remove slow Python loops from metaheuristic or optimization code using NumPy — population-level operations, batch fitness evaluation, distance matrices, broadcasting, argsort/argpartition idioms, defaultrng, and memory layout. Also use when the user mentions "vectorize," "numpy broadcasting,"…
odoo-js
Use when writing, reviewing, or migrating any JavaScript, OWL component, QWeb/OWL template, or SCSS under static/src in an Odoo module — POS overrides, backend widgets, website/public widgets, services. Carries PSAE review-derived principles for OWL correctness, the patch() discipline, template conventions, frontend…