Rust Best Practices

Směřuje Rust kód k idiomatickému zpracování chyb, půjčování, iterátorům a asynchronním vzorům

od majiayu000 · majiayu000/spellbook

Otestováno · Funguje ★ 8.8/10

Rust Best Practices — Směřuje Rust kód k idiomatickému zpracování chyb, půjčování, iterátorům a asynchronním vzorům

Co umí

Dovednost, která směřuje Rust kód k idiomatickým vzorům: zpracování chyb Result/thiserror, půjčování namísto vlastnictví, iterátory, žádné unwrap a konvence cargo/clippy/tokio. Spouští se při psaní, revizi nebo optimalizaci Rust kódu nebo při práci s lifetimes, borrow checkerem a async Rust.

Testovací report

Načten SKILL.md raw (HTTP 200); frontmatter se parsuje s name+description a allowed-tools. Tělo je plně soběstačné — žádné odkazy na soubory/skripty k namátkové kontrole, žádné bezpečnostní problémy (žádné curl|sh, base64, exfiltrace nebo injekční text), žádné pevně zakódované cesty. Spouštěcí fráze — MĚLO BY (všechny posouzeny jako načtení): "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"; NEMĚLO BY (obě posouzeny jako přeskočení): "optimize my Python script's memory usage" (memory/optimize, ale ne Rust), "explain the history of the Rust programming language" (Rust jmenován, ale ne psaní/revize/optimalizace kódu) — 5/5. Výstupní test: napsán parser konfigurace get_port dvěma způsoby v /tmp scratchpad (baseline.rs, skill.rs). Základní verze panikuje na špatně formátovaném vstupu (parts[1] index + parse().unwrap()) a tiše vrací 0 při chybějícím portu; verze s dovedností — striktně se řídící tělem — přijímá &str, vrací Result<u16, ConfigError> přes enum thiserror, používá iterátory split_once/find_map, žádné unwrap a přidává 3 #[cfg(test)] testy. Šest konkrétních rozdílů, každý dohledatelný k pravidlu dovednosti. Žádné rustc/cargo k dispozici, takže jsem nekompiloval (verze dovednosti uses thiserror); logika ověřena trasováním. Dokumentace většinou přesná, ale atribuce "Microsoft Pragmatic Rust Guidelines" přehání obecné idiomatické Rust rady, což stojí jeden bod v dokumentaci.

Testováno: 2026-07-31 · Claude Code 2.x (agent harness)

Instalace

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.

Příkazy a ukázkové prompty

  • /rust-best-practicesSměřuje Rust kód k idiomatickému zpracování chyb, půjčování, iterátorům a asynchronním vzorům

Skilly se spouštějí běžnými požadavky — žádné příkazy k zapamatování. Po instalaci ho aktivují prompty jako tyto (anglicky):

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