Agent skill

Rust Doc

by rocky-data in rocky-data/rocky

Rust documentation conventions (RFC 1574) for public items in the Rocky engine.

Apache-2.0Auto-check passedDatabases

Install Rust Doc

skills CLI
$ npx skills add rocky-data/rocky --skill rust-doc -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rocky-data/rocky rust-doc --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .claude/skills && cp -r skills-src/engine/.claude/skills/rust-doc .claude/skills/rust-doc && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rust-doc
GitHub stars
304
Token cost
~1.4k tokens
SKILL.md length
377 words
Files
1
Skills in repo
22
Repo updated
First seen
Licence
Apache-2.0

At a glance

Rust documentation conventions (RFC 1574) for public items in the Rocky engine.

  • Reviewing doc comments on anything pub in the engine crates — summary sentences
  • SKILL.md covers Where this applies in Rocky, Summary Sentence, Comment Style and Section Headings, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Section headings

What it does

Rust Doc is an agent skill from rocky-data/rocky. Rust documentation conventions (RFC 1574) for public items in the Rocky engine. Use when writing or reviewing doc comments on anything pub in the engine crates — summary sentences, section headings, type references, examples, Errors/Panics/Safety sections.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Databases. It works with Rust and SQL. The repository describes itself as: A SQL transformation engine that type-checks your whole pipeline and catches breaking changes before they run — branches, replay, column-level lineage, compile-time contracts… The licence is Apache-2.0.

When your agent uses it

  • Reviewing doc comments on anything pub in the engine crates — summary sentences
  • Section headings
  • Type references
  • Errors/Panics/Safety sections

Example prompts

  • “/rust-doc”

What it can do on your machine

Read from SKILL.md and the folder at commit 0cb7c7b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are rust).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • gist.github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rust Doc loads about 1.4k tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 377 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~67
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rocky-data/rocky at commit 0cb7c7b, republished under its Apache-2.0 licence (© rocky-data). 377 words, ~1,393 tokens.

