๐ŸŽฏ

coding-guidelines

๐ŸŽฏSkill

from goooice/rust-skills

VibeIndex|
What it does

Provides comprehensive Rust coding guidelines covering naming conventions, best practices, error handling, memory management, concurrency, and code style recommendations.

๐Ÿ“ฆ

Part of

goooice/rust-skills(35 items)

coding-guidelines

Installation

Add MarketplaceAdd marketplace to Claude Code
/plugin marketplace add ZhangHanDong/rust-skills
Install PluginInstall plugin from marketplace
/plugin install rust-skills@rust-skills
Quick InstallInstall with npx
npx skills add ZhangHanDong/rust-skills
git cloneClone repository
git clone https://github.com/ZhangHanDong/rust-skills.git
๐Ÿ“– Extracted from docs: goooice/rust-skills
4Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

"Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT, code review, naming convention, variable naming, function naming, type naming, ๅ‘ฝๅ่ง„่Œƒ, ไปฃ็ ้ฃŽๆ ผ, ๆ ผๅผๅŒ–, ๆœ€ไฝณๅฎž่ทต, ไปฃ็ ๅฎกๆŸฅ, ๆ€Žไนˆๅ‘ฝๅ"

Overview

# Rust Coding Guidelines (50 Core Rules)

Naming (Rust-Specific)

| Rule | Guideline |

|------|-----------|

| No get_ prefix | fn name() not fn get_name() |

| Iterator convention | iter() / iter_mut() / into_iter() |

| Conversion naming | as_ (cheap &), to_ (expensive), into_ (ownership) |

| Static var prefix | G_CONFIG for static, no prefix for const |

Data Types

| Rule | Guideline |

|------|-----------|

| Use newtypes | struct Email(String) for domain semantics |

| Prefer slice patterns | if let [first, .., last] = slice |

| Pre-allocate | Vec::with_capacity(), String::with_capacity() |

| Avoid Vec abuse | Use arrays for fixed sizes |

Strings

| Rule | Guideline |

|------|-----------|

| Prefer bytes | s.bytes() over s.chars() when ASCII |

| Use Cow | When might modify borrowed data |

| Use format! | Over string concatenation with + |

| Avoid nested iteration | contains() on string is O(n*m) |

Error Handling

| Rule | Guideline |

|------|-----------|

| Use ? propagation | Not try!() macro |

| expect() over unwrap() | When value guaranteed |

| Assertions for invariants | assert! at function entry |

Memory

| Rule | Guideline |

|------|-----------|

| Meaningful lifetimes | 'src, 'ctx not just 'a |

| try_borrow() for RefCell | Avoid panic |

| Shadowing for transformation | let x = x.parse()? |

Concurrency

| Rule | Guideline |

|------|-----------|

| Identify lock ordering | Prevent deadlocks |

| Atomics for primitives | Not Mutex for bool/usize |

| Choose memory order carefully | Relaxed/Acquire/Release/SeqCst |

Async

| Rule | Guideline |

|------|-----------|

| Sync for CPU-bound | Async is for I/O |

| Don't hold locks across await | Use scoped guards |

Macros

| Rule | Guideline |

|------|-----------|

| Avoid unless necessary | Prefer functions/generics |

| Follow Rust syntax | Macro input should look like Rust |

Deprecated โ†’ Better

| Deprecated | Better | Since |

|------------|--------|-------|

| lazy_static! | std::sync::OnceLock | 1.70 |

| once_cell::Lazy | std::sync::LazyLock | 1.80 |

| std::sync::mpsc | crossbeam::channel | - |

| std::sync::Mutex | parking_lot::Mutex | - |

| failure/error-chain | thiserror/anyhow | - |

| try!() | ? operator | 2018 |

Quick Reference

```

Naming: snake_case (fn/var), CamelCase (type), SCREAMING_CASE (const)

Format: rustfmt (just use it)

Docs: /// for public items, //! for module docs

Lint: #![warn(clippy::all)]

```

Claude knows Rust conventions well. These are the non-obvious Rust-specific rules.

More from this repository10

๐ŸŽฏ
m14-mental-model๐ŸŽฏSkill

Applies the M14 mental model framework to enhance decision-making and strategic thinking through structured cognitive analysis.

๐ŸŽฏ
m04-zero-cost๐ŸŽฏSkill

Guides developers in choosing zero-cost abstractions by analyzing type system constraints and performance trade-offs in Rust generics and traits.

๐ŸŽฏ
m10-performance๐ŸŽฏSkill

Optimizes code performance by identifying bottlenecks, measuring impact, and guiding strategic improvements across algorithm, data structure, and memory efficiency.

๐ŸŽฏ
meta-cognition-parallel๐ŸŽฏSkill

Performs parallel three-layer meta-cognitive analysis by forking subagents to simultaneously analyze language mechanics, design choices, and domain constraints, then synthesizing results.

๐ŸŽฏ
unsafe-checker๐ŸŽฏSkill

Identifies and reviews unsafe Rust code patterns, FFI risks, and potential memory unsafety in Rust projects.

๐ŸŽฏ
rust-skill-creator๐ŸŽฏSkill

Dynamically generates Claude skills for Rust crates, standard library modules, and documentation by extracting and processing technical details from specified URLs.

๐ŸŽฏ
rust-refactor-helper๐ŸŽฏSkill

Performs safe Rust refactoring by analyzing symbol references, checking conflicts, and applying changes across project files using LSP.

๐ŸŽฏ
m03-mutability๐ŸŽฏSkill

Diagnoses and guides resolution of Rust mutability and borrowing conflicts by analyzing ownership, mutation patterns, and thread-safety requirements.

๐ŸŽฏ
domain-iot๐ŸŽฏSkill

Enables building robust, efficient IoT applications with offline-first design, power-aware networking, and secure device communication using Rust.

๐ŸŽฏ
m05-type-driven๐ŸŽฏSkill

Explores and demonstrates type-driven development techniques in Rust, showcasing advanced type system features and pattern matching strategies.