Learn-skills.dev rust-engineer
Rust specialist with expertise in async programming, ownership patterns, FFI, and WebAssembly development
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/404kidwiz/claude-supercode-skills/rust-engineer" ~/.claude/skills/neversight-learn-skills-dev-rust-engineer && rm -rf "$T"
manifest:
data/skills-md/404kidwiz/claude-supercode-skills/rust-engineer/SKILL.mdsource content
Rust Engineer
Purpose
Provides expert Rust development expertise specializing in memory-safe systems programming, async programming with Tokio, and high-performance backend services. Builds safe, concurrent applications with zero-cost abstractions and comprehensive error handling.
When to Use
- Building high-performance backend services with Axum or Actix
- Implementing memory-safe systems programming without garbage collector
- Developing async/concurrent applications with Tokio runtime
- Integrating Rust with C libraries via FFI
- Compiling to WebAssembly for web or Node.js deployment
- Migrating performance-critical components from C/C++ to Rust
Quick Start
Invoke When
- Building Axum/Actix REST APIs or gRPC services
- Systems programming requiring memory safety
- Async/concurrent applications with Tokio
- FFI bindings to C/C++ libraries
- WebAssembly compilation for browsers
Don't Invoke When
- Quick prototyping (use Python/Node.js)
- Spring Boot/Java backends (use java-architect)
- Mobile apps (use mobile-developer)
- Simple scripts (use Python/Bash)
Core Capabilities
Backend Development
- Building REST APIs with Axum framework
- Implementing WebSocket servers and real-time features
- Managing database access with SQLx or Diesel
- Configuring application deployment and scaling
Systems Programming
- Implementing zero-allocation patterns
- Managing ownership, borrowing, and lifetimes
- Building concurrent systems with Tokio
- Creating FFI bindings to C libraries
WebAssembly Development
- Compiling Rust to WASM for browser deployment
- Integrating WASM modules with JavaScript
- Optimizing WASM binary size and performance
- Managing memory in WASM environments
Testing and Documentation
- Writing unit tests and integration tests
- Implementing property-based testing
- Creating documentation with cargo doc
- Managing code formatting and linting
Decision Framework
When to Choose Rust?
Need high performance + memory safety? │ ├─ YES → Project type? │ │ │ ├─ BACKEND API/SERVICE → Latency requirements? │ │ │ │ │ ├─ <10ms → **Rust (Axum/Actix)** ✓ │ │ │ (zero-cost async, minimal overhead) │ │ │ │ │ └─ 10-100ms → Node.js/Go acceptable? │ │ │ │ │ ├─ YES → **Go/Node.js** ✓ │ │ │ (faster development) │ │ │ │ │ └─ NO → **Rust** ✓ │ │ (memory safety critical) │ │ │ ├─ SYSTEMS PROGRAMMING → C/C++ replacement? │ │ │ │ │ ├─ YES → **Rust** ✓ │ │ │ (memory safety without GC) │ │ │ │ │ └─ NO → **Rust** ✓ │ │ │ ├─ CLI TOOL → Cross-platform? │ │ │ │ │ ├─ YES → **Rust** ✓ │ │ │ (single binary, fast startup) │ │ │ │ │ └─ NO → Simple script? │ │ │ │ │ ├─ YES → **Bash/Python** ✓ │ │ │ │ │ └─ NO → **Rust** ✓ │ │ │ └─ WEB (HIGH-PERF) → Browser or server? │ │ │ ├─ BROWSER → **Rust + WASM** ✓ │ │ (image processing, crypto, games) │ │ │ └─ SERVER → See "BACKEND API/SERVICE" above │ └─ NO → Use language optimized for use case
Async Runtime Decision
| Aspect | Tokio | Async-std | Smol |
|---|---|---|---|
| Ecosystem | Largest | Medium | Small |
| Performance | Fastest | Fast | Lightweight |
| Runtime overhead | ~300KB | ~200KB | ~50KB |
| HTTP frameworks | Axum, Hyper, Tonic | Tide | None official |
| Adoption | Production (Discord, AWS) | Experimental | Niche |
| Best for | Production services | Prototyping | Embedded |
Recommendation: Use Tokio for 95% of async Rust projects.
Web Framework Decision
Building HTTP API? │ ├─ Microservice / Performance-critical? │ │ │ ├─ YES → Need advanced routing/middleware? │ │ │ │ │ ├─ YES → **Axum** ✓ │ │ │ (type-safe extractors, Tower middleware) │ │ │ │ │ └─ NO → **Hyper** ✓ │ │ (low-level HTTP, maximum control) │ │ │ └─ NO → Rapid prototyping? │ │ │ ├─ YES → **Actix-web** ✓ │ │ (batteries-included, macros) │ │ │ └─ NO → **Rocket** ✓ │ (codegen, easy to start)
FFI vs Pure Rust
| Situation | Decision | Rationale |
|---|---|---|
| Legacy C library | FFI wrapper | Avoid reimplementing tested code |
| Performance-critical C | Benchmark first | Rust may match/exceed C |
| Simple C algorithm | Rewrite in Rust | Easier to maintain |
| OS-specific APIs | FFI via | No pure-Rust alternative |
| Calling Rust from C/Python | FFI with | Enable cross-language use |
Escalation Triggers
Red Flags → Escalate to
:oracle
- Designing async architecture for >10 microservices with complex inter-service communication
- Choosing between Rust and Go for greenfield API project (team/business tradeoffs)
- Implementing custom async executors or runtimes (advanced Tokio internals)
- Complex lifetime issues across trait bounds and generic types
- Unsafe code patterns for performance-critical sections
- WASM module interop with JavaScript for large-scale applications
Integration Patterns
backend-developer:
- Handoff: rust-engineer builds Axum API → backend-developer adds Node.js microservices
- Tools: Protocol Buffers for gRPC contracts, shared OpenAPI specs
database-optimizer:
- Handoff: rust-engineer implements SQLx queries → database-optimizer reviews for N+1
- Tools: SQLx compile-time query verification, EXPLAIN ANALYZE
devops-engineer:
- Handoff: rust-engineer builds binary → devops-engineer containerizes and deploys
- Tools: Docker multi-stage builds, Prometheus metrics (via
)axum-prometheus
frontend-developer:
- Handoff: rust-engineer compiles WASM module → frontend-developer integrates into React/Vue
- Tools: wasm-pack, TypeScript bindings generation
cpp-pro:
- Handoff: cpp-pro maintains C/C++ library → rust-engineer creates safe FFI wrapper
- Tools:
for FFI bindings,bindgen
for bidirectional C++/Rust interopcxx
golang-pro:
- Handoff: rust-engineer builds performance-critical service → golang-pro builds orchestration layer
- Tools: gRPC for inter-service communication, shared Protobuf definitions
kubernetes-specialist:
- Handoff: rust-engineer builds service → kubernetes-specialist deploys with Helm
- Tools: Dockerfiles, Kubernetes manifests, Helm charts
Additional Resources
- Detailed Technical Reference: See REFERENCE.md
- Code Examples & Patterns: See EXAMPLES.md