What problem does it solve? LLM-generated Rust repeatedly contains the same classes of bugs: version-mismatched crate APIs, cancel-unsafe async code, unjustified unsafe blocks, broken lifetime signatures, and poorly designed trait hierarchies. This Skill provides five concrete prompt patterns, distilled from a six-month benchmark of LLM Rust output, that statistically reduce these errors when writing or reviewing AI-generated Rust. ## Core Features & Use Cases - Version and runtime pinning: Require exact crate versions and async runtime (e.g., axum 0.7, tokio 1.35) in every prompt to prevent API averaging across incompatible releases. - Cancel-safety and SAFETY annotations: Force per-function // cancel-safe: comments on async fns and // SAFETY: invariant lists on every unsafe block, creating a mechanical audit trail. - Lifetime call-site examples and trait design checkpoints: Demand example call sites before committing to non-trivial lifetime signatures, and require 2-3 candidate trait designs with object-safety and blanket-impl analysis before implementation. - Use Case: When asking a coding agent to write an HTTP handler, you specify "axum 0.7, tokio 1.35, sqlx 0.7 with postgres" and require cancel-safety annotations, catching a parking_lot::Mutex held across .await before it ships. ## Quick Start Ask your coding agent to write Rust using the power-rust prompt patterns, pinning crate versions and requiring cancel-safety and SAFETY annotations on the generated code.