Download SKILL.mdSave it as .claude/skills/rust-doc/SKILL.md (or your agent's skills folder).
name
rust-doc
description
Rust documentation conventions (RFC 1574) for public items in the Rocky engine. Use when writing or reviewing doc comments on anything `pub` in the engine crates — summary sentences, section headings, type references, examples, Errors/Panics/Safety sections.

Rust doc conventions for Rocky

Source: vendored from davidbarsky/8fae6dc45c294297db582378284bd1f2 @ 191b2ee46088920de97d682561e2abd1edd64a42 (SKILL-1.md). Author: David Barsky (rust-analyzer / tokio-rs tracing contributor). RFC 1574 is the canonical Rust API Guidelines source.

Where this applies in Rocky

These rules apply to every pub item in the engine. In practice that's concentrated in the public-API crates:

  • rocky-core — generic SQL transformation engine (IR, Plan, MaterializationStrategy, DAG, catalog, checks, contracts, config)
  • rocky-adapter-sdk — public adapter traits for third-party warehouse adapters
  • rocky-sql — parser, dialect, validation, transpile, lineage
  • rocky-lang / rocky-compiler — DSL surface that's consumed by the LSP
  • rocky-cli output types (*Output structs in crates/rocky-cli/src/output.rs) — these are part of the JSON schema contract, so their doc comments flow into the Pydantic + TypeScript generated bindings via schemars. Under-documented output fields mean under-documented Dagster types.

Internal-only pub(crate) items don't need the full treatment, but a summary sentence is always cheap and worth keeping.

Summary Sentence

Every doc comment starts with a single-line summary sentence.

rust
// DO: third person singular present indicative, ends with period
/// Returns the length of the string.
/// Creates a new instance with default settings.
/// Parses the input and returns the result.

// DON'T: imperative, missing period, or verbose
/// Return the length of the string
/// This function creates a new instance with default settings.
/// Use this to parse the input and get the result back.

Comment Style

Use line comments, not block comments.

rust
// DO
/// Summary sentence here.
///
/// More details if needed.

// DON'T
/**
 * Summary sentence here.
 *
 * More details if needed.
 */

Use //! only for crate-level and module-level docs at the top of the file.

Section Headings

Use these exact headings (always plural):

rust
/// Summary sentence.
///
/// # Examples
///
/// # Panics
///
/// # Errors
///
/// # Safety
///
/// # Aborts
///
/// # Undefined Behavior
rust
// DO
/// # Examples

// DON'T
/// # Example
/// ## Examples
/// **Examples:**

Type References

Use full generic forms and link with reference-style markdown.

rust
// DO
/// Returns [`Option<T>`] if the value exists.
///
/// [`Option<T>`]: std::option::Option

// DON'T
/// Returns `Option` if the value exists.
/// Returns an optional value.

Examples

Every public item should have examples showing usage.

rust
/// Adds two numbers together.
///
/// # Examples
///
/// ```
/// let result = my_crate::add(2, 3);
/// assert_eq!(result, 5);
/// ```
pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

For multiple patterns:

rust
/// Parses a string into a number.
///
/// # Examples
///
/// Basic usage:
///
/// ```
/// let n: i32 = my_crate::parse("42").unwrap();
/// assert_eq!(n, 42);
/// ```
///
/// Handling errors:
///
/// ```
/// let result = my_crate::parse::<i32>("not a number");
/// assert!(result.is_err());
/// ```

Errors Section

Document what errors can be returned and when. In Rocky this mostly applies to rocky-core, rocky-sql, and rocky-adapter-sdk — the library crates that use thiserror (see the rust-error-handling skill).

rust
/// Reads a file from disk.
///
/// # Errors
///
/// Returns [`io::Error`] if the file does not exist or cannot be read.
///
/// [`io::Error`]: std::io::Error
Show full SKILL.md (145 more words)Show less

Panics Section

Document conditions that cause panics.

rust
/// Divides two numbers.
///
/// # Panics
///
/// Panics if `divisor` is zero.
pub fn divide(dividend: i32, divisor: i32) -> i32 {
    assert!(divisor != 0, "divisor must not be zero");
    dividend / divisor
}

Safety Section

Required for unsafe functions. In Rocky, this currently applies to the DuckDB FFI surface in rocky-duckdb and to low-level code in rocky-core/src/mmap.rs. See the rust-unsafe skill for the full SAFETY: comment conventions that complement this section.

rust
/// Dereferences a raw pointer.
///
/// # Safety
///
/// The pointer must be non-null and properly aligned.
/// The pointed-to memory must be valid for the lifetime `'a`.
pub unsafe fn deref<'a, T>(ptr: *const T) -> &'a T {
    &*ptr
}

Module vs Type Docs

  • Module docs (//!): high-level summaries, when to use this module
  • Type docs (///): comprehensive, self-contained

Some duplication is acceptable.

Language

Use American English spelling: "color" not "colour", "serialize" not "serialise".

Rocky-specific: *Output structs flow through codegen

Any doc comment on a field of a *Output struct in crates/rocky-cli/src/output.rs (or commands/doctor.rs) becomes a doc comment on the generated Pydantic model field in integrations/dagster/src/dagster_rocky/types_generated/ and on the generated TypeScript interface field in editors/vscode/src/types/generated/. Write those comments assuming a Dagster user will read them — not just a Rust caller. See the rocky-codegen skill at the monorepo root for the full cascade.

© rocky-data, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in engine/.claude/skills/rust-doc of rocky-data/rocky.

Open the folder on GitHubat commit 0cb7c7b

Compare with similar skills

Rust Doc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rust Doc compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rust Doc this skillrocky-data/rocky304—~1.4kAutomated safety check: PassApache-2.0
Webapp Buildersidequery/sidemantic129—~5.5kAutomated safety check: PassAGPL-3.0
Diesel Guardayarotsky/diesel-guard121—~3.1kAutomated safety check: PassMIT
Querying Tempotempoxyz/tidx107—~3.1kAutomated safety check: PassMIT
Paro Optimizerzunor/paro105—~957Automated safety check: PassApache-2.0
Paro Benchmarkzunor/paro105—~1.1kAutomated safety check: PassApache-2.0

Similar skills

  • Webapp Builder

    sidequery/sidemantic

    Build interactive analytics webapps, demos, dashboards, or embedded app surfaces from Sidemantic semantic models using copyable component primitives and deterministic query inspection.

    129 GitHub stars~5.5k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Diesel Guard

    ayarotsky/diesel-guard

    Lints Diesel and SQLx Postgres migrations for unsafe schema changes that lock tables or cause downtime, and authors custom Rhai checks.

    121 GitHub stars~3.1k tokensUpdated 9 days ago
    DatabasesAuto-check passed
  • Querying Tempo

    tempoxyz/tidx

    Query indexed Tempo chain data via tidx HTTP API and CLI. An agent skill from tempoxyz/tidx.

    107 GitHub stars~3.1k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Paro Optimizer

    zunor/paro

    Design, refactor and diagnose Paro's staged optimizer, using EXPLAIN COMPILE for planning and EXPLAIN ANALYZE for execution.

    105 GitHub stars~957 tokensUpdated 12 days ago
    DatabasesAuto-check passed
  • Paro Benchmark

    zunor/paro

    Run Paro engineering performance gates and exploratory cold/warm, cross-engine or operator comparisons.

    105 GitHub stars~1.1k tokensUpdated 12 days ago
    DatabasesAuto-check passed
  • Paro Evidence

    zunor/paro

    Design or audit formal Paro performance claims: release acceptance, cross-engine parity, model calibration certification or non-inferiority.

    105 GitHub stars~1k tokensUpdated 12 days ago
    DatabasesAuto-check passed

More from rocky-data/rocky

All 22 skills in this repo
  • Fivetran

    rocky-data/rocky

    Fivetran REST API reference for Rocky's source adapter. An agent skill from rocky-data/rocky.

    304 GitHub stars~914 tokensUpdated yesterday
    Auto-check passed
  • Databricks

    rocky-data/rocky

    Databricks REST API and SQL reference for Rocky's warehouse adapter.

    304 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Rocky Codegen

    rocky-data/rocky

    Rocky CLI JSON-output schema cascade. An agent skill from rocky-data/rocky.

    304 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Rocky Dev

    rocky-data/rocky

    Top-level router for Rocky development tasks. An agent skill from rocky-data/rocky.

    304 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Rocky Dsl Change

    rocky-data/rocky

    Rocky DSL (.rocky file) cross-subproject cascade. An agent skill from rocky-data/rocky.

    304 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Rocky New Adapter

    rocky-data/rocky

    Adding a new warehouse or source adapter crate to the Rocky engine.

    304 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Rust Doc

What does Rust Doc do?

Rust documentation conventions (RFC 1574) for public items in the Rocky engine. Rust Doc is an agent skill from rocky-data/rocky. Rust documentation conventions (RFC 1574) for public items in the Rocky engine.

When should I use Rust Doc?

Rust Doc fits situations like: reviewing doc comments on anything pub in the engine crates — summary sentences; section headings; type references; errors/Panics/Safety sections.

How do I install Rust Doc in Claude Code?

Run `npx skills add rocky-data/rocky --skill rust-doc -a claude-code`. Or copy the skill folder (engine/.claude/skills/rust-doc in rocky-data/rocky) into .claude/skills/rust-doc in your project. Claude Code loads it when a task matches its description.

How do I install Rust Doc in Codex?

Run `npx skills add rocky-data/rocky --skill rust-doc -a codex`. Or copy the skill folder (engine/.claude/skills/rust-doc in rocky-data/rocky) into .agents/skills/rust-doc in your project. Codex loads it when a task matches its description.

Can I use Rust Doc in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rocky-data/rocky --skill rust-doc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rust-doc, .gemini/skills/rust-doc, .github/skills/rust-doc and .opencode/skills/rust-doc in your project.

What does Rust Doc need to run?

SKILL.md names no scripts, command-line tools or credentials: Rust Doc is instructions for the agent only.

Does Rust Doc access the network?

SKILL.md names 1 domain. As links in the text: gist.github.com. This is read from the text; nothing was executed.

Is Rust Doc safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rust Doc use?

Rust Doc is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rust Doc use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rust Doc?

Skills that share tags, products or a category with Rust Doc: Webapp Builder (sidequery/sidemantic, 129 stars), Diesel Guard (ayarotsky/diesel-guard, 121 stars), Querying Tempo (tempoxyz/tidx, 107 stars) and Paro Optimizer (zunor/paro, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rust Doc?

rocky-data (a GitHub organization) maintains it in rocky-data/rocky, which has 304 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 7, 2026.

Source: rocky-data/rocky on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.