Use when about to run git commit, git push, or claim implementation is complete in an Elixir project — requires running mix precommit and confirming output before any commit or completion claim
Enforces Elixir project precommit checks before allowing git commits or completion claims.
/plugin marketplace add jeffweiss/elixir-production/plugin install elixir-production@jeffweissThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Running mix precommit before every commit is not optional. Partial checks are not precommit. "Tests pass" is not precommit. Time pressure is not an exemption.
Violating the letter of this rule is violating the spirit of this rule.
NO COMMIT WITHOUT MIX PRECOMMIT PASSING — ALL FOUR CHECKS
All four checks. Every time. No exceptions.
mix compile --warnings-as-errorsmix formatmix credo --strictmix testIf the project has a precommit alias in mix.exs, run mix precommit. Otherwise run all four commands in sequence. Both are equivalent.
BEFORE running git commit or git push:
1. RUN: mix precommit (or all 4 checks in sequence)
2. READ: Full output — check exit code of EACH step
3. VERIFY: Did ALL FOUR checks pass with zero failures?
- If NO: Fix failures. Re-run. Do not commit.
- If YES: Proceed with git commit.
4. ONLY THEN: Run git commit
Skip any step = broken commit. Not "probably fine." Broken.
git commit without having run precommit in this sessionAll of these mean: STOP. Run full precommit. Then commit.
| Excuse | Reality |
|---|---|
| "Tests pass, that's enough" | Tests are 1 of 4 checks. Credo catches bugs tests miss. Format prevents noisy diffs. Compile catches warnings. |
| "It's just a doc change" | Doc changes can fail format, credo, and even compile (doctests). Run precommit. |
| "User said make it quick" | A broken commit wastes more time than precommit takes. Speed is not an exemption. |
| "I ran format and compile already" | Cherry-picking is not precommit. Run all 4. |
| "The fix is obvious" | Obvious fixes skip regression tests. Obvious fixes ship bugs. Run precommit. |
| "I'll fix it in the next commit" | Broken code in version control is broken code in production. Fix now. |
| "CI will catch it" | Local precommit is faster feedback. Don't push problems to CI. |
| "SPIKE mode" | Even SPIKE has a precommit (compile + format). Only skip if ELIXIR_SPIKE_MODE=1 is set. |
| Situation | Action |
|---|---|
| About to commit ANY change | Run mix precommit first |
| About to push | Run mix precommit first |
| About to say "implementation complete" | Run mix precommit first |
| About to hand off to reviewer | Run mix precommit first |
| Precommit fails | Fix ALL failures, re-run, THEN commit |
| No precommit alias in mix.exs | Run all 4 checks manually, then create the alias |
mix test alone and committing — tests are 1 of 4 gatesmix format as part of precommit, include in same commitActivates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.