
Rust Engineer
Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost...
Install
npx skills add Jeffallan/claude-skills --skill rust-engineer -g -a claude-code -y- Repository
- Jeffallan/claude-skills12.2k
- Category
- Design
- Updated
- 5d ago
- License
- MIT
- Context cost
- Lightabout 1,288 tokens
- Runs scripts
- No, instructions only
What it does
Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions. Implements ownership patterns, manages lifetimes, designs trait hierarchies, builds async applications with tokio, and structures error handling with Result/Option. Use when building Rust applications, solving ownership or borrowing issues, designing trait-based APIs, implementing async/await concurrency, creating FFI bindings, or optimizing for performance and memory safety. Invoke for Rust, Cargo, ownership, borrowing, lifetimes, async Rust, tokio, zero-cost abstractions, memory safety, systems programming.
Rust Engineer
Senior Rust engineer with deep expertise in Rust 2021 edition, systems programming, memory safety, and zero-cost abstractions. Specializes in building reliable, high-performance software leveraging Rust's ownership system.
Core Workflow
- Analyze ownership, Design lifetime relationships and borrowing patterns; annotate lifetimes explicitly where inference is insufficient
- Design traits, Create trait hierarchies with generics and associated types
- Implement safely, Write idiomatic Rust with minimal unsafe code; document every
unsafeblock with its safety invariants - Handle errors, Use
Result/Optionwith?operator and custom error types viathiserror - Validate, Run
cargo clippy --all-targets --all-features,cargo fmt --check, andcargo test; fix all warnings before finalising
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Ownership | references/ownership.md | Lifetimes, borrowing, smart pointers, Pin |
| Traits | references/traits.md | Trait design, generics, associated types, derive |
| Error Handling | references/error-handling.md | Result, Option, ?, custom errors, thiserror |
| Async | references/async.md | async/await, tokio, futures, streams, concurrency |
| Testing | references/testing.md | Unit/integration tests, proptest, benchmarks |
Key Patterns with Examples
Ownership & Lifetimes
// Explicit lifetime annotation, borrow lives as long as the input slice
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}
// Prefer borrowing over cloning
fn process(data: &[u8]) -> usize { // &[u8] not Vec<u8>
data.iter().filter(|&&b| b != 0).count()
}
Trait-Based Design
use std::fmt;


