Language-specific super-code guidelines for rust. An agent skill from sickn33/agentic-awesome-skills.

MITAuto-check passedMobile

Install Rust

skills CLI
$ npx skills add sickn33/agentic-awesome-skills --skill rust -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sickn33/agentic-awesome-skills rust --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sickn33/agentic-awesome-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/super-code/rust .claude/skills/rust && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rust
GitHub stars
47k
Used in
1 other repo
Token cost
~1.6k tokens
SKILL.md length
222 words
Files
1
Skills in repo
1,394
Repo updated
First seen
Licence
MIT

At a glance

Language-specific super-code guidelines for rust. An agent skill from sickn33/agentic-awesome-skills.

  • Works in 7 steps: Ownership & Borrowing {#ownership} → Error Handling {#errors} → Iterators {#iterators} → …
  • Mobile work in your project
  • SKILL.md covers When to Use, Table of Contents, 1. Ownership & Borrowing… and 2. Error Handling {#errors}, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Rust is an agent skill from sickn33/agentic-awesome-skills. Language-specific super-code guidelines for rust.

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. It works with Rust. The repository describes itself as: AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and planning, backed by 2,400+ agentic skills. Includes… The licence is MIT.

When your agent uses it

  • Mobile work in your project

Example prompts

  • “/rust”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Ownership & Borrowing {#ownership}
  2. Error Handling {#errors}
  3. Iterators {#iterators}
  4. Pattern Matching {#patterns}
  5. Structs & Enums {#structs}
  6. Concurrency {#concurrency}
  7. Anti-patterns specific to Rust {#antipatterns}

What it can do on your machine

Read from SKILL.md and the folder at commit 1e53ce2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are rust).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rust loads about 1.6k tokens when it runs. Until then it costs about 14 tokens; SKILL.md has 222 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~14
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from sickn33/agentic-awesome-skills at commit 1e53ce2, republished under its MIT licence (© sickn33). 222 words, ~1,629 tokens.

Download SKILL.mdSave it as .claude/skills/rust/SKILL.md (or your agent's skills folder).
name
rust
description
Language-specific super-code guidelines for rust.
risk
safe
source
community
date_added
2026-06-16

Rust: Idiomatic Efficiency Reference

When to Use

  • Use this skill when the task matches this description: Language-specific super-code guidelines for rust.

Table of Contents

  1. Ownership & Borrowing
  2. Error Handling
  3. Iterators
  4. Pattern Matching
  5. Structs & Enums
  6. Concurrency
  7. Anti-patterns specific to Rust

1. Ownership & Borrowing {#ownership}

rust
// ❌ Cloning to avoid thinking about lifetimes
fn get_name(user: &User) -> String {
    user.name.clone()
}

// ✅ — return a reference when the data lives long enough
fn get_name(user: &User) -> &str {
    &user.name
}
rust
// ❌ Taking ownership when borrowing suffices
fn print_name(name: String) {
    println!("{name}");
}

// ✅
fn print_name(name: &str) {
    println!("{name}");
}
rust
// ❌ Unnecessary .to_string() / .to_owned() in hot paths
let key = id.to_string();
map.get(&key)

// ✅ — use Borrow trait; HashMap<String, V> accepts &str as key
map.get(id)

Prefer &str over String in function parameters unless the function needs to own the data.


2. Error Handling {#errors}

rust
// ❌ .unwrap() in production code
let file = File::open(path).unwrap();

// ✅
let file = File::open(path)
    .map_err(|e| AppError::Io { path: path.to_owned(), source: e })?;
rust
// ❌ Manual match on Result for every call
match do_thing() {
    Ok(v) => v,
    Err(e) => return Err(e),
}

// ✅ — the ? operator
let v = do_thing()?;
rust
// ❌ Box<dyn Error> everywhere (loses type info)
fn run() -> Result<(), Box<dyn std::error::Error>> { ... }

// ✅ — use thiserror for library errors, anyhow for application errors
use anyhow::{Context, Result};
fn run() -> Result<()> {
    do_thing().context("failed during run")?;
    Ok(())
}
rust
// ❌ Separate error enum variant for every call site
enum Error { FileOpen, FileRead, Parse, Network, ... }

// ✅ — use thiserror with #[from] for automatic conversion
#[derive(thiserror::Error, Debug)]
enum Error {
    #[error("io error")] Io(#[from] std::io::Error),
    #[error("parse error")] Parse(#[from] serde_json::Error),
}

3. Iterators {#iterators}

rust
// ❌ Imperative accumulation
let mut result = Vec::new();
for item in &items {
    if item.active {
        result.push(item.name.to_uppercase());
    }
}

// ✅
let result: Vec<_> = items.iter()
    .filter(|i| i.active)
    .map(|i| i.name.to_uppercase())
    .collect();
rust
// ❌ Manual sum
let mut total = 0;
for order in &orders { total += order.amount; }

// ✅
let total: u64 = orders.iter().map(|o| o.amount).sum();
rust
// ❌ Index-based loop
for i in 0..items.len() {
    process(&items[i]);
}

// ✅
for item in &items {
    process(item);
}
// With index:
for (i, item) in items.iter().enumerate() {
    process(i, item);
}

Chain iterators lazily; only .collect() when you actually need a concrete collection.


4. Pattern Matching {#patterns}

rust
// ❌ if-let chain that should be match
if let Some(x) = opt {
    if x > 0 {
        use(x)
    }
}

// ✅
if let Some(x) = opt.filter(|&x| x > 0) {
    use(x)
}
// or match with guard:
match opt {
    Some(x) if x > 0 => use(x),
    _ => {}
}
rust
// ❌ match with identical arms
match status {
    Status::Active => true,
    Status::Pending => true,
    Status::Inactive => false,
}

// ✅
matches!(status, Status::Active | Status::Pending)
rust
// ❌ Destructuring in body instead of pattern
fn area(shape: &Shape) -> f64 {
    match shape {
        Shape::Circle(c) => { let r = c.radius; r * r * PI }
        Shape::Rect(r)   => { let w = r.width; let h = r.height; w * h }
    }
}

// ✅ — destructure in pattern
match shape {
    Shape::Circle(Circle { radius, .. }) => radius * radius * PI,
    Shape::Rect(Rect { width, height })  => width * height,
}

5. Structs & Enums {#structs}

rust
// ❌ Enum variant carrying bool for binary state
enum State { Running(bool) } // true = paused?

// ✅ — explicit variants
enum State { Running, Paused, Stopped }
rust
// ❌ Struct with many Option fields (stringly optional)
struct Config {
    timeout: Option<u64>,
    retries: Option<u32>,
    base_url: Option<String>,
}

// ✅ — use Default + builder pattern or #[derive(Default)] with sensible defaults
#[derive(Default)]
struct Config {
    timeout: u64,      // default 0 = no timeout
    retries: u32,      // default 0
    base_url: String,
}
rust
// ❌ pub fields on a type that needs invariants
pub struct Percentage { pub value: f64 }

// ✅ — private field, constructor enforces invariant
pub struct Percentage(f64);
impl Percentage {
    pub fn new(v: f64) -> Option<Self> {
        (0.0..=100.0).contains(&v).then_some(Self(v))
    }
}

6. Concurrency {#concurrency}

rust
// ❌ Arc<Mutex<T>> for read-heavy data
let data = Arc::new(Mutex::new(vec![...]));

// ✅ — RwLock for read-heavy
let data = Arc::new(RwLock::new(vec![...]));
rust
// ❌ Spawning OS threads for many small tasks
for item in items {
    std::thread::spawn(|| process(item));
}

// ✅ — use rayon for CPU-bound parallel iteration
use rayon::prelude::*;
items.par_iter().for_each(|item| process(item));

For async: prefer tokio::spawn + JoinHandle over manual channels for structured concurrency. Use tokio::join! for concurrent awaits.


7. Anti-patterns specific to Rust {#antipatterns}

Anti-patternPreferred
.clone() to appease borrow checkerreconsider lifetime or restructure
.unwrap() in non-test code? operator or explicit handling
impl Trait in return position hiding complex typename the type or use Box<dyn Trait> intentionally
String parameter when &str suffices&str for params, String for owned storage
Nested Option<Option<T>>rethink the data model
unsafe block without a safety commentalways document the invariant being upheld
Vec<Box<T>> when Vec<T> worksavoid heap allocation inside collections unless T is unsized
Manual Drop for cleanup that ? handleslet RAII + ? do it

Limitations

  • These are language-specific guidelines and do not cover overall architectural decisions.
  • Over-compression might reduce readability; apply judgement.

© sickn33, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/super-code/rust of sickn33/agentic-awesome-skills.

Open the folder on GitHubat commit 1e53ce2

Used in 1 other repository

We found 5 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sickn33/agentic-awesome-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Rust next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rust compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rust this skillsickn33/agentic-awesome-skills47k1 repos~1.6kAutomated safety check: PassMIT
Bezel Contributingcrabtalk/bezel169—~1.1kAutomated safety check: PassMIT
Rust Desktop Applicationsbobmatnyc/claude-mpm155—~2.6kAutomated safety check: PassMIT
Build Teaql Appteaql/teaql-agent-kit2.8k—~4.6kAutomated safety check: PassMIT
Freyamarc2332/freya3.2k—~9.1kAutomated safety check: PassMIT
Fory Version Bumpapache/fory4.6k—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Bezel Contributing

    crabtalk/bezel

    Work inside the bezel repo — where code goes across the crate layers, the five laws a change has to obey, and everything a component has to land with (gallery row, docs page, tests, the nightly…

    169 GitHub stars~1.1k tokensUpdated yesterday
    MobileAuto-check passed
  • Rust Desktop Applications

    bobmatnyc/claude-mpm

    Build cross-platform desktop applications with Rust using Tauri framework and native GUI alternatives

    155 GitHub stars~2.6k tokensUpdated 1 mo ago
    MobileAuto-check passed
  • Build Teaql App

    teaql/teaql-agent-kit

    Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.

    2.8k GitHub stars~4.6k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Freya

    marc2332/freya

    Freya Rust GUI framework best practices, patterns, and conventions.

    3.2k GitHub stars~9.1k tokensUpdated today
    MobileAuto-check passed
  • Bump Apache Fory release or post-release development versions across Java, Kotlin, Scala, Python, Rust, Go, C++, C, Dart, JavaScript, Swift, integration tests, examples, and source docs.

    4.6k GitHub stars~1.1k tokensUpdated today
    MobileAuto-check passed
  • Frb Add Contributor

    fzyzcjy/flutter_rust_bridge

    Add or reconcile flutterrustbridge contributors through all-contributors PRs.

    5.4k GitHub stars~1.6k tokensUpdated yesterday
    MobileAuto-check passed

More from sickn33/agentic-awesome-skills

All 1,394 skills in this repo
  • Liuguang Banlan UI

    sickn33/agentic-awesome-skills

    Implements an interface in one of two named color modes, iridescent white or colorful black, from a parameterized starter that reports measured color intensity.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • User Thoughts Memory

    sickn33/agentic-awesome-skills

    Saves a user's project decisions, rules and preferences into a project-local mdbase so later sessions and other agents can recover the intent.

    47k GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Using LWC Memory and Graphs

    sickn33/agentic-awesome-skills

    Keeps project decisions, research and verified results available across coding-agent sessions through LWC memory, a document Wiki graph and a CodeGraph code index.

    47k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Find Complementary Founders

    sickn33/agentic-awesome-skills

    Guides an agent through assessing its own owner for cofounder fit, publishing an approved profile, and ranking complementary profiles other agents published for their owners.

    47k GitHub starsUsed in 1 repo~4.8k tokens
    Auto-check passed
  • Whatsapp Cloud API

    sickn33/agentic-awesome-skills

    Integracao com WhatsApp Business Cloud API (Meta). An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~4.5k tokens
    Auto-check passed
  • Cline Pilot

    sickn33/agentic-awesome-skills

    Acts as a proxy for the Cline CLI, dispatching coding tasks one at a time, monitoring runs by hard evidence, relaying decisions to you and learning per-project preferences.

    47k GitHub starsUsed in 1 repo~4.6k tokens
    Auto-check passed

Works with

Categories

Questions about Rust

What does Rust do?

Language-specific super-code guidelines for rust. An agent skill from sickn33/agentic-awesome-skills. Rust is an agent skill from sickn33/agentic-awesome-skills. Language-specific super-code guidelines for rust.

When should I use Rust?

Rust fits situations like: mobile work in your project.

How do I install Rust in Claude Code?

Run `npx skills add sickn33/agentic-awesome-skills --skill rust -a claude-code`. Or copy the skill folder (skills/super-code/rust in sickn33/agentic-awesome-skills) into .claude/skills/rust in your project. Claude Code loads it when a task matches its description.

How do I install Rust in Codex?

Run `npx skills add sickn33/agentic-awesome-skills --skill rust -a codex`. Or copy the skill folder (skills/super-code/rust in sickn33/agentic-awesome-skills) into .agents/skills/rust in your project. Codex loads it when a task matches its description.

Can I use Rust in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sickn33/agentic-awesome-skills --skill rust -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rust, .gemini/skills/rust, .github/skills/rust and .opencode/skills/rust in your project.

What does Rust need to run?

SKILL.md names no scripts, command-line tools or credentials: Rust is instructions for the agent only.

Does Rust access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Rust safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rust use?

Rust is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rust use?

About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rust?

Skills that share tags, products or a category with Rust: Bezel Contributing (crabtalk/bezel, 169 stars), Rust Desktop Applications (bobmatnyc/claude-mpm, 155 stars), Build Teaql App (teaql/teaql-agent-kit, 2.8k stars) and Freya (marc2332/freya, 3.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rust?

sickn33 (a GitHub user) maintains it in sickn33/agentic-awesome-skills, which has 47,304 GitHub stars. The repository holds 1,394 skills in this directory. The repository was last updated on October 6, 2026.

Source: sickn33/agentic-awesome-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.