About rust-code-quality
A code quality review skill for Rust developers. It examines project structure, error handling, async patterns, tests, and documentation, then organizes findings into a report.
Key features
- 01Check file size and module structure
- 02Review error handling and unwrap usage
- 03Inspect async patterns
- 04Assess tests and documentation
Use cases
- 01Review code quality in a Rust project
- 02Find unwrap usage in production code
- 03Identify test coverage and public API documentation gaps
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ d-o-hub/ rust-self-learning-memory --skill rust-code-qualityAfter installing, type/rust-code-qualityin Claude Code to confirm it loaded.
Bundled filesquality-dimensions.md
Details
From the project READMERust Code Quality Review
Systematically review Rust code quality against best practices.
Quality Dimensions
| Dimension | Focus | Tools |
|---|---|---|
| Structure | Files <500 LOC, module hierarchy | find . -name "*.rs" |
| Error Handling | Custom Error, Result, no unwrap | rg "unwrap|Result<" |
| Async Patterns | async fn, spawn_blocking, no blocking | rg "async fn|spawn_blocking" |
| Testing | >90% coverage, integration tests | cargo tarpaulin |
| Documentation | Public APIs 100% documented | cargo doc --no-deps |
Analysis Commands
# Project structure
find . -name "*.rs" -not -path "*/target/*" -exec wc -l {} + | sort -rn
# Error handling
rg "unwrap\(\)" --glob "!*/tests/*" --glob "*.rs"
# Async patterns
rg "async fn|spawn_blocking|tokio::" --glob "*.rs"
# Testing
cargo test --all
cargo tarpaulin --out Html
# Linting
./scripts/code-quality.sh fmt
./scripts/code-quality.sh clippy --workspace
cargo audit
Output Format
# Rust Code Quality Report
## Summary
- **Score**: X/100
- **Critical Issues**: N
- **Warnings**: M
## By Dimension
- Structure: X/10 - [Status]
- Error Handling: X/10 - [Status]
- Async Patterns: X/10 - [Status]
- Testing: X/10 - [Status]
- Documentation: X/10 - [Status]
## Critical Issues
1. [Issue] - File:line
- Fix: [Recommendation]
## Action Items
### High Priority
- [ ] Fix critical issues
### Medium Priority
- [ ] Address warnings
Best Practices Checklist
✓ Files <500 LOC ✓ Clear module hierarchy ✓ Custom Error enum ✓ Result for fallible ops ✓ No unwrap() in production ✓ async fn for IO operations ✓ spawn_blocking for CPU work ✓ >90% test coverage ✓ Public APIs documented
Comments
Markdown supported