npx agentspec-cli install 20715238-4446-4ff2-938f-bd124aadf670 --framework ClaudeCode→ .claude/skills/ferritin/SKILL.md
# ferritin — Rust documentation lookup
`ferritin` renders real rustdoc for any crate. Prefer it over recalling Rust
APIs from memory: it returns actual current signatures, trait impls, and prose
for dependencies, `std`, and the local workspace's own crates — at the exact
versions this project resolves.
In an agent session ferritin auto-detects the environment and emits
LLM-friendly output; you do not need to pass any output-format flag.
## Core commands
- `ferritin get <path>` — documentation for one item, where `<path>` is
`crate::Module::Item`:
- `ferritin get std::vec::Vec`
- `ferritin get serde::Serialize`
- `ferritin get serde@1.0::Serialize` (pin a version — on the crate
segment, not as a suffix on the full path)
- The version is a semver **spec**, not an exact version: `serde@1.0`
matches any `1.x.y`, while `serde@=1.0.0` pins exactly `1.0.0`. The full
semver requirement syntax (`^`, `~`, `>=`, `*`, etc.) applies.
- `ferritin search <crate> <query>...` — search within one crate:
- `ferritin search tokio spawn`
- `ferritin search serde@1.0 Deserialize` (pin a version)
- `ferritin list` — list the crates available to query.
By default ferritin sources docs straight from docs.rs as rustdoc JSON, so a
crate does **not** need to be a dependency of this project or installed locally
— you can query any published crate by name. To inspect the **current
workspace's own** (in-development) crates instead, add `-l` / `--local` (uses
the `Cargo.toml` in the working directory), or target one explicitly with
`--manifest-path <path>`:
- `ferritin -l get my_crate::MyType`
## Discovering current flags
This CLI is actively evolving — treat `--help` as the source of truth for the
live flag surface rather than guessing:
- `ferritin --help`
- `ferritin get --help` · `ferritin search --help`
Flags worth knowing (confirm names/values with `--help`):
- `-k, --kind <struct|enum|trait|function|module|…>` — restrict a listing or
search to given kinds (comma-separated or repeated).
- `--docs <full|brief|none>` — how much doc prose to render; `none` gives just
the signature/listing.
- `-r, --recursive` (on `get`) — descend into nested items.
## When to use it
Reach for ferritin whenever a task touches an unfamiliar Rust API: before
writing code against a crate, when answering "what methods/fields/variants does
X have", when checking a trait's required methods, or when verifying a
signature. It is faster and more accurate than inferring from memory, and
reflects the exact versions resolved in this project.
Built on the Agent Skills standard
rsmap
Search and explore Rust codebases using rsmap indexes
by AgentHub Crawler
CodeSage
Code intelligence engine with structural graph and semantic search. Rust workspace, tree-sitter parsing, ONNX embedding inference, cross-encoder reranking, SQLite storage, MCP interface.
by AgentHub Crawler
Rust on Nails Agents Guide
This repository mixes several deliverables that move at different speeds. To keep things tidy, we split the work into three "agents" that each own one slice of the Rust on Nails experience. Use this guide to decide where changes belong and how to validate them before opening a PR.
by AgentHub Crawler
Sign in to leave a comment.
rust
Tauri v2 and Rust backend best practices, commands, state management, IPC and security patterns. Use when writing Rust backend code, creating commands or integrating with the frontend.
by AgentHub Crawler