dist/codex/plugins/programming/skills/writing-rust/SKILL.md
Idiomatic Rust development. Use when writing Rust code, Cargo crates/workspaces, Rust tests, or rustfmt/clippy/cargo workflows. Emphasizes ownership, Result errors, small APIs, stdlib-first dependencies, fast cargo feedback, and behavior tests. NOT for Go, Python, TypeScript, shell scripts, or infra-only work.
npx skillsauth add alexei-led/claude-code-config writing-rustInstall 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.
Use only for Rust crates and Cargo workspaces. Follow the crate's edition, MSRV,
toolchain file, CI, and local style. Rust CLI development (clap, argument
parsing, subcommands) is in scope; apply patterns.md and testing.md — there
is no dedicated CLI reference.
Read principles.md before writing, changing, or reviewing Rust code. Read conditional references only when the change touches that area.
/// or //! rustdoc for public APIs when users need contracts, edge cases, examples, or safety notes.unsafe blocks.Cargo.toml, Cargo.lock, rust-toolchain.toml, CI, and nearby code before using edition- or version-specific APIs.package.rust-version or the pinned toolchain unless the task is an upgrade.edition = "2024".--all-features assumptions in code unless incompatible feature combinations are ruled out.Run focused Cargo checks while editing, then the project-configured build, tests, format, and lint before final output. Prefer:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test --all-targets
Use cargo nextest run when the project already uses nextest. Run cargo test --doc separately when doctests matter because nextest does not run doctests.
If a check is unavailable, state that and run the closest configured gate. If a check fails, quote the failure, diagnose the cause, fix one issue, and rerun the relevant check.
Cargo.toml before choosing files, package names, or commands.unsafe needed: isolate it, document the safety invariant, and add focused tests or run configured Miri checks.Include:
tools
Use when planning, executing, checkpointing, finishing, or inspecting lightweight spec-driven work. Runs one task at a time using `.spec/` markdown files and the bundled `specctl` helper. NOT for broad product discovery beyond a short requirement interview. NOT for generic implementation planning that does not read or write `.spec/` files.
development
Simple web development with HTML, CSS, JS, and HTMX. Use when working with .html, .css, or .htmx files, web templates, stylesheets, or vanilla JS scripts. NOT for React/Vue/Angular (use writing-typescript) or Node.js backends.
tools
Idiomatic TypeScript development. Use when writing TypeScript code, Node.js services, React apps, or TypeScript design advice. Emphasizes strict typing, boundary validation, composition, fast feedback, behavior tests, and project-configured tooling. NOT for Go, Python, Rust, plain HTML/CSS/JS, or server-rendered templates (use writing-web).
tools
Idiomatic shell development for POSIX sh, Bash, Zsh, Fish, hooks, CI shell steps, and scriptable CLI glue. Use when writing or changing `.sh`, `.bash`, `.zsh`, `.fish`, `.bats`, shell functions, shell pipelines, CI `run:` shell bodies, or command-runner recipes. Emphasizes portability, quoting, safe filesystem/process handling, non-TUI CLI tools, ShellCheck, shfmt, Bats, and ShellSpec. NOT for Python, Rust, TypeScript, Go, web code, or GitHub Actions workflow/job/permissions semantics; use operating-infra.