rust-async
Async Rust Patterns
Expert guidance for building concurrent, async applications in Rust with Tokio.
Core Concepts
- Rust futures are lazy — they do nothing until
.awaited or spawned - Use
tokioas the async runtime (default for most Rust async work) - Prefer structured concurrency — spawn tasks with clear ownership
- Avoid blocking the async runtime — use
spawn_blockingfor CPU-heavy or blocking I/O
Runtime Setup
// ✅ Good: Multi-threaded runtime (default)
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Your async code here
Ok(())
More from hwatkins/my-skills
elixir-tdd
Test-driven development enforcement for Elixir and Phoenix. Requires failing tests before implementation. Use when implementing features, fixing bugs, or when code quality discipline is needed.
23spam-prevention
When the user needs to prevent spam signups, bot accounts, fake registrations, or abuse of signup/trial flows. Also use when mentioning "spam accounts," "fake signups," "bot registrations," "disposable emails," "signup abuse," or "trial fraud." For broader security concerns, see saas-security.
14elixir-otp
OTP patterns for Elixir — GenServer, Agent, Task, ETS, supervision trees, Registry, and process design. Use when designing concurrent systems, stateful processes, or deciding when (and when NOT) to use processes.
8rust-tdd
Test-driven development enforcement for Rust. Requires failing tests before implementation. Use when implementing features, fixing bugs, or when code quality discipline is needed.
5rust-core
Expert Rust development with ownership, borrowing, lifetimes, traits, error handling, and idiomatic patterns. Use for any Rust code.
4elixir-ecto
Expert Ecto patterns for Elixir — changesets, Multi, composable queries, migrations, optimistic locking, multi-tenancy, and railway-oriented programming with `with`. Use when working with databases or data validation in Elixir.
2