Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/oliver-kriska/claude-elixir-phoenixnpx agentmods add skills/oliver-kriska/claude-elixir-phoenix/phx-verifyWrote 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-verify)<a href="https://agentmods.dev/skills/oliver-kriska/claude-elixir-phoenix/phx-verify"><img src="https://agentmods.dev/badge/skills/oliver-kriska/claude-elixir-phoenix/phx-verify/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-verify"><img src="https://agentmods.dev/badge/skills/oliver-kriska/claude-elixir-phoenix/phx-verify.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.00036 | $0.01370 |
| Opus 5 | $0.00018 | $0.00685 |
| Sonnet 5 | $0.00007 | $0.00274 |
| Haiku 4.5 | $0.00004 | $0.00137 |
Grade A, and why
phx-verify 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.
This is a copy
98% identical to verify — 12 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 123 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verification Loop
Project-aware verification for Elixir/Phoenix. Reads mix.exs and .check.exs to discover tools, test commands, and custom aliases before running anything.
Iron Laws
- Discover before running — Read
mix.exsfirst; never runmix credoif credo isn't a dependency - Prefer ex_check — If
:ex_check+.check.exsexists,mix checkreplaces individual steps - Prefer project aliases — If
mix cior composite alias exists, use it over individual steps - Run in order — Later steps assume earlier ones pass
- Ask before E2E tests — Unit tests run automatically; E2E/integration tests need user confirmation
- NEVER report success without showing actual command output — "should work" is not verification
Step 0: Project Discovery (ALWAYS FIRST)
Read mix.exs — extract deps/0, aliases/0, and cli/0 (for preferred_envs). Also check for .check.exs. See references/project-discovery.md for full patterns.
Discover tools (deps): :credo, :dialyxir, :sobelow, :ex_check, :excoveralls, :boundary
Discover test commands (aliases + deps):
- Unit:
mix test(always), or custom alias likemix test.with_coverage - E2E:
mix playwright.test,mix cypress.run, or similar (checkpreferred_envsforMIX_ENV) - Fast E2E:
mix playwright.run(skips setup — for re-runs)
Discover composite runner: If .check.exs exists, read it — mix check may handle compile, format, credo, test, dialyzer, sobelow, and more.
Report discovery:
Project tools: compile ✓ | format ✓ | credo ✓ | dialyzer ✓ | sobelow ✓ | ex_check ✓
Test commands: mix test (unit) | mix playwright.test (E2E, MIX_ENV=int_test)
Composite runner: mix check (.check.exs covers: compiler, formatter, credo, dialyzer, sobelow, tests)
Strategy: Running `mix check` then asking about E2E
Verification Sequence
CRITICAL: Before using ANY discovered alias or composite command, verify it works:
- Check the dependency is in
mix.lock(not justmix.exs) — deps may not be fetched - Run the command — if it fails with "command not found" or dependency error, fall back to individual steps
- Log the fallback: "mix check failed (ex_check not installed?), falling back to individual steps"
What ships with it
1 file 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 · 123 lines · 36 tokens per session scan A b5bbe922cc04
phx-verify is a skill published in the GitHub repository oliver-kriska/claude-elixir-phoenix (542 stars, last pushed 4d ago), licensed MIT. It adds 36 tokens to every session and 1,370 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to verify, differing in 12 lines, and is treated as a copy.
Other skills, from other repositories
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 +…
111-java-maven-dependencies
Use when you need to add or evaluate Maven dependencies that improve code quality or domain modeling — including nullness annotations (JSpecify), static analysis (Error Prone + NullAway), functional programming (VAVR), architecture testing (ArchUnit), or money and currency support (JavaMoney) — and want a…
130-java-testing-strategies
Use when you need to apply testing strategies for Java code — RIGHT-BICEP to guide test creation, A-TRIP for test quality characteristics, or CORRECT for verifying boundary conditions. This should trigger for requests such as Review Java code for testing strategies; Apply RIGHT-BICEP testing strategies in Java code…
131-java-testing-unit-testing
Use when you need to review, improve, or write Java unit tests — including migrating from JUnit 4 to JUnit 5, adopting AssertJ for fluent assertions, structuring tests with Given-When-Then, ensuring test independence, applying parameterized tests, mocking dependencies with Mockito, verifying boundary conditions…
421-frameworks-quarkus-testing-unit-tests
Use when you need to write fast unit tests for Quarkus applications — including pure tests with @ExtendWith(MockitoExtension.class), @QuarkusTest with @InjectMock for full CDI mock replacement, @InjectSpy for partial CDI bean mocking, REST Assured for resource-focused tests, @ParameterizedTest with @CsvSource /…
php-testing
Use when writing/configuring tests on a non-Laravel PHP project — PHPUnit vs Pest. Do NOT use for Laravel test helpers or quality tooling (php-quality-tooling).