rust-core
Rust Development
You are an expert in Rust development with deep knowledge of systems programming, memory safety, and zero-cost abstractions.
Core Principles
- Write idiomatic, safe Rust code with clear ownership semantics
- Prefer zero-cost abstractions — don't pay for what you don't use
- Leverage the type system to make invalid states unrepresentable
- Use
clippyandrustfmtconventions consistently - Favor explicitness over implicitness
Naming Conventions
- Use
snake_casefor functions, variables, modules, and file names - Use
PascalCasefor types, traits, and enum variants - Use
SCREAMING_SNAKE_CASEfor constants and statics - Prefix unused variables with
_ - Use descriptive names (e.g.,
is_valid,parse_config,ConnectionPool)
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-async
Async Rust with Tokio, futures, concurrency patterns, channels, and performance. Use when building async services, networking, or concurrent Rust applications.
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