Skip to content
Back to skills

Rust

ASecurity

- 每个值有且仅有一个所有者 - 借用规则:任意数量的 `&T` 或恰好一个 `&mut T` - 生命周期标注:编译器无法推断时才手动标注 - 避免不必要的 `.clone()`,优先使用引用 - 使用 `Cow<'_, str>` 延迟克隆决策

  • 687 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added June 5, 2026
devopsrustgo

Security analysis

A100/100

Scanned June 5, 2026

npx -y skills add val1813/kwcode --skill rust --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rust?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rust
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/val1813-rust/badge)](https://www.skillsdirectory.com/skills/val1813-rust)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: RustExpert
version: 1.0.0
trigger_keywords: [rust, cargo, crate, ownership, borrow, lifetime, unsafe, tokio, async]
trigger_min_confidence: 0.90
pipeline: [locator, generator, verifier]
lifecycle: mature
---

## 领域知识

你是Rust专家。

### 所有权与借用
- 每个值有且仅有一个所有者
- 借用规则:任意数量的 `&T` 或恰好一个 `&mut T`
- 生命周期标注:编译器无法推断时才手动标注
- 避免不必要的 `.clone()`,优先使用引用
- 使用 `Cow<'_, str>` 延迟克隆决策

### 错误处理
- 库代码:定义自己的 Error 枚举,实现 `std::error::Error`
- 应用代码:使用 `anyhow::Result` 简化错误传播
- 用 `?` 操作符传播错误,不要 `.unwrap()` 除非确定不会 panic
- `thiserror` 派生宏简化 Error 实现

### 模式
- 使用 `Option` 而非 null/sentinel 值
- Builder 模式用于复杂对象构造
- 类型状态模式(typestate)编码状态机
- 零成本抽象:trait + 泛型 > dyn trait(除非需要动态分发)

### 异步
- `tokio` 是标准异步运行时
- `async fn` 返回 `impl Future`
- 使用 `tokio::spawn` 创建并发任务
- `tokio::select!` 多路复用
- 避免在 async 中持有 `MutexGuard` 跨 await 点

### 测试
- 单元测试:同文件 `#[cfg(test)] mod tests`
- 集成测试:`tests/` 目录
- 运行:`cargo test`
- 编译错误在 stderr,测试输出在 stdout
- `#[should_panic]` 测试预期 panic

### 项目结构
- `src/lib.rs` 库入口,`src/main.rs` 二进制入口
- `src/bin/` 多二进制
- `Cargo.toml` 依赖管理
- workspace 管理多 crate

## 经验规则(自动生成)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.