Borrowing it
Nothing to install: this file belongs to savant0x/savant-code. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/savant0x/savant-code/main/.agents/skills/coding-rust/SKILL.mdgit clone --depth 1 https://github.com/savant0x/savant-codeWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/savant0x/savant-code/coding-rust)<a href="https://agentmods.dev/skills/savant0x/savant-code/coding-rust"><img src="https://agentmods.dev/badge/skills/savant0x/savant-code/coding-rust/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/savant0x/savant-code/coding-rust"><img src="https://agentmods.dev/badge/skills/savant0x/savant-code/coding-rust.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00022 | $0.00799 |
| Opus 5.5 | $0.00009 | $0.00320 |
| Sonnet 5.5 | $0.00004 | $0.00160 |
| Haiku 4.5 | $0.00002 | $0.00080 |
Grade A, and why
coding-rust scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Rust Coding Standards
Naming Conventions
| Element | Convention | Example |
|---|---|---|
| Structs | PascalCase | UserProfile, GameState |
| Enums | PascalCase | PlayerAction, TileType |
| Enum variants | PascalCase | TileType::Grassland |
| Functions | snake_case | calculate_distance, spawn_unit |
| Variables | snake_case | player_count, is_valid |
| Constants | UPPER_SNAKE_CASE | MAX_PLAYERS, TILE_SIZE |
| Statics | UPPER_SNAKE_CASE | GLOBAL_CONFIG |
| Modules | snake_case | player_manager, world_gen |
| Files | snake_case.rs | player_manager.rs, world_gen.rs |
| Traits | PascalCase (noun/adjective) | Serializable, Renderable |
| Type aliases | PascalCase | PlayerId, TileGrid |
| Lifetimes | short lowercase | 'a, 'ctx, 'de |
Patterns
Error Handling
- Use
Result<T, E>for all fallible operations - Never use
unwrap()orexpect()in non-test code — use?operator,match, or explicit error types .expect("reason")is acceptable only in tests, examples, andmain.rswhere panicking is the intended behavior- Define project-specific error types using
thiserror - Use
anyhowfor application-level error propagation
Ownership
- Prefer borrowing (
&T) over cloning - Use
Arc<Mutex<T>>for shared mutable state - Use
Rc<T>for single-threaded shared ownership - Document lifetime elision decisions in complex cases
Imports
- Group: std → external crates → local modules
- One blank line between groups
- Prefer explicit imports over glob (
use module::*) - Re-export public types at module boundaries
File Structure
src/
├── main.rs # Entry point only
├── lib.rs # Public API surface
├── config.rs # Configuration types
├── error.rs # Error types
├── [module]/
│ ├── mod.rs # Module re-exports
│ ├── types.rs # Data structures
│ ├── logic.rs # Business logic
│ └── tests.rs # Unit tests (or inline)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 13d ago Changed · +4 lines ccb20bd68899
- 2mo ago First seen · 84 lines · 22 tokens per session scan A 7b2e283623e2
coding-rust is a skill published in the GitHub repository savant0x/savant-code (11 stars, last pushed 3d ago), licensed Apache-2.0. It adds 22 tokens to every session and 799 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
rust-patterns
Idiomatic Rust patterns, ownership, error handling, traits, concurrency, and best practices for building safe, performant applications.
update-v8-version
Update Codex's pinned v8 / rustyv8 versions, validate the release-candidate path, and investigate failed V8 canary or artifact builds. Use when asked to bump V8, update rustyv8 artifacts, prepare or validate a V8 release candidate, check v8-canary, or diagnose why a V8 version update no longer builds.
dd-code-generation
Use pup CLI for immediate Datadog operations or generate code for integration into applications.
omh-rust
This is an OMH rust workflow skill, projected for Agent Skills hosts (Claude Code, Codex, Cursor, opencode, OpenClaw, pi).
azure-keyvault-secrets-rust
Client library for Azure Key Vault Secrets — secure storage for passwords, API keys, and other secrets.
rust-error
Define, wrap, convert, classify, report or test Rust error types in litellm-rust with thiserror. Use when adding an error type or variant, mapping one crate's error into another, turning an error into a gateway response or Python exception, deciding retry or fault from an error, or replacing call sites that build…