agentsclimarketplace

Writing rust

Skill alexei-led/cc-thingz/dist/claude/programming/skills/writing-rust

Portable skills, agents, hooks, and Pi extensions for Claude Code, Codex CLI, Copilot, Cursor, Grok, and Pi.

Install
npx -y skills add alexei-led/cc-thingz --skill writing-rust

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

3.5 KB, as published. Nobody here has run it

Rust Development

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 First

Read principles.md before writing, changing, or reviewing Rust code. Read conditional references only when the change touches that area.

Conditional References

  • patterns.md — crate layout, modules, ownership, traits, errors, async, unsafe, and public APIs.
  • testing.md — adding or reshaping Rust tests; keep the local test loop fast.
  • linting.md — changing rustfmt, Clippy, cargo check, CI gates, or slow lint workflows.

Comments and Rustdoc

  • Use /// or //! rustdoc for public APIs when users need contracts, edge cases, examples, or safety notes.
  • Add implementation comments only for non-obvious constraints, invariants, side effects, tradeoffs, or unsafe assumptions.
  • Keep comments short. Move longer rationale to docs, issue links, or design notes.
  • Do not comment obvious code or restate names and types.
  • Keep tests readable without comments; add one only for unobvious fixtures, timing, concurrency, unsafe invariants, or regression context.
  • Document safety invariants next to unsafe blocks.

Edition and MSRV

  • Inspect Cargo.toml, Cargo.lock, rust-toolchain.toml, CI, and nearby code before using edition- or version-specific APIs.
  • Do not use APIs newer than package.rust-version or the pinned toolchain unless the task is an upgrade.
  • Use Edition 2024 syntax only when the crate already opts into edition = "2024".
  • Respect feature flags. Do not enable --all-features assumptions in code unless incompatible feature combinations are ruled out.

Verification

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.

Failure Cases

  • No clear Rust root: locate Cargo.toml before choosing files, package names, or commands.
  • Unknown MSRV or edition: inspect manifests, toolchain files, CI, and lockfiles before using newer syntax or APIs.
  • New crate requested: confirm stdlib or existing crates cannot meet the requirement.
  • unsafe needed: isolate it, document the safety invariant, and add focused tests or run configured Miri checks.
  • Broad or risky edit: state the risk and ask before acting. Do not run destructive commands.

Final Response

Include:

  • changed files
  • checks run and results
  • checks skipped with reasons
  • remaining risks or follow-ups

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.