Elixir, Rustler, Rust skills for Claude

So these skills have been through another iteration and some major reorganizing. The goal has been to get Claude to:

  1. Invoke the relevant skills before planning or implementing.
  2. Actively use the skills while working.
  3. Option for semi-forced TDD (which still allows refactoring without issue).
  4. Use milestone plans, and force Claude to actively use the skills before implementing each milestone.
  5. Hooks to catch some slop so it can be replaced while still implementing and context is fresh.
  6. When making key code decisions, and there are relevant rules/ guidance/ decisions in the skills, Claude should add a §§ code in the comments about which skill guidance were followed. (Easily removed later with a script when done). This helps make Claude stop and consider decisions using the skills.

With this setup using hooks there are additive edits to existing files and many new files. Thus for convenience there is an install and uninstall file. It is purely additive, and it is namespaced bb, so it should not collide with anything else.

The Elixir pack and the Rust pack can be used alone or together. The install script will ask to install the common third repo with the hooks they share. The idea is that more languages can easily follow the same pattern later and be added or removed without messing up the existing configuration of other languages.

So now the Elixir and Rust skills have repos including these skills (with subskills):

Elixir:
elixir-planning
elixir-implementing
elixir-reviewing
phoenix
phoenix-liveview

Rust:
rust-planning
rust-implementing
rust-reviewing
rust-nif

These are big skills so they do spend tokens loading. But to the degree they improve the Claude output closer to directly usable code I’m ok with that. Might be an issue for 200k contexts (haven’t tried), but works fine with 1M.

There is a user_guide included, but the most important things are two keywords:

  • [use-skills] which forces invoking of relevant skills, and activates more hooks to encourage actual skill use.
  • [TDD] which forces tests to be written before the implementation. Apart from getting the test workflow it also makes it harder for Claude to get lazy or skip work. Once the test is in place the implementation has to be done. And it forces Claude to think about the code two times instead of just one, which is likely good.
  • Mentioning milestone plan will make a milestone plan, and with [use-skills] active Claude then have to actively check the relevant skills before implementing each step.

Links:

Older Elixir and Rust skills marked as having been superceded.

3 Likes