원클릭으로
rust-doc-search
// Helper skill for searching Rust documentation. Use when agents need to find crate docs, API usage, trait implementations, or examples from local and online sources.
// Helper skill for searching Rust documentation. Use when agents need to find crate docs, API usage, trait implementations, or examples from local and online sources.
Use when designing error types, wrapping third-party errors, seeing repeated map_err calls with same error types, building modular error hierarchies with thiserror, choosing between custom errors vs anyhow::Result, or writing Result-returning functions in Rust.
Search and evaluate Rust crates for a problem. Presents options for user approval.
When and what to test in Rust. Types handle compile-time invariants; tests verify runtime behavior types cannot express.
Use when writing Rust structs with generic type parameters, implementing traits for polymorphism, designing service/client/handler layers, choosing between Box<dyn Trait> vs enum vs generics, adding middleware (retry, logging, caching), wrapping or decorating existing types, forwarding methods to inner fields, or refactoring to reduce duplication across similar structs.
Review Rust code for correctness, design principles, and rule compliance.
| name | rust-doc-search |
| description | Helper skill for searching Rust documentation. Use when agents need to find crate docs, API usage, trait implementations, or examples from local and online sources. |
| context | fork |
| allowed-tools | ["Read","Grep","Glob","Bash","WebSearch","WebFetch"] |
| model | haiku |
Helper skill providing documentation search strategies and commands.
# Open project docs in browser
cargo doc --open --no-deps
# Search type/trait/fn in generated docs
grep -r "pub struct\|pub trait\|pub fn" target/doc/
# Find examples in project
find . -name "*.rs" -path "*/examples/*" | xargs grep -l "PATTERN"
# Check crate version
grep "CRATE_NAME" Cargo.toml
# List crate features
grep -A 20 "\[features\]" Cargo.toml
# Find crate manifest path
cargo metadata --format-version 1 | jq '.packages[] | select(.name=="CRATE") | .manifest_path'
# Search in cached crate source
grep -rn "PATTERN" ~/.cargo/registry/src/*/CRATE-*/src/
| Source | URL | Use For |
|---|---|---|
| docs.rs | docs.rs/CRATE/VERSION | API docs, type signatures |
| crates.io | crates.io/crates/CRATE | README, versions, links |
| lib.rs | lib.rs/crates/CRATE | Alternatives, comparisons |
| GitHub | repo issues/examples | Real-world usage, edge cases |
| Need | Primary | Fallback |
|---|---|---|
| API signature | docs.rs | cargo doc |
| Usage example | examples/ folder | GitHub search |
| Why X fails | GitHub issues | web search error message |
| X vs Y | lib.rs | blog posts |
| Internal details | ~/.cargo/registry source | GitHub source |
| Trait bounds | cargo doc type page | docs.rs |
| Feature flags | Cargo.toml | docs.rs feature list |