Skip to content
Development
Skill

/rust-review

Audits Rust code for unsafe blocks, ownership issues, and Cargo dependency risks. Use when reviewing Rust code or before merging Rust changes.

From plugin
claude-night-market
343200 skills60 agents162 commands1 MCP

Claude Code

$ npx -y skills add athola/claude-night-market --skill rust-review --agent claude-code

SKILL.md

rust-review.SKILL.md
name: rust-review
description: Audits Rust code for unsafe blocks, ownership issues, and Cargo dependency risks. Use when reviewing Rust code or before merging Rust changes.
globs: "**/*.rs"
alwaysApply: false
category: code-review
tags:
- rust
- ownership
- concurrency
- unsafe
- traits
- cargo
tools: []
usage_patterns:
- rust-audit
- unsafe-review
- dependency-audit
- concurrency-analysis
complexity: advanced
estimated_tokens: 400
progressive_loading: true
dependencies:
- imbue:proof-of-work
- imbue:review-core
- imbue:structured-output
modules:
- ownership-analysis.md
- error-handling.md
- concurrency-patterns.md
- unsafe-audit.md
- cargo-dependencies.md
- silent-returns.md
- collection-types.md
- sql-injection.md
- cfg-test-misuse.md
- error-messages.md
- duplicate-validators.md
- builtin-preference.md
- native-type-modeling.md
- idiomatic-elision.md
- coercion-params.md
- conversion-traits.md
- numeric-cast-safety.md
- mutable-static-audit.md
- match-wildcard.md
- transmute-audit.md
- float-equality.md
- mem-forget-audit.md
- repr-packed-audit.md
- model-specific-tells.md
- iterator-and-allocation-slop.md
- test-slop.md
- async-slop.md

Rust Review Workflow

Expert-level Rust code audits with focus on safety, correctness, and idiomatic patterns.

Quick Start

/rust-review

**Verification:** Run the command with `--help` flag to verify availability.

When To Use

  • Reviewing Rust code changes
  • Auditing unsafe blocks
  • Analyzing concurrency patterns
  • Dependency security review
  • Performance optimization review

When NOT To Use

  • General code review without Rust - use unified-review
  • Performance profiling - use parseltongue:python-performance pattern

Required Progress Items

1. `rust-review:ownership-analysis` 2. `rust-review:error-handling` 3. `rust-review:concurrency` 4. `rust-review:unsafe-audit` 5. `rust-review:cargo-deps` 6. `rust-review:native-modeling` 7. `rust-review:idiomatic-elision` 8. `rust-review:coercion-params` 9. `rust-review:conversion-traits` 10. `rust-review:numeric-cast-safety` 11. `rust-review:mutable-static-audit` 12. `rust-review:match-wildcard` 13. `rust-review:transmute-audit` 14. `rust-review:float-equality` 15. `rust-review:mem-forget-audit` 16. `rust-review:repr-packed-audit` 17. `rust-review:evidence-log` 18. `rust-review:findings-verified`

Progressive Loading

Load modules as needed based on review scope:

**Quick Review** (ownership and errors):

  • See `modules/ownership-analysis.md` for borrowing and lifetime analysis
  • See `modules/error-handling.md` for Result/Option patterns

**Concurrency Focus**:

  • See `modules/concurrency-patterns.md` for async and sync primitives

**Safety Audit**:

  • See `modules/unsafe-audit.md` for unsafe block documentation
  • See `modules/mutable-static-audit.md` for `static mut` globals and

their thread-safe replacements

  • See `modules/numeric-cast-safety.md` for truncating and

precision-losing `as` casts

  • See `modules/match-wildcard.md` for catch-all arms that defeat enum

exhaustiveness

  • See `modules/transmute-audit.md` for `mem::transmute`/`transmute_copy`

calls that reinterpret bytes with no layout check

  • See `modules/repr-packed-audit.md` for `#[repr(packed)]` layouts whose

field borrows become unaligned references

**Correctness Audit**:

  • See `modules/float-equality.md` for `==`/`!=` against float literals
  • See `modules/mem-forget-audit.md` for `mem::forget` leaks and no-op

`drop(&x)` reference drops

**Dependency Review**:

  • See `modules/cargo-dependencies.md` for vulnerability scanning

**Idiomatic Patterns**:

  • See `modules/builtin-preference.md` for conversion traits and builtin preference
  • See `modules/native-type-modeling.md` for enums-over-primitives,

newtype, type-state, and derived ordering

  • See `modules/idiomatic-elision.md` for lifetime elision,

expression-oriented returns, and explicit `-> ()` unit returns

  • See `modules/coercion-params.md` for `&String`/`&Vec<T>`/`&PathBuf`

parameters that defeat deref coercion (prefer `&str`/`&[T]`/`&Path`)

  • See `modules/conversion-traits.md` for `impl Into` that should be

`impl From`, and discarded `try_into().unwrap()` conversion errors

Core Workflow

1. **Ownership Analysis**: Check borrowing, lifetimes, clone patterns 2. **Error Handling**: Verify Result/Option usage, propagation 3. **Concurrency**: Review async patterns, sync primitives 4. **Unsafe Audit**: Document invariants, FFI contracts 5. **Dependencies**: Scan for vulnerabilities, updates 6. **Evidence Log**: Record commands and findings

Rust Quality Checklist

Safety

  • [ ] All unsafe blocks documented with SAFETY comments
  • [ ] FFI boundaries properly wrapped
  • [ ] Memory safety invariants maintained
  • [ ] No `static mut` globals; shared state uses `OnceLock`/`LazyLock`,

atomics, or a `Mutex`/`RwLock`

  • [ ] No `mem::transmute`/`transmute_copy`; bytes converted with

`from_le_bytes`/`from_bits`/`bytemuck` or pointers with `.cast()`

  • [ ] `#[repr(packed)]` fields copied out before borrowing (no unaligned

references)

  • [ ] No `mem::forget` leaks (use `ManuallyDrop`/scope) and no no-op

`drop(&x)` reference drops

  • [ ] `mlock`/`munlock` calls: RLIMIT verified, page-aligned,

ENOMEM handled

Correctness

  • [ ] Error handling complete
  • [ ] Concurrency patterns sound
  • [ ] Lossy `as` casts (length truncation, `as u8`/`i8`, `as f32`)

replaced with `TryFrom`/`From`

  • [ ] Enum matches exhaustive; no `_ => unreachable!()`/`panic!`/`{}`

catch-alls

  • [ ] Floats compared with a tolerance, not exact `==`/`!=` against a

float literal

  • [ ] Tests cover critical paths

Performance

  • [ ] No unnecessary allocations
  • [ ] Borrowing preferred over cloning
  • [ ] Async properly non-blocking

Idioms

  • [ ] Standard traits implemented
  • [ ] Conversion traits preferred over helper functions
  • [ ] Stringly-typed values and boolean flags modeled as enums
  • [ ] Domain invariants encoded with newtypes (private field +

validating constru

Read more
@athola
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

343200 skills60 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
343
Star history of athola/claude-night-market on GitHub, a chart by star-history.com

Other skills on claude-night-market.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about rust-review.

Which coding agents can use rust-review?
rust-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.