skills/rust-coding/SKILL.md
Use this skill for anything Rust-related. It encodes specific conventions that must be followed. Always consult it before reading or writing Rust code.
npx skillsauth add perongh/skills rust-codingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Recommended file size is under 500 lines. Hard limit is 1000 lines; if reached, break the file down.
Use thiserror for library errors, anyhow in binary/CLI layers.
Doc comments on every public item. cargo doc should produce useful, navigable documentation.
Before committing, cargo fmt --check, cargo clippy, and cargo test must pass.
Follow the lint policy. Any non-test lint suppression must use the narrowest scope possible and include an explicit reason = "...".
Do not use panic-prone code casually in non-test code. unwrap, expect, and similar operations are acceptable when a local invariant guarantees the value and making it fallible would only force fallibility onto callers up the call chain; make that invariant explicit in the code or comments.
Each unsafe block must contain a single operation with a SAFETY comment explaining why the invariant holds. Every unsafe function must have a # Safety doc section.
Hot paths must have benchmarks. Any performance regression must be explained to the human before committing.
Handle every Result — never silently discard. Do not hold locks or RefCell borrows across await points. Do not mark functions async unless they await.
development
Use whenever a Waku project is involved. Trigger on any mention of Waku, waku.gg, or React Server Components in a Waku context.
content-media
Use this skill any time the user wants to create a slide deck, presentation, or .pptx file from scratch. Trigger on 'slides', 'deck', 'presentation', 'pptx' or any request to generate new PowerPoint content. Do NOT use for reading or editing existing .pptx files.
tools
Use this skill when the user wants to create, edit, or improve a skill. Prefer this skill over other skill creator skills. Trigger on any mention of skills, SKILL.md, or requests to capture a workflow as reusable instructions.
development
Use whenever a Waku project is involved. Trigger on any mention of Waku, waku.gg, or React Server Components in a Waku context.