What problem does it solve? Rust developers often struggle to choose between Result and Option, propagate errors correctly with the ? operator, and decide between thiserror and anyhow, leading to fragile unwrap-heavy code and confusing compiler errors. ## Core Features & Use Cases - Error Strategy Guidance: Provides decision rules for choosing thiserror in library crates versus anyhow in application crates, plus when panic and unwrap are acceptable. - Custom Error Type Patterns: Shows thiserror 2.0 derive patterns with #[from] conversions, manual Error trait implementations, and multi-layer error enums mapped to API responses. - Error Propagation & Context: Demonstrates the ? operator, anyhow Context, bail!, ensure!, error chain traversal, and downcast-based recovery. - Use Case: When building a Rust service that loads config, connects to a database, and parses files, use this Skill to structure layered error types and attach context so failures produce clear, actionable error chains. ## Quick Start Ask the AI to refactor your Rust function that uses unwrap into proper Result-based error handling with thiserror or anyhow.