Install
$ agentstack add skill-onsails-cc-rust-dev ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Rust Development
Workflow
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 inCargo.toml. These rules apply in addition to Core Rules below.
- Implement — Delegate to
rust-dev:rust-coderagent. It rediscovers guidelines, implements, then verifies its own work withcargo clippy --workspace --tests -- -D warningsandcargo test --workspacebefore reporting done.
- Review — Invoke
rust-dev:review-rust-codeagent after rust-coder completes. This is mandatory, not optional. Convert findings into TODOs: critical/warning → fix; suggestions → triage.
- Fix issues one by one — Delegate each fix to
rust-dev:rust-coder. Do not batch unrelated fixes into one delegation.
- Final build —
cargo build --workspace(or delegate torust-dev:rust-builder).
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](references/error-handling.md) - Dependency versions: Use
x.xformat (e.g.,serde = "1.0"). Find latest withpython3 scripts/check_crate_version.py - 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.pyto 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](references/module-organization.md) for patterns.
Error Handling
The most critical standard. See [error-handling.md](references/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](references/error-handling.md) — FAIL FAST rules, thiserror/anyhow patterns, error chain preservation
- [module-organization.md](references/module-organization.md) — When/how to split modules, test extraction
- [dependency-guide.md](references/dependency-guide.md) — Workspace deps, feature flags, common crates
Scripts
scripts/check_crate_version.py— Query crates.io for latest dependency versions
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: onsails
- Source: onsails/cc
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.