rustoria
Skill0 starsChanged 35 days agoMITView on GitHub
Production-grade Rust engineering guidance for AI agents. Use for designing, implementing, reviewing, or debugging Rust code.
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- rust-debuggingSkill
- rust-dependenciesSkill
- rust-fundamentalsSkill
- rust-axumSkill
- rust-clapSkill
- rust-dieselSkill
- rust-ratatuiSkill
- rust-rayonSkill
- rust-serdeSkill
- rust-tokioSkill
- rust-productionSkill
- rust-code-auditSkill
- rust-stdSkill
- rust-unsafe-checkerSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
Before recommending any dependency, check whether std already provides the capability — see rust-std and the native-first rule in …
- Very specific: line 70
rayon is for CPU-bound work: Call it from spawn_blocking, never directly inside an async fn.
- Very specific: line 103
Native first: Prefer std when it provides the capability.
- Very specific: line 104
No blocking in async: Use spawn_blocking or async-native crates.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
rustoria
Router and entry point for the rustoria skill system. Routes to the right skill, then to the right reference.
How to use
- Load this router for any Rust task.
- Route to the skill matching the task (catalog below).
- Skills point to
references/for deep dives; load the reference when the task needs it. - For library work, load the library skill and the native skills it builds on (e.g. axum builds on tokio and serde).
Native Rust first
Rust language, standard library, and Cargo/toolchain knowledge is the foundation. Third-party crates are extensions.
Before recommending any dependency, check whether std already provides the capability — see rust-std and the
native-first rule in rust-production.
Skill catalog (14 skills)
Native core
| Skill | Use when |
rust-fundamentals | Learning or reviewing Rust language basics: ownership, borrowing, lifetimes, types, traits, generics, macros. |
rust-std | Choosing or using standard-library APIs: collections, iterators, strings, fs/io, process, net, sync, conversion traits. |
rust-production | Designing, reviewing, or shipping production Rust: architecture, errors, concurrency, performance, testing, observability. |
rust-debugging | Debugging Rust code, reading compiler errors, or investigating runtime failures. |
rust-unsafe-checker | Writing or reviewing unsafe Rust, FFI, or raw-pointer code. |
rust-dependencies | Managing dependencies, versions, SemVer, Cargo.lock, MSRV, and feature flags. |
Security
| Skill | Use when |
rust-code-audit | Auditing a repository for security vulnerabilities, secret exposure, or supply-chain risks. |
Library extensions
| Skill | Use when |
rust-tokio | Async runtimes, tasks, channels, timers, cancellation. |
rust-axum | Building HTTP APIs and services with axum. |
rust-serde | Serialization and deserialization with serde. |
rust-diesel | Databases with Diesel ORM (schema, queries, migrations, pooling). |
rust-rayon | Data parallelism and CPU-bound work. |
rust-clap | Command-line interfaces and argument parsing. |
rust-ratatui | Terminal user interfaces (TUI). |
Ecosystem orientation
| Layer | Crate | Skill |
| Async runtime | tokio 1.x | rust-tokio |
| HTTP | axum 0.8 | rust-axum |
| Serialization | serde 1.x | rust-serde |
| Database | diesel 2.3 | rust-diesel |
| Parallelism | rayon 1.12 | rust-rayon |
| CLI | clap 4.x | rust-clap |
| TUI | ratatui 0.30 | rust-ratatui |
How the layers connect:
- axum runs on tokio.
axum::servetakes atokio::net::TcpListener;#[tokio::main]sets up the runtime. - diesel is synchronous. In async servers, use a connection pool (r2d2) with
spawn_blocking, or diesel-async. - rayon is for CPU-bound work. Call it from
spawn_blocking, never directly inside anasync fn. - serde is the data layer. axum's
Jsonextractor/response is serde; diesel models derive serde traits when needed.
References
Deep-dive documents, reachable from the skills that need them:
references/ownership.md— moves, Copy vs Clone, drop order, Box/Rc/Arc, Weak, leaksreferences/borrowing.md— borrow rules, lifetimes, elision, RefCell/Cell/OnceLock/LazyLockreferences/type-design.md— newtypes, enums, typestate, PhantomData, Deref guidancereferences/error-handling.md— Result/Option, thiserror vs anyhow,?, error designreferences/concurrency.md— threads, channels, Mutex/RwLock, atomics, Send/Sync, poisoningreferences/async.md— Future/Pin, tokio runtime, spawn, cancellation, backpressurereferences/performance.md— allocations, clones, iterators, profiling, release profilesreferences/testing.md— unit/integration/doc tests, property tests, async tests, coveragereferences/security.md— input validation, secrets, injection, overflow, unsafe policyreferences/production.md— observability, config, graceful shutdown, deploymentreferences/architecture.md— module boundaries, workspaces, feature-oriented structurereferences/toolchain.md— cargo, rustfmt, clippy, rustdoc, features, editions, MSRV
Examples
Runnable, tested projects under examples/:
std-file-processor— zero-dependency std-only tool (fs, io, iterators, custom errors)minimal-api— axum HTTP APImodular-monolith— feature-oriented module boundariesasync-service— tokio workers, scheduler, graceful shutdowncli— clap subcommands with testslibrary— validated newtypes with thiserror
House rules
- Native first. Prefer
stdwhen it provides the capability; add dependencies intentionally. - No blocking in async. Use
spawn_blockingor async-native crates. - No casual
unwrap()/expect()in production paths. Examples may use them only where clearly demo-grade. - Version-sensitive advice names its version. Skills state which Rust version or crate version a recommendation applies to.
- Editions. Examples use edition 2021. Skills note when guidance is edition-specific.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

