Agent skill
rust-dev
This skill should be used when working with Rust code, reviewing Rust code, managing Rust dependencies, creating Rust projects, or fixing Rust compilation errors. It provides strict coding standards (especially FAIL FAST error handling), workspace architecture guidance, dependency management automation, and common Rust patterns.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/rust-dev
SKILL.md
Rust Development
Core Rules
- Edition 2024: Always
edition = "2024"in Cargo.toml - FAIL FAST: Every error MUST propagate with
?orreturn Err. Logging is NOT handling. See error-handling.md - Dependency versions: Use
x.xformat (e.g.,serde = "1.0"). Find latest withpython3 scripts/check_crate_version.py <crate> - Workspace architecture: Root Cargo.toml defines workspace only. Separate crates for lib/cli/client
- Error types:
thiserror(with backtrace) for libraries,anyhowfor binaries/tests - CLI-first config: Never bypass CLI args. Use
from_cli_args(), neverDefaultthat reads env - No
env::set_varin tests: Pass config through function parameters - Async: Use tokio consistently
- Visibility: Private (default) >
pub(crate)>pub - No magic numbers: Use
constor CLI args
Adding Dependencies
- Run
python3 scripts/check_crate_version.py <crate-name>to find latest version - Add to
[workspace.dependencies]in root Cargo.toml withx.xformat - Reference in member crates:
serde = { workspace = true }
Common deps: thiserror = "2.0", anyhow = "1.0", tokio = { version = "1", features = ["full"] }, serde = { version = "1.0", features = ["derive"] }, clap = { version = "4.5", features = ["derive"] }
Creating New Projects
Use the template in assets/workspace-template/:
project/
├── Cargo.toml # Workspace root, no code
├── project/ # Library crate (thiserror)
│ ├── Cargo.toml
│ └── src/lib.rs
└── project-cli/ # Binary crate (anyhow + clap)
├── Cargo.toml
└── src/main.rs
Module Organization
Split modules when file exceeds ~500 lines or tests take 50%+ of file. See module-organization.md for patterns.
Error Handling
The most critical standard. See error-handling.md for full rules and examples.
Quick check: If you see if let Err or match ... Err without return Err or ?, it's a bug.
References
- error-handling.md — FAIL FAST rules, thiserror/anyhow patterns, error chain preservation
- module-organization.md — When/how to split modules, test extraction
- dependency-guide.md — Workspace deps, feature flags, common crates
Scripts
scripts/check_crate_version.py— Query crates.io for latest dependency versions
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?