What problem does it solve? Rust async code often compiles cleanly while hiding concurrency bugs like detached tasks, lost cancellation progress, deadlocks from locks held across .await, unbounded queues, and missing graceful shutdown. This Skill reviews scoped Rust changes for these async correctness failures and reports concrete, severity-ranked findings with file locations and fixes. ## Core Features & Use Cases - Lifecycle and cancellation analysis: Traces ownership of spawned tasks, JoinHandles, JoinSets, and CancellationTokens, and checks select! branches for cancellation-unsafe operations like read_exact. - Backpressure and scheduler checks: Detects unbounded channels without justification, blocking std::fs or CPU-heavy work on runtime threads, and unbounded task fanout. - Optional scanner and references: Ships a Python scanner that surfaces review leads in Rust files, plus reference playbooks and patch patterns for TaskTracker, semaphores, timeouts, and tracing. - Use Case: Before merging a pull request that adds a Tokio worker pool, run this review to confirm every spawned task has an owner, shutdown drains the JoinSet within a bounded wait, and no lock guard survives an .await. ## Quick Start Ask the agent to review your current Rust working changes for async and concurrency correctness, reporting findings with file locations without editing code.