Rust Best Practices

Dirige el código Rust hacia el manejo idiomático de errores, borrowing, iteradores y patrones asíncronos

Por majiayu000 · majiayu000/spellbook

Probado · Funciona ★ 8.8/10

Rust Best Practices — Dirige el código Rust hacia el manejo idiomático de errores, borrowing, iteradores y patrones asíncronos

Qué hace

Habilidad de guía que dirige el código Rust hacia patrones idiomáticos: manejo de errores Result/thiserror, borrowing sobre ownership, iteradores, sin unwrap, y convenciones de cargo/clippy/tokio. Se activa al escribir, revisar u optimizar código Rust o al tratar con lifetimes, el borrow checker y Rust asíncrono.

Informe de la prueba

Se obtuvo SKILL.md en bruto (HTTP 200); el frontmatter se analiza con name+description y allowed-tools. El cuerpo es completamente autocontenido — sin referencias a archivos/scripts para verificar, sin problemas de seguridad (sin curl|sh, base64, exfiltración o texto de inyección), sin rutas codificadas. Frases de activación — DEBERÍA (todas juzgadas como carga): "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"; NO DEBERÍA (ambas juzgadas como salto): "optimize my Python script's memory usage" (memory/optimize pero no Rust), "explain the history of the Rust programming language" (Rust nombrado pero no escribiendo/revisando/optimizando código) — 5/5. Prueba de salida: escribí un analizador de configuración get_port de dos maneras en el bloc de notas /tmp (baseline.rs, skill.rs). La línea base entra en pánico con entrada malformada (índice parts[1] + parse().unwrap()) y devuelve silenciosamente 0 en caso de puerto faltante; la versión de la habilidad — siguiendo estrictamente el cuerpo — toma &str, devuelve Result<u16, ConfigError> a través de un enum thiserror, usa iteradores split_once/find_map, sin unwrap, y añade 3 pruebas #[cfg(test)]. Seis diferencias concretas, cada una rastreable a una regla de la habilidad. No había rustc/cargo disponible, así que no compilé (la versión de la habilidad usa thiserror); lógica verificada por rastreo. La documentación es mayormente precisa, pero la atribución "Microsoft Pragmatic Rust Guidelines" exagera el consejo genérico de Rust idiomático, lo que cuesta un punto en la documentación.

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

Instalación

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.

Comandos y prompts de ejemplo

  • /rust-best-practicesDirige el código Rust hacia el manejo idiomático de errores, borrowing, iteradores y patrones asíncronos

Los skills se activan con peticiones en lenguaje natural, sin comandos que memorizar. Tras instalarlo, prompts como estos lo activan (en inglés):

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