Rust Best Practices

Styrer Rust-kode mot idiomatiske feilhåndtering, låning, iteratorer og asynkrone mønstre

av majiayu000 · majiayu000/spellbook

Bestått ★ 8.8/10

Rust Best Practices — Styrer Rust-kode mot idiomatiske feilhåndtering, låning, iteratorer og asynkrone mønstre

Hva den gjør

Veiledningsferdighet som styrer Rust-kode mot idiomatiske mønstre: Result/thiserror feilhåndtering, låning over eierskap, iteratorer, ingen unwrap, og cargo/clippy/tokio konvensjoner. Utløses når man skriver, gjennomgår eller optimaliserer Rust-kode eller håndterer lifetimes, borrow checker og asynkron Rust.

Testrapport

Hentet SKILL.md rå (HTTP 200); frontmatter parses med name+description og allowed-tools. Kroppen er fullt selvstendig — ingen fil-/skriptreferanser å stikkprøve, ingen sikkerhetsbrister (ingen curl|sh, base64, eksfiltrering eller injeksjonstekst), ingen hardkodede stier. Utløserformuleringer — SKAL (alle vurdert som last): "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 vurdert som hopp over): "optimize my Python script's memory usage" (minne/optimaliser, men ikke Rust), "explain the history of the Rust programming language" (Rust navngitt, men ikke skriving/gjennomgang/optimalisering av kode) — 5/5. Output-test: skrev en get_port config parser på to måter i /tmp scratchpad (baseline.rs, skill.rs). Baseline panikker ved feilformet input (parts[1] index + parse().unwrap()) og returnerer stille 0 ved manglende port; ferdighetsversjonen — som følger kroppen strengt — tar &str, returnerer Result<u16, ConfigError> via en thiserror enum, bruker split_once/find_map iteratorer, ingen unwrap, og legger til 3 #[cfg(test)] tester. Seks konkrete forskjeller, hver sporbar til en ferdighetsregel. Ingen rustc/cargo tilgjengelig, så jeg kompilerte ikke (ferdighetsversjonen bruker thiserror); logikk verifisert ved sporing. Dokumentasjonen er stort sett nøyaktig, men "Microsoft Pragmatic Rust Guidelines"-attribueringen overselger generisk idiomatisk-Rust-råd, noe som koster ett dokumentasjonspoeng.

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

Installer

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 mot idiomatiske feilhåndtering, låning, iteratorer og asynkrone mønstre

Skills utløses av vanlige forespørsler — ingen kommandoer å huske. Etter installasjonen 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