Rust Best Practices

Styr Rust-kod mot idiomatiska felhantering, lån, iteratorer och asynkrona mönster

av majiayu000 · majiayu000/spellbook

Testad · Fungerar ★ 8.8/10

Rust Best Practices — Styr Rust-kod mot idiomatiska felhantering, lån, iteratorer och asynkrona mönster

Vad den gör

Vägledningsfärdighet som styr Rust-kod mot idiomatiska mönster: Result/thiserror felhantering, lån framför ägande, iteratorer, inget unwrap, och cargo/clippy/tokio-konventioner. Utlöses vid skrivning, granskning eller optimering av Rust-kod eller vid hantering av livslängder, borrow checker och asynkron Rust.

Testrapport

Hämtade SKILL.md rå (HTTP 200); frontmatter parsas med name+description och allowed-tools. Kroppen är helt självständig — inga fil-/skriptreferenser att kontrollera, inga säkerhetsbrister (inga curl|sh, base64, exfiltrering eller injektionstext), inga hårdkodade sökvägar. Utlösarfraser — SKA (alla bedömdes ladda): "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"; SKA INTE (båda bedömdes hoppa över): "optimize my Python script's memory usage" (minne/optimera men inte Rust), "explain the history of the Rust programming language" (Rust nämnt men inte skriva/granska/optimera kod) — 5/5. Utdatatest: skrev en get_port-konfigurationsparser på två sätt i /tmp scratchpad (baseline.rs, skill.rs). Baslinjen panikerar vid felaktig inmatning (parts[1] index + parse().unwrap()) och returnerar tyst 0 vid saknad port; färdighetsversionen — som strikt följer kroppen — tar &str, returnerar Result<u16, ConfigError> via en thiserror-enum, använder split_once/find_map-iteratorer, inget unwrap, och lägger till 3 #[cfg(test)]-tester. Sex konkreta skillnader, var och en spårbar till en färdighetsregel. Ingen rustc/cargo tillgänglig så jag kompilerade inte (färdighetsversionen använder thiserror); logiken verifierades genom spårning. Dokumentationen är mestadels korrekt men "Microsoft Pragmatic Rust Guidelines"-attribueringen överdriver generiska idiomatiska Rust-råd, vilket kostar en dokumentationspoäng.

Testad: 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.

Kommandon och exempelprompter

  • /rust-best-practicesStyr Rust-kod mot idiomatiska felhantering, lån, iteratorer och asynkrona mönster

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

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