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.
92
100%
Does it follow best practices?
Impact
85%
1.06xAverage score across 6 eval scenarios
Passed
No known issues
Error handling strategy
thiserror for library errors
100%
100%
anyhow in binary/application
0%
37%
Custom error enum
100%
100%
? operator propagation
100%
100%
No bare unwrap()
100%
100%
expect() with messages
100%
100%
Error context added
100%
100%
std::error::Error impl
100%
100%
Doctests present
50%
87%
From conversions
0%
0%
Unit tests in cfg(test)
100%
100%
No String error return
100%
100%
Async concurrency patterns
spawn_blocking for sync I/O
70%
100%
tokio::sync primitives
100%
100%
Channels for communication
70%
80%
JoinHandle results handled
50%
100%
No lock held across await
100%
100%
Timeout on I/O
100%
100%
select! for cancellation
30%
100%
try_join! for concurrent fallibles
0%
37%
async-trait for async methods in traits
100%
100%
tokio::test for async tests
100%
100%
No unwrap() in production
75%
100%
Trait design and testing
Associated types in traits
100%
100%
&str over String params
100%
100%
&[T] over Vec<T> params
100%
100%
Derive macros used
12%
0%
Standard traits implemented
0%
0%
No unnecessary clones
100%
100%
proptest property tests
100%
100%
criterion benchmark
100%
100%
Focused small traits
100%
100%
Doctest in documentation
100%
100%
Static dispatch preferred
75%
75%
cfg(test) unit tests
100%
0%
Ownership, lifetimes, and smart pointers
Arc<Mutex<T>> for shared state
100%
100%
Cow<str> for conditional allocation
100%
100%
Explicit lifetime annotations
100%
100%
&str params not String
100%
100%
&[T] params not Vec<T>
100%
100%
No unnecessary clones
100%
100%
No unwrap() in production
100%
100%
Lifetime documentation
100%
100%
Doctests present
100%
100%
Design decisions explained
100%
100%
Unsafe code safety and RAII patterns
Safety comment per unsafe block
100%
100%
Unsafe surface minimised
93%
100%
Drop trait for cleanup
100%
100%
BufferGuard uses Drop for RAII
100%
100%
Type-system compile-time safety
91%
100%
No unwrap() in production
100%
100%
Custom error type
0%
0%
Doctests present
100%
100%
Unit tests cover unsafe paths
100%
100%
Testing patterns and validation workflow
Trait abstraction for testability
66%
41%
mockall used for unit tests
0%
0%
Integration tests in tests/ directory
100%
100%
Test fixture with Drop cleanup
0%
0%
cargo fmt evidence
100%
100%
cargo clippy evidence
100%
100%
cargo test --doc evidence
100%
100%
anyhow in binary/application
0%
100%
bail! or ensure! usage
0%
0%
Doctests present
100%
100%
thiserror for library errors
0%
100%
5b76101
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.