A collection of 179 rules that AI coding agents can use when writing Rust.
https://github.com/leonardomso/rust-skills.git
179 Rust rules your AI coding agent can use to write better code.
Works with Claude Code, Cursor, Windsurf, Copilot, Codex, Aider, Zed, Amp, Cline, and pretty much any other agent that supports skills.
npx add-skill leonardomso/rust-skills
That's it. The CLI figures out which agents you have and installs the skill to the right place.
After installing, just ask your agent:
/rust-skills review this function
/rust-skills is my error handling idiomatic?
/rust-skills check for memory issues
The agent loads the relevant rules and applies them to your code.
179 rules split into 14 categories:
| Category | Rules | What it covers |
|---|---|---|
| Ownership & Borrowing | 12 | When to borrow vs clone, Arc/Rc, lifetimes |
| Error Handling | 12 | thiserror for libs, anyhow for apps, the ? operator |
| Memory | 15 | SmallVec, arenas, avoiding allocations |
| API Design | 15 | Builder pattern, newtypes, sealed traits |
| Async | 15 | Tokio patterns, channels, spawn_blocking |
| Optimization | 12 | LTO, inlining, PGO, SIMD |
| Naming | 16 | Following Rust API Guidelines |
| Type Safety | 10 | Newtypes, parse don't validate |
| Testing | 13 | Proptest, mockall, criterion |
| Docs | 11 | Doc examples, intra-doc links |
| Performance | 11 | Iterators, entry API, collect patterns |
| Project Structure | 11 | Workspaces, module layout |
| Linting | 11 | Clippy config, CI setup |
| Anti-patterns | 15 | Common mistakes and how to fix them |
If add-skill doesn't work for your setup, here's how to install manually:
Claude Code
Global (applies to all projects):
git clone https://github.com/leonardomso/rust-skills.git ~/.claude/skills/rust-skills
Or just for one project:
git clone https://github.com/leonardomso/rust-skills.git .claude/skills/rust-skills
OpenCode
git clone https://github.com/leonardomso/rust-skills.git .opencode/skills/rust-skills
Cursor
git clone https://github.com/leonardomso/rust-skills.git .cursor/skills/rust-skills
Or just grab the skill file:
curl -o .cursorrules https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
Windsurf
mkdir -p .windsurf/rules
curl -o .windsurf/rules/rust-skills.md https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
OpenAI Codex
git clone https://github.com/leonardomso/rust-skills.git .codex/skills/rust-skills
Or use the AGENTS.md standard:
curl -o AGENTS.md https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
GitHub Copilot
mkdir -p .github
curl -o .github/copilot-instructions.md https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
Aider
Add to .aider.conf.yml:
read: path/to/rust-skills/SKILL.md
Or pass it directly:
aider --read path/to/rust-skills/SKILL.md
Zed
curl -o AGENTS.md https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
Amp
git clone https://github.com/leonardomso/rust-skills.git .agents/skills/rust-skills
Cline / Roo Code
mkdir -p .clinerules
curl -o .clinerules/rust-skills.md https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
Other agents (AGENTS.md)
If your agent supports the AGENTS.md standard:
curl -o AGENTS.md https://raw.githubusercontent.com/leonardomso/rust-skills/master/SKILL.md
See SKILL.md for the full list with links to each rule file.
PRs welcome. Just follow the format of existing rules.
MIT