rust-learner
Provides instant access to Rust language versions, changelogs, and crate documentation.
Install
mkdir -p .claude/skills/rust-learner && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/6080" && unzip -o skill.zip -d .claude/skills/rust-learner && rm skill.zipInstalls to .claude/skills/rust-learner
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when asking about Rust versions or crate info. Keywords: latest version, what's new, changelog, Rust 1.x, Rust release, stable, nightly, crate info, crates.io, lib.rs, docs.rs, API documentation, crate features, dependencies, which crate, what version, Rust edition, edition 2021, edition 2024, cargo add, cargo update, 最新版本, 版本号, 稳定版, 最新, 哪个版本, crate 信息, 文档, 依赖, Rust 版本, 新特性, 有什么特性Key capabilities
- →Fetch latest Rust crate versions
- →Retrieve API documentation
- →Query Rust version changelogs
- →Identify Clippy lint details
- →Check dependency features
How it works
The skill uses pre-computed selectors via actionbook to fetch structured data from official sources like lib.rs and docs.rs using agent-browser.
Inputs & outputs
When to use rust-learner
- →Finding the latest crate version
- →Checking Rust release features
- →Retrieving crate documentation
- →Comparing dependency features
About this skill
Rust Learner
Version: 2.1.0 | Last Updated: 2025-01-27
You are an expert at fetching Rust and crate information. Help users by:
- Version queries: Get latest Rust/crate versions
- API documentation: Fetch docs from docs.rs
- Changelog: Get Rust version features from releases.rs
Primary skill for fetching Rust/crate information.
Execution Mode Detection
CRITICAL: Check agent file availability first to determine execution mode.
Try to read the agent file for your query type. The execution mode depends on whether the file exists:
| Query Type | Agent File Path |
|---|---|
| Crate info/version | ../../agents/crate-researcher.md |
| Rust version features | ../../agents/rust-changelog.md |
| Std library docs | ../../agents/std-docs-researcher.md |
| Third-party crate docs | ../../agents/docs-researcher.md |
| Clippy lints | ../../agents/clippy-researcher.md |
Agent Mode (Plugin Install)
When agent files exist at ../../agents/:
Workflow
- Read the appropriate agent file (relative to this skill)
- Launch Task with
run_in_background: true - Continue with other work or wait for completion
- Summarize results to user
Task(
subagent_type: "general-purpose",
run_in_background: true,
prompt: <read from ../../agents/*.md file>
)
Agent Routing Table
| Query Type | Agent File | Source |
|---|---|---|
| Rust version features | ../../agents/rust-changelog.md | releases.rs |
| Crate info/version | ../../agents/crate-researcher.md | lib.rs, crates.io |
| Std library docs (Send, Sync, Arc, etc.) | ../../agents/std-docs-researcher.md | doc.rust-lang.org |
| Third-party crate docs (tokio, serde, etc.) | ../../agents/docs-researcher.md | docs.rs |
| Clippy lints | ../../agents/clippy-researcher.md | rust-clippy docs |
Agent Mode Examples
Crate Version Query:
User: "tokio latest version"
Claude:
1. Read ../../agents/crate-researcher.md
2. Task(subagent_type: "general-purpose", run_in_background: true, prompt: <agent content>)
3. Wait for agent
4. Summarize results
Rust Changelog Query:
User: "What's new in Rust 1.85?"
Claude:
1. Read ../../agents/rust-changelog.md
2. Task(subagent_type: "general-purpose", run_in_background: true, prompt: <agent content>)
3. Wait for agent
4. Summarize features
Inline Mode (Skills-only Install)
When agent files are NOT available, execute directly using these steps:
Crate Info Query
1. actionbook: mcp__actionbook__search_actions("lib.rs crate info")
2. Get action details: mcp__actionbook__get_action_by_id(<action_id>)
3. agent-browser CLI (or WebFetch fallback):
- open "https://lib.rs/crates/{crate_name}"
- get text using selector from actionbook
- close
4. Parse and format output
Output Format:
## {Crate Name}
**Version:** {latest}
**Description:** {description}
**Features:**
- `feature1`: description
**Links:**
- [docs.rs](https://docs.rs/{crate}) | [crates.io](https://crates.io/crates/{crate}) | [repo]({repo_url})
Rust Version Query
1. actionbook: mcp__actionbook__search_actions("releases.rs rust changelog")
2. Get action details for selectors
3. agent-browser CLI (or WebFetch fallback):
- open "https://releases.rs/docs/1.{version}.0/"
- get text using selector from actionbook
- close
4. Parse and format output
Output Format:
## Rust 1.{version}
**Release Date:** {date}
### Language Features
- Feature 1: description
- Feature 2: description
### Library Changes
- std::module: new API
### Stabilized APIs
- `api_name`: description
Std Library Docs (std::*, Send, Sync, Arc, etc.)
1. Construct URL: "https://doc.rust-lang.org/std/{path}/"
- Traits: std/{module}/trait.{Name}.html
- Structs: std/{module}/struct.{Name}.html
- Modules: std/{module}/index.html
2. agent-browser CLI (or WebFetch fallback):
- open <url>
- get text "main .docblock"
- close
3. Parse and format output
Common Std Library Paths:
| Item | Path |
|---|---|
| Send, Sync, Copy, Clone | std/marker/trait.{Name}.html |
| Arc, Mutex, RwLock | std/sync/struct.{Name}.html |
| Rc, Weak | std/rc/struct.{Name}.html |
| RefCell, Cell | std/cell/struct.{Name}.html |
| Box | std/boxed/struct.Box.html |
| Vec | std/vec/struct.Vec.html |
| String | std/string/struct.String.html |
Output Format:
## std::{path}::{Name}
**Signature:**
```rust
{signature}
Description: {description}
Examples:
{example_code}
### Third-Party Crate Docs (tokio, serde, etc.)
- Construct URL: "https://docs.rs/{crate}/latest/{crate}/{path}"
- agent-browser CLI (or WebFetch fallback):
- open <url>
- get text ".docblock"
- close
- Parse and format output
**Output Format:**
```markdown
## {crate}::{path}
**Signature:**
```rust
{signature}
Description: {description}
Examples:
{example_code}
### Clippy Lints
- agent-browser CLI (or WebFetch fallback):
- open "https://rust-lang.github.io/rust-clippy/stable/"
- search for lint name in page
- get text ".lint-doc" for matching lint
- close
- Parse and format output
**Output Format:**
```markdown
## Clippy Lint: {lint_name}
**Level:** {warn|deny|allow}
**Category:** {category}
**Description:**
{what_it_checks}
**Example (Bad):**
```rust
{bad_code}
Example (Good):
{good_code}
---
## Tool Chain Priority
Both modes use the same tool chain order:
1. **actionbook MCP** - Get pre-computed selectors first
- `mcp__actionbook__search_actions("site_name")` → get action ID
- `mcp__actionbook__get_action_by_id(id)` → get URL + selectors
2. **agent-browser CLI** - Primary execution tool
```bash
agent-browser open <url>
agent-browser get text <selector_from_actionbook>
agent-browser close
- WebFetch - Last resort only if agent-browser unavailable
Fallback Principle (CRITICAL)
actionbook → agent-browser → WebFetch (only if agent-browser unavailable)
DO NOT:
- Skip agent-browser because it's slower
- Use WebFetch as primary when agent-browser is available
- Block on WebFetch without trying agent-browser first
Deprecated Patterns
| Deprecated | Use Instead | Reason |
|---|---|---|
| WebSearch for crate info | Task + agent or inline mode | Structured data |
| Direct WebFetch | actionbook + agent-browser | Pre-computed selectors |
| Guessing version numbers | Always fetch from source | Prevents misinformation |
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Agent file not found | Skills-only install | Use inline mode |
| actionbook unavailable | MCP not configured | Fall back to WebFetch |
| agent-browser not found | CLI not installed | Fall back to WebFetch |
| Agent timeout | Site slow/down | Retry or inform user |
| Empty results | Selector mismatch | Report and use WebFetch fallback |
Proactive Triggering
This skill triggers AUTOMATICALLY when:
- Any Rust crate name mentioned (tokio, serde, axum, sqlx, etc.)
- Questions about "latest", "new", "version", "changelog"
- API documentation requests
- Dependency/feature questions
DO NOT use WebSearch for Rust crate info. Use agents or inline mode instead.
When not to use it
- →General web searches for non-Rust topics
- →Guessing version numbers
Prerequisites
Limitations
- →Requires agent-browser for optimal performance
- →Dependent on official site availability
How it compares
It prioritizes structured data retrieval from official sources over generic web search results.
Compared to similar skills
rust-learner side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| rust-learner (this skill) | 8 | 6mo | Review | Beginner |
| exploring-rust-crates | 3 | 7mo | Review | Beginner |
| deepwiki-rs | 25 | 9mo | Review | Intermediate |
| writing-user-outputs | 1 | 2mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by actionbook
View all by actionbook →You might also like
exploring-rust-crates
hashintel
Generate Rust documentation to understand crate APIs, structure, and usage. Use when exploring Rust code, understanding crate organization, finding functions/types/traits, or needing context about a Rust package in the HASH workspace.
deepwiki-rs
sopaco
AI-powered Rust documentation generation engine for comprehensive codebase analysis, C4 architecture diagrams, and automated technical documentation. Use when Claude needs to analyze source code, understand software architecture, generate technical specs, or create professional documentation from any programming language.
writing-user-outputs
max-sixty
CLI output formatting standards for worktrunk. Use when writing user-facing messages, error handling, progress output, hints, warnings, or working with the output system.
sync-upstream
rust-lang-cn
Sync Chinese translation repository with upstream rust-lang/nomicon. Use when user wants to check for upstream changes, sync translations, update from upstream, or asks about differences between local translation and upstream English version. Triggers on requests like "sync upstream", "check upstream changes", "update from nomicon", or "sync translation".
code-review
jonatron55
Instructions for reviewing changes and ensuring quality before completion. Use when asking for a review or before committing changes.
release-rust-srec
hua0512
Prepare a new rust-srec application release end to end — pick the next semver version, bump the workspace version, promote the staged unreleased.md notes into versioned en+zh release-notes pages, reset unreleased, refresh the release-notes index/sidebar/GitHub-body, and emit the rust-srec-vX.Y.Z tag