plugins/elixir-phoenix/skills/mix-compression/SKILL.md
Reduce mix output noise (5-15% token savings) by installing rtk filters that compress mix test/credo/dialyzer/compile output before it reaches Claude. Use when long mix output floods context.
npx skillsauth add oliver-kriska/claude-elixir-phoenix phx:mix-compressionInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Mix commands (mix test, mix credo, mix dialyzer, mix compile) emit
verbose, repetitive output that consumes context fast. This skill installs
rtk — a CLI proxy that filters tool output
before it lands in the transcript.
The filters short-circuit happy paths to a single line (mix test: all pass)
while preserving full failure blocks, compile errors, and stack traces. Net win:
5-15% per-session token reduction on mix-heavy workflows.
/phx:work or /phx:full hitting context limits from mix output/phx:investigate retrying mix compile/mix test repeatedlymix dialyzer output dominates the transcript** (CompileError),
== Compilation error in), test failures (FAILURES, 0 failures — preserved
even on short-circuit), dialyzer warnings, and stack traces with file:line MUST
pass through unchangedrtk test mix-test (or any filter name) to
confirm the bundled test fixtures pass before declaring success.rtk/filters.toml — diff and merge insteadwhich rtk && rtk --version
Read ${CLAUDE_SKILL_DIR}/references/install.md if rtk is missing — covers
homebrew install + shell hook setup.
.rtk/filters.tomlReference filters live at ${CLAUDE_SKILL_DIR}/references/rtk-filters.toml. Six
production-tested filters covering:
mix-test — short-circuits all-pass, preserves failure blocks + compile errorsmix-credo — collapses clean runs, preserves violation blocksmix-dialyzer — drops PLT progress, keeps warnings + summarymix-deps-get — collapses unchanged package listsmix-ecto-migrate — strips compile prefix, short-circuits "already up"mix-compile — handles parallel worker prefixes (N>) and MIX_ENVRun this if the project has no .rtk/filters.toml yet:
mkdir -p .rtk
cp "${CLAUDE_SKILL_DIR}/references/rtk-filters.toml" .rtk/filters.toml
Read both files if one already exists. Present a diff to the user. Merge only the filters they don't already have.
rtk test mix-test # runs embedded [[tests.mix-test]] fixtures
rtk test mix-credo
rtk test mix-dialyzer
Check that all report "passed". Flag and stop if any fail — usually means the user has a custom rtk version with regex differences.
Run rtk init zsh (or rtk init bash) to install the transparent rewrite hook
that turns mix X into rtk mix X. Re-running is safe (idempotent). Skip this
step and mix calls run unfiltered.
Add custom regex patterns to strip_lines_matching for project-specific noise
sources (e.g., third-party hex deps spamming stack traces). See the inline
example in references/rtk-filters.toml lines 57-59.
PostToolUse hooks fire after the tool result
is in the transcript and cannot shrink it. rtk works at the subprocess layer
(the only layer where transcript-shortening is possible).mix.exs inspection needed.enabled = false in
config.toml). Filters run locally, no data leaves the machine.${CLAUDE_SKILL_DIR}/references/rtk-filters.toml — bundled filter set${CLAUDE_SKILL_DIR}/references/install.md — rtk install + shell hook setupdevelopment
Verify Elixir/Phoenix changes — compile, format, and test in one loop. Use after implementation, before PRs, or after fixing bugs.
development
OTP/BEAM patterns and Elixir idioms — GenServer, Supervisor, Task, Registry, pattern matching, with chains, pipes. Use when designing processes or debugging BEAM issues.
tools
Self-improving loop for plugin skills. Reads program.md, proposes one mutation per iteration, evaluates against deterministic scorer, keeps improvements via git, reverts failures. Targets weakest skill+dimension. Use with /loop for overnight runs.
development
Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors.