Rust Best Practices

Kieruje kod Rust w stronę idiomatycznej obsługi błędów, pożyczania, iteratorów i wzorców asynchronicznych

Autor: majiayu000 · majiayu000/spellbook

Testowano · Działa ★ 8.8/10

Rust Best Practices — Kieruje kod Rust w stronę idiomatycznej obsługi błędów, pożyczania, iteratorów i wzorców asynchronicznych

Co robi ten skill

Umiejętność prowadząca, która kieruje kod Rust w stronę idiomatycznych wzorców: obsługa błędów Result/thiserror, borrowing zamiast ownership, iteratory, brak unwrap oraz konwencje cargo/clippy/tokio. Uruchamia się podczas pisania, przeglądania lub optymalizowania kodu Rust lub radzenia sobie z lifetimes, borrow checker i async Rust.

Raport z testu

Pobrano SKILL.md raw (HTTP 200); frontmatter parsował z name+description i allowed-tools. Treść jest w pełni samodzielna — brak referencji do plików/scripts do sprawdzenia, brak security smells (brak curl|sh, base64, exfiltration lub injection text), brak hardcoded paths. Frazy wyzwalające — POWINNO (wszystkie ocenione jako ładowane): "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"; NIE POWINNO (oba ocenione jako pomijane): "optimize my Python script's memory usage" (memory/optimize, ale nie Rust), "explain the history of the Rust programming language" (Rust nazwany, ale nie pisanie/przeglądanie/optymalizowanie kodu) — 5/5. Test output: napisałem parser konfiguracji get_port na dwa sposoby w /tmp scratchpad (baseline.rs, skill.rs). Baseline panikuje na źle sformułowanym wejściu (parts[1] index + parse().unwrap()) i cicho zwraca 0 na brakującym porcie; wersja umiejętności — ściśle przestrzegając treści — przyjmuje &str, zwraca Result<u16, ConfigError> via thiserror enum, używa split_once/find_map iterators, brak unwrap i dodaje 3 #[cfg(test)] tests. Sześć konkretnych różnic, każda możliwa do prześledzenia do reguły umiejętności. Brak rustc/cargo, więc nie kompilowałem (wersja umiejętności używa thiserror); logika zweryfikowana przez śledzenie. Dokumentacja w większości dokładna, ale przypisanie "Microsoft Pragmatic Rust Guidelines" przesadza z ogólnymi poradami idiomatycznymi dla Rust, kosztując jeden punkt w dokumentacji.

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

Instalacja

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.

Komendy i przykładowe prompty

  • /rust-best-practicesKieruje kod Rust w stronę idiomatycznej obsługi błędów, pożyczania, iteratorów i wzorców asynchronicznych

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

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