Rust Best Practices

Styrer Rust-kode mod idiomatisk fejlhåndtering, borrowing, iterators og async-mønstre

Af majiayu000 · majiayu000/spellbook

Testet · Virker ★ 8.8/10

Rust Best Practices — Styrer Rust-kode mod idiomatisk fejlhåndtering, borrowing, iterators og async-mønstre

Hvad det gør

Vejledningsfærdighed, der styrer Rust-kode mod idiomatisk mønstre: Result/thiserror fejlhåndtering, borrowing over ownership, iterators, ingen unwrap og cargo/clippy/tokio konventioner. Udløses, når man skriver, gennemgår eller optimerer Rust-kode eller håndterer lifetimes, borrow checker og async Rust.

Testrapport

Hentede SKILL.md rå (HTTP 200); frontmatter parses med name+description og allowed-tools. Body er fuldt selvstændig — ingen fil-/scriptreferencer at stikprøvekontrollere, ingen sikkerhedsbrister (ingen curl|sh, base64, eksfiltrering eller injektionstekst), ingen hardcoded paths. Udløserformuleringer — SKAL (alle bedømt load): "fix this borrow checker error in my Rust struct", "write an async tokio function to download files concurrently in Rust", "review my Rust crate's error handling and make it more idiomatic"; SKAL IKKE (begge bedømt skip): "optimize my Python script's memory usage" (memory/optimize men ikke Rust), "explain the history of the Rust programming language" (Rust nævnt men ikke skrivning/gennemgang/optimering af kode) — 5/5. Outputtest: skrev en get_port config parser på to måder i /tmp scratchpad (baseline.rs, skill.rs). Baseline panics på fejlformuleret input (parts[1] index + parse().unwrap()) og returnerer lydløst 0 ved manglende port; skill-versionen — der følger body strengt — tager &str, returnerer Result<u16, ConfigError> via en thiserror enum, bruger split_once/find_map iterators, ingen unwrap, og tilføjer 3 #[cfg(test)] tests. Seks konkrete forskelle, hver sporbar til en skill-regel. Ingen rustc/cargo tilgængelig, så jeg kompilerede ikke (skill-versionen bruger thiserror); logik verificeret ved sporing. Dokumentation er for det meste nøjagtig, men "Microsoft Pragmatic Rust Guidelines"-tilskrivningen overdriver generisk idiomatisk-Rust rådgivning, hvilket koster et dokumentationspunkt.

Testet: 2026-07-31 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/majiayu000/spellbook.git /tmp/rust-best-practices-src
mkdir -p ~/.claude/skills/rust-best-practices
cp /tmp/rust-best-practices-src/plugins/rust-dev/skills/rust-best-practices.SKILL.md ~/.claude/skills/rust-best-practices/SKILL.md
# NOTE: nonstandard layout in repo — the skill is a flat file `rust-best-practices.SKILL.md`
#       (not a directory), so the cp above renames it to SKILL.md at the correct path.
# Self-contained: no scripts, references, or external deps. Guidance-only skill.
# Plugin-marketplace alternative: the repo ships a `rust-dev` plugin
#   (plugins/rust-dev/.claude-plugin/plugin.json) that also bundles this skill.

Kommandoer og eksempelprompter

  • /rust-best-practicesStyrer Rust-kode mod idiomatisk fejlhåndtering, borrowing, iterators og async-mønstre

Skills udløses af almindelige forespørgsler — ingen kommandoer at huske. Efter installationen aktiverer prompter som disse skillen (på engelsk):

  • Review this Rust code for idiomatic patterns
  • Fix this borrow checker error in my function
  • Optimize this async Rust code for performance