AgentSkillsCN

rust-code-quality

依据异步 Rust、错误处理、测试规范以及项目结构的最佳实践,对 Rust 代码进行全面质量评审。

SKILL.md
--- frontmatter
name: rust-code-quality
description: Perform comprehensive Rust code quality reviews against best practices for async Rust, error handling, testing, and project structure

Rust Code Quality Review

Systematically review Rust code quality against best practices.

Quality Dimensions

DimensionFocusTools
StructureFiles <500 LOC, module hierarchyfind . -name "*.rs"
Error HandlingCustom Error, Result<T>, no unwraprg "unwrap|Result<"
Async Patternsasync fn, spawn_blocking, no blockingrg "async fn|spawn_blocking"
Testing>90% coverage, integration testscargo tarpaulin
DocumentationPublic APIs 100% documentedcargo doc --no-deps

Analysis Commands

bash
# 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
cargo fmt -- --check
cargo clippy --all -- -D warnings
cargo audit

Output Format

markdown
# 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<T> for fallible ops ✓ No unwrap() in production ✓ async fn for IO operations ✓ spawn_blocking for CPU work ✓ >90% test coverage ✓ Public APIs documented