rust-conventions
Idiomatic Rust conventions — ownership, naming, module structure, documentation, and dependency management
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Idiomatic Rust conventions — ownership, naming, module structure, documentation, and dependency management
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Health check procedures D1–D14 for the Audit agent — structural validation, attention budget, version checks, workspace integrity, and static audit
Configure and manage Model Context Protocol servers for external tool access
Review a UI for accessibility — WCAG 2.1 AA compliance, semantic HTML, ARIA usage, keyboard navigation, focus management, colour contrast, and screen reader compatibility
Design or review a REST or GraphQL API — resource modeling, versioning strategy, error contract, OpenAPI/schema-first workflow, and security baseline
Generate a CHANGELOG.md entry from staged changes, a commit range, or a PR diff — following Keep a Changelog format with conventional commit classification
Set up and audit environment variable management — create .env.example, add startup validation, separate secrets from config, and document every variable
| name | rust-conventions |
| description | Idiomatic Rust conventions — ownership, naming, module structure, documentation, and dependency management |
| compatibility | >=1.4 |
Skill metadata: version "1.0"; license MIT; tags [rust, cargo, ownership, conventions]; recommended tools [codebase, editFiles].
Applies to: **/*.rs
snake_case for functions, methods, variables, and modules. Use PascalCase for types, traits, and enum variants. Use SCREAMING_SNAKE_CASE for constants and statics.&T, &mut T) over ownership transfer unless the function needs to consume the value.impl Trait in argument position for simple generic bounds. Use named generics for complex bounds.Debug, Clone, PartialEq) for data types unless there is a reason not to.pub(crate) for internal visibility — avoid pub on implementation details.///) for all public items. Include examples in doc comments for complex functions.cargo fmt for formatting — do not override rustfmt defaults without team agreement.Cargo.lock for binaries. Libraries should use semver ranges in Cargo.toml..clone() unless necessary — prefer references. When cloning, consider whether Cow<'_, T> is more appropriate.map, filter, collect) over manual loops where readability is preserved.String for owned data and &str for borrowed string parameters.