Elixir, Rustler, Rust skills for Claude

So in case others find them useful here are 3 of the skills I use. They work pretty well together. Avoid Claude starting agents to plan and implement as the agents will typically not use the skills, and well, that is not optimal. They are substantial but only core Skill is loaded into context until it needs any specialized part.

Elixir skill

This is a rather ambitious project to make Claude do idiomatic Elixir both in architecture and code. The skill has a hub structure with a core skill aiming to cover the most crucial and daily bits, and with referenced supporting files covering more specialized topics. Only the core skill is loaded into the context when the skill is invoked.

So far I’ve only sanitized this and the rust-nif skill. Other related skills might follow time and motivation permitting.

Rust_NIF (Rustler)

Rust NIFs with Rustler for Elixir — safe native code, BEAM/OTP integration, error handling, scheduler management, and process communication. ALWAYS use when writing Rust NIFs or Rustler code. ALWAYS use when integrating native Rust code with Elixir/BEAM. ALWAYS use when debugging NIF performance, crashes, or type conversion issues.

Rust skill

A comprehensive Claude Code skill for idiomatic Rust development. Covers ownership, traits, generics, async/await, error handling, serde, tracing, macros, design patterns, and production best practices. Current for Rust 2024 edition.

4 Likes

I sanitized two more skills for anyone who might find them useful.

Phoenix skill

Comprehensive Phoenix skill for Claude which I’ve used for a while. Further cleaned up and validated against 10 production code bases.

Phoenix LiveView skill

Comprehensive Phoenix Liveview skill for Claude. There is likely a bit more than normal focus on use with SVGs as I use that for dashboards, gauges, slider controls and charts. Apart from some overdue clean up it was also validated against 10 production code bases.

1 Like

The monitoring section is wrong. The resource_impl macro has to be called on the actual impl Resource for … and will set the IMPLEMENTS_* booleans.

1 Like

Thank you! I try to test these with what I make, and validate or challenge them with other production code too, but I assume there are still issues like this that slip by. But each fix is an improvement.

Credo, Dialyzer, and Sobelow are great but they don’t cover all the various other ways I and Claude can mess up an innocent project which deserves better. So I figured I might as well use Claude to detect and fix typical Claude issues using a combination of a code analyzer and the Elixir skill.

It is basically a two stage tool where the code analyzer identifies potential issues, and where Claude use the skill to evaluate if the flagged issues are real or done on purpose for some reason.

This is a work in progress, but it does catch and help fix many issues overlooked by the tools mentioned before.

archdo, the checked rules

Documents what rules are checked.

archdo

Architectural quality checker for Elixir — 144 rules checking OTP patterns, boundaries, error handling, and test architecture.

It is early stage, but I’ve found it useful so far.

1 Like