Rust Best Practices
Kieruje kod Rust w stronę idiomatycznej obsługi błędów, pożyczania, iteratorów i wzorców asynchronicznych
Testowano · Działa
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 patternsFix this borrow checker error in my functionOptimize this async Rust code for performance