What problem does it solve? Rust developers often write code that compiles but violates idiomatic conventions—overusing unwrap(), cloning to silence the borrow checker, or modeling states loosely—leading to panics, hidden bugs, and unmaintainable codebases. ## Core Features & Use Cases - Ownership and Borrowing Guidance: Enforces borrowing over cloning, Cow for flexible ownership, and newtype patterns for type-safe APIs. - Structured Error Handling: Promotes Result/? propagation with thiserror for libraries and anyhow for applications, banning unwrap() in production. - Concurrency and Async Patterns: Covers Arc<Mutex<T>>, channels with backpressure, and Tokio-based async with timeouts and task spawning. - Use Case: When reviewing a Rust pull request that panics on I/O errors and uses wildcard match arms, apply this Skill to refactor toward typed errors, exhaustive matching, and minimal pub surfaces. ## Quick Start Review my Rust code and refactor it to follow idiomatic patterns for error handling, ownership, and concurrency.