RU

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.zip

Installs 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 版本, 新特性, 有什么特性
387 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Beginner

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

You give it
Crate name or Rust version
You get back
Version info, docs, or changelog

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 TypeAgent 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

  1. Read the appropriate agent file (relative to this skill)
  2. Launch Task with run_in_background: true
  3. Continue with other work or wait for completion
  4. Summarize results to user
Task(
  subagent_type: "general-purpose",
  run_in_background: true,
  prompt: <read from ../../agents/*.md file>
)

Agent Routing Table

Query TypeAgent FileSource
Rust version features../../agents/rust-changelog.mdreleases.rs
Crate info/version../../agents/crate-researcher.mdlib.rs, crates.io
Std library docs (Send, Sync, Arc, etc.)../../agents/std-docs-researcher.mddoc.rust-lang.org
Third-party crate docs (tokio, serde, etc.)../../agents/docs-researcher.mddocs.rs
Clippy lints../../agents/clippy-researcher.mdrust-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:

ItemPath
Send, Sync, Copy, Clonestd/marker/trait.{Name}.html
Arc, Mutex, RwLockstd/sync/struct.{Name}.html
Rc, Weakstd/rc/struct.{Name}.html
RefCell, Cellstd/cell/struct.{Name}.html
Boxstd/boxed/struct.Box.html
Vecstd/vec/struct.Vec.html
Stringstd/string/struct.String.html

Output Format:

## std::{path}::{Name}

**Signature:**
```rust
{signature}

Description: {description}

Examples:

{example_code}

### Third-Party Crate Docs (tokio, serde, etc.)

  1. Construct URL: "https://docs.rs/{crate}/latest/{crate}/{path}"
  2. agent-browser CLI (or WebFetch fallback):
    • open <url>
    • get text ".docblock"
    • close
  3. Parse and format output

**Output Format:**
```markdown
## {crate}::{path}

**Signature:**
```rust
{signature}

Description: {description}

Examples:

{example_code}

### Clippy Lints

  1. agent-browser CLI (or WebFetch fallback):
  2. 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
  1. 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

DeprecatedUse InsteadReason
WebSearch for crate infoTask + agent or inline modeStructured data
Direct WebFetchactionbook + agent-browserPre-computed selectors
Guessing version numbersAlways fetch from sourcePrevents misinformation

Error Handling

ErrorCauseSolution
Agent file not foundSkills-only installUse inline mode
actionbook unavailableMCP not configuredFall back to WebFetch
agent-browser not foundCLI not installedFall back to WebFetch
Agent timeoutSite slow/downRetry or inform user
Empty resultsSelector mismatchReport 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

agent-browser CLIactionbook MCP

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.

SkillInstallsUpdatedSafetyDifficulty
rust-learner (this skill)86moReviewBeginner
exploring-rust-crates37moReviewBeginner
deepwiki-rs259moReviewIntermediate
writing-user-outputs12moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by actionbook

View all by actionbook

arxiv-viewer

actionbook

View, search, and download academic papers from arXiv. Supports API queries, web scraping via Actionbook, and HTML paper reading via ar5iv. Use when user asks about arxiv papers, academic papers, research papers, paper summaries, latest papers, or wants to search/download/read papers.

49

rust-call-graph

actionbook

Visualize Rust function call graphs using LSP. Triggers on: /call-graph, call hierarchy, who calls, what calls, 调用图, 调用关系, 谁调用了, 调用了谁

31

rust-code-navigator

actionbook

Navigate Rust code using LSP. Triggers on: /navigate, go to definition, find references, where is defined, 跳转定义, 查找引用, 定义在哪, 谁用了这个

35

rust-daily

actionbook

CRITICAL: Use for Rust news and daily/weekly/monthly reports. Triggers on: rust news, rust daily, rust weekly, TWIR, rust blog, Rust 日报, Rust 周报, Rust 新闻, Rust 动态

33

rust-router

actionbook

CRITICAL: Use for ALL Rust questions including errors, design, and coding. HIGHEST PRIORITY for: 比较, 对比, compare, vs, versus, 区别, difference, 最佳实践, best practice, tokio vs, async-std vs, 比较 tokio, 比较 async, Triggers on: Rust, cargo, rustc, crate, Cargo.toml, 意图分析, 问题分析, 语义分析, analyze intent, question analysis, compile error, borrow error, lifetime error, ownership error, type error, trait error, value moved, cannot borrow, does not live long enough, mismatched types, not satisfied, E0382, E0597, E0277, E0308, E0499, E0502, E0596, async, await, Send, Sync, tokio, concurrency, error handling, 编译错误, compile error, 所有权, ownership, 借用, borrow, 生命周期, lifetime, 类型错误, type error, 异步, async, 并发, concurrency, 错误处理, error handling, 问题, problem, question, 怎么用, how to use, 如何, how to, 为什么, why, 什么是, what is, 帮我写, help me write, 实现, implement, 解释, explain

36

rust-symbol-analyzer

actionbook

Analyze Rust project structure using LSP symbols. Triggers on: /symbols, project structure, list structs, list traits, list functions, 符号分析, 项目结构, 列出所有, 有哪些struct

34

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.

33

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.

25170

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.

11

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".

10

code-review

jonatron55

Instructions for reviewing changes and ensuring quality before completion. Use when asking for a review or before committing changes.

00

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

00

Search skills

Search the agent skills registry