agentleFS
MovGP0MovGP0/Skills/rust-learner/SKILL.md

rust-learner

Skill1 starsChanged 4 months agoMITView on GitHub

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 版本, 新特性, 有什么特性

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read the appropriate agent file (relative to this skill)

    line 40
  2. Distinctive:

    Use WebFetch as primary when agent-browser is available

    line 279

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.