Use when writing, auditing, or generating documentation for Rust projects — covers docstring conventions, API doc extraction, and Rust-specific patterns.
From docs-guardiannpx claudepluginhub xiaolai/claude-plugin-marketplace --plugin docs-guardianThis skill uses the workspace's default tool permissions.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
A symbol is public if it has the pub visibility modifier:
| Pattern | Public? |
|---|---|
pub fn name( | Yes |
pub struct Name | Yes |
pub enum Name | Yes |
pub trait Name | Yes |
pub type Name = | Yes |
pub const NAME: | Yes |
pub(crate) fn name( | Crate-internal, exclude from external docs |
pub(super) fn name( | Module-internal, exclude |
fn name( (no pub) | No |
Only pub (fully public) items require documentation. pub(crate) and pub(super) are internal.
| Type | Detection | Documentation Expected |
|---|---|---|
| Functions | pub fn | /// doc comment with params, returns, errors |
| Structs | pub struct | /// on struct + /// on each pub field |
| Enums | pub enum | /// on enum + /// on each variant |
| Traits | pub trait | /// on trait + /// on each method |
| Impl blocks | impl Name | /// on each pub method |
| Type aliases | pub type | /// describing the alias |
| Constants | pub const | /// one-liner |
| Modules | pub mod | //! module doc or /// on mod declaration |
///)/// Processes the input data and returns results.
///
/// # Arguments
///
/// * `input` - The raw input data to process.
/// * `config` - Processing configuration.
///
/// # Returns
///
/// A vector of processed results.
///
/// # Errors
///
/// Returns `ProcessError` if the input is malformed.
///
/// # Examples
///
/// ```
/// let results = process_data(&input, &config)?;
/// assert!(!results.is_empty());
/// ```
pub fn process_data(input: &[u8], config: &Config) -> Result<Vec<Result>, ProcessError> {
//!)Used for module/crate-level documentation:
//! # Auth Module
//!
//! Provides user authentication and session management.
A Rust symbol is fully documented when:
/// doc comment (not empty)# Arguments section lists all parameters (for functions with params)# Returns section describes return value (if not ())# Errors section lists error conditions (if returns Result)# Examples section with working code block (recommended)#[doc(hidden)]: exclude from documentation coverage#[cfg(test)] modules: excludepub use): document at origin, not re-export siteSource files: **/*.rs
Exclude: target/, **/tests.rs, **/test_*.rs, files in #[cfg(test)] modules