smithery.ai

rust-docs-guidelines

Guidelines for writing Rust documentation. Use this when you want to write Rust documentation.

First seen Mar 20, 2026

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,186 B
  • docs SUMMARY.md 69 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 9 installs

SKILL.md

Rust Docs Guidelines

Standards to follow when writing Rust documentation.

Guidelines

  • Key concepts should be explained only once. All other documentation should use an intra-documentation link to the first explanation.
  • Always use an intra-documentation link when mentioning a Rust symbol (type, function, constant, etc.).
  • In a # Safety section, link the word valid to std's pointer-validity rules: write it as

[valid] and put this reference definition at the end of the doc block — ``text [valid]: https://doc.rust-lang.org/std/ptr/index.html#safety ` Only where it means pointer or memory validity — valid UTF-8, a valid enum variant, a valid nul terminator and a by-value struct whose fields must agree keep their plain form, since std's definition says nothing about them. A duration clause such as "must remain valid for the lifetime of the returned iterator" does mean it, so link it as well; the duration it adds is orthogonal to what validity means. A callback parameter is the other way round: std's rules cover accesses through data pointers, not whether an address is callable under a given ABI, so require the signature to be [ABI-compatible] instead and define it as — `text [ABI-compatible]: https://doc.rust-lang.org/std/primitive.fn.html#abi-compatibility ` Non-doc // SAFETY:` comments keep the plain form too: rustdoc does not render them, so the brackets would stay literal text.

  • Avoid referring to specific lines or line ranges, as they may change over time.

Use line comments if the documentation needs to be attached to a specific code section inside a function/method body.

  • Focus on why, not how.

In particular, avoid explaining trivial implementation details in line comments.

  • Refer to constants using intra-documentation links. Don't hard-code their values in the documentation of other items.
  • Intra-documentation links to private items are preferable to duplication. Add #[allow(rustdoc::privateintradoc_links)] where relevant.