rust-doc-comment-generator
mxsm/rocketmq-rust/.agents/skills/rust-doc-comment-generator/SKILL.md
Generate idiomatic, production-grade Rust comments and documentation strictly following official Rustdoc and Rust API documentation conventions. Designed for real-world Rust projects with zero AI-identifiable markers.
Skill1.5k starsChanged 3 months ago
---
name: rust-doc-comment-generator
description: Generate idiomatic, production-grade Rust comments and documentation strictly following official Rustdoc and Rust API documentation conventions. Designed for real-world Rust projects with zero AI-identifiable markers.
---
# Rust Documentation & Comment Generator Skill
## Overview
This skill generates **standard-compliant Rust comments and documentation** for Rust source code.
It strictly follows Rust’s official documentation guidelines and produces output suitable for
**production-quality open-source and enterprise Rust projects**.
The generated comments are:
- Idiomatic and precise
- Free of AI-identifiable artifacts
- Fully aligned with Rustdoc conventions
- Suitable for blocking, async, and unsafe code
## Standards & References
This skill MUST comply with the following authoritative sources:
- Rust API Guidelines — Documentation
https://rust-lang.github.io/api-guidelines/documentation.html
- The Rustdoc Book
https://doc.rust-lang.org/rustdoc/
- Rust Style Guide
https://doc.rust-lang.org/style-guide/
## Supported Targets
This skill applies to the following Rust items:
- `struct`, `enum`, `union`
- `trait`
- `impl` blocks
- `fn` / `async fn`
- Modules (`mod`)
- `unsafe` blocks and functions
## Comment & Documentation Rules
### 1. Comment Types
| Context | Format |
|-------------------------------|-----------------------|
| Public item | `///` Rustdoc comment |
| Module-level documentation | `//!` |
| Private implementation detail | `//` |
| Unsafe API explanation | `/// # Safety` |
### 2. Rustdoc Section Usage
Rustdoc sections MUST be included **only when semantically relevant**:
- `# Examples`
- `# Panics`
- `# Errors`
- `# Safety`
- `# Performance`
Empty or boilerplate sections are not allowed.
### 3. Language & Tone
- Use formal, neutral, technical language
- Avoid conversational or instructional phrasing
- Avoid marketing or subjective language
- Describe behavior, constraints, and guarantees precisely
✅ Correct:
> Represents the configuration used by the message consumer.
❌ Incorrect:
> This struct is very useful and highly optimized.
### 4. Blocking vs Async Behavior
#### Blocking APIs
Blocking behavior MUST be explicitly documented.
```rust
/// Blocks the current thread until a message is available.
```
#### Async / Non-Blocking APIs
Async behavior MUST be explicitly documented.
```rust
/// Asynchronously waits for the next message.
///
/// This function does not block the calling thread.
```
### 5. Unsafe Code Documentation
Any `unsafe` function or block MUST include a `# Safety` section.
```rust
/// # Safety
///
/// The caller must ensure that the pointer is valid and properly aligned
/// for the duration of the call.
```
Vague or generic safety statements are forbidden.
## Forbidden Content
The output MUST NOT contain:
- Emojis
- Phase or workflow markers (e.g. `Phase`, `Step`, `Optimize`)
- TODO / FIXME / NOTE meta-comments
- AI-related indicators or explanations
- Commentary about refactoring or future improvements
## Input Expectations
The user may provide:
- Undocumented Rust code
- Partially documented Rust code
- Rust code with non-standard or low-quality comments
## Output Expectations
The skill MUST:
1. Preserve existing correct Rustdoc comments
2. Rewrite non-standard comments into idiomatic Rustdoc
3. Add missing documentation where appropriate
4. Never change code semantics
5. Never introduce new APIs or rename identifiers
## Example
### Input
```rust
pub struct MessageQueue {
capacity: usize,
}
```
### Output
```rust
/// Represents a bounded message queue.
///
/// The queue can store messages up to a fixed capacity.
pub struct MessageQueue {
capacity: usize,
}
```
## Non-Goals
This skill does NOT:
- Refactor code
- Optimize performance
- Rename symbols
- Add logging
- Generate tests
## Compatibility
This skill is designed to work alongside:
- Rust API naming validation skills
- Safety auditing skills
- Project-specific glossary enforcement skills
Each skill operates independently and does not overlap responsibilities.Discussion
Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.
Posts are public.Sign in to post
No one has posted yet. Be the first.

