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.
Detect the runtime once, before the workflow:
Agent, AskUserQuestion, and Skill tools available) → read runtime-claude.md.task and ask tools available, with skill://… readable through read) → read skill://rust-dev/runtime-omp.md.The selected file is a prompt asset, not a role declaration. Its implementation and review labels name the exact runtime subagent arguments. If a named agent is unavailable, stop before delegation: never substitute the generic task or general-purpose agent and never implement delegated work inline.
For any non-trivial Rust change:
Discover project guidelines — Read CLAUDE.md, AGENTS.md (in repo root and .claude/, .cursor/, .codex/ subdirs), rustfmt.toml, clippy.toml, .clippy.toml, deny.toml, and [workspace.lints] / [lints] sections in Cargo.toml. These rules apply in addition to Core Rules below.
Implement — Delegate through the runtime dispatch table's implementation entry. It rediscovers guidelines, implements, then verifies its own work with cargo clippy --workspace --tests -- -D warnings and cargo test --workspace before reporting done.
Review — Delegate through the dispatch table's review entry after implementation completes. This is mandatory, not optional. Convert findings into TODOs: critical/warning → fix; suggestions → triage.
Fix issues one by one — Delegate each fix through the implementation entry. Do not batch unrelated fixes into one delegation.
Final build — Run cargo build --workspace directly.
edition = "2024" in Cargo.toml? or return Err. Logging is NOT handling. See error-handling.mdx.x format (e.g., serde = "1.0"). Find latest with python3 scripts/check_crate_version.py <crate>thiserror (with backtrace) for libraries, anyhow for binaries/testsfrom_cli_args(), never Default that reads envenv::set_var in tests: Pass config through function parameterspub(crate) > pubconst or CLI argspython3 scripts/check_crate_version.py <crate-name> to find latest version[workspace.dependencies] in root Cargo.toml with x.x formatserde = { 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"] }
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
Split modules when file exceeds ~500 lines or tests take 50%+ of file. See module-organization.md for patterns.
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.
scripts/check_crate_version.py — Query crates.io for latest dependency versionsSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer