Mental-model reset for Rust. Use when writing or reviewing Rust code to shift from "it compiles" to "thinks in Rust." Triggers on Rust code review, "is this idiomatic", borrow-checker errors, API design, domain modeling, ownership, lifetimes, errors, traits, async/Tokio, unsafe, serde, FFI, tests, performance, Cargo structure, .rs files, Cargo.toml, rustc diagnostics, clippy findings, Result/Option, thiserror vs anyhow, newtype, typestate, enum vs trait, dyn Trait, Send/Sync, Pin, Miri, PyO3, napi-rs, cxx, UniFFI, wasm-bindgen, serde attributes, or feature unification.
87
80%
Does it follow best practices?
Impact
99%
1.05xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./rust/SKILL.mdLibrary error type design
thiserror dependency
100%
100%
No crate-wide Error enum
100%
100%
Structured error variants
100%
100%
No bare String variant
100%
100%
Error chain preserved
100%
100%
Domain-vocabulary naming
80%
80%
Result type alias
0%
100%
No anyhow in public API
100%
100%
thiserror derive
100%
100%
Selective #[from] usage
100%
100%
DESIGN.md explains scoping rationale
100%
100%
Domain type modeling with newtypes and enums
Newtype identifiers
100%
100%
Private newtype fields
100%
87%
Order status as enum
100%
100%
No bool state fields
100%
100%
Option over sentinel
100%
100%
Exhaustive match on status
25%
100%
Standard traits on value types
100%
100%
Iterator usage in total_price
100%
100%
Borrow in function signatures
100%
100%
No kind+Option antipattern
100%
100%
Single-entity struct
100%
100%
NOTES.md explains modeling choices
100%
100%
Async worker pool with bounded concurrency
tokio::fs not std::fs
100%
100%
spawn_blocking for CPU work
100%
100%
HTTP timeout
100%
100%
Bounded concurrency
100%
100%
Arc for shared state
100%
100%
Mutex not held across .await
100%
100%
Shared state in newtype/wrapper
100%
100%
Bounded channel or Semaphore
100%
100%
ARCHITECTURE.md completeness
100%
100%
No std::thread::sleep in async
100%
100%
40067f1
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.