rust-learner by actionbook/rust-skills
npx skills add https://github.com/actionbook/rust-skills --skill rust-learner版本: 2.1.0 | 最后更新: 2025-01-27
你是一位获取 Rust 和 crate 信息的专家。通过以下方式帮助用户:
用于获取 Rust/crate 信息的主要技能。
关键:首先检查代理文件可用性以确定执行模式。
尝试读取与你的查询类型对应的代理文件。执行模式取决于文件是否存在:
| 查询类型 | 代理文件路径 |
|---|---|
| Crate 信息/版本 | ../../agents/crate-researcher.md |
| Rust 版本特性 | ../../agents/rust-changelog.md |
| 标准库文档 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
../../agents/std-docs-researcher.md| 第三方 crate 文档 | ../../agents/docs-researcher.md |
| Clippy 代码检查 | ../../agents/clippy-researcher.md |
当 ../../agents/ 目录下存在代理文件时:
run_in_background: true 启动任务Task(
subagent_type: "general-purpose",
run_in_background: true,
prompt: <read from ../../agents/*.md file>
)
| 查询类型 | 代理文件 | 来源 |
|---|---|---|
| Rust 版本特性 | ../../agents/rust-changelog.md | releases.rs |
| Crate 信息/版本 | ../../agents/crate-researcher.md | lib.rs, crates.io |
| 标准库文档(Send, Sync, Arc 等) | ../../agents/std-docs-researcher.md | doc.rust-lang.org |
| 第三方 crate 文档(tokio, serde 等) | ../../agents/docs-researcher.md | docs.rs |
| Clippy 代码检查 | ../../agents/clippy-researcher.md | rust-clippy 文档 |
Crate 版本查询:
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 更新日志查询:
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
当代理文件不可用时,直接使用以下步骤执行:
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
输出格式:
## {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})
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
输出格式:
## 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
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
常用标准库路径:
| 项目 | 路径 |
|---|---|
| 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 |
输出格式:
## std::{path}::{Name}
**Signature:**
```rust
{signature}
Description: {description}
Examples:
{example_code}
输出格式:
## {crate}::{path}
**Signature:**
```rust
{signature}
Description: {description}
Examples:
{example_code}
输出格式:
## Clippy Lint: {lint_name}
**Level:** {warn|deny|allow}
**Category:** {category}
**Description:**
{what_it_checks}
**Example (Bad):**
```rust
{bad_code}
Example (Good):
{good_code}
两种模式使用相同的工具链顺序:
actionbook MCP - 首先获取预计算的 CSS 选择器
mcp__actionbook__search_actions("site_name") → 获取 action IDmcp__actionbook__get_action_by_id(id) → 获取 URL + 选择器agent-browser CLI - 主要执行工具
agent-browser open <url>
agent-browser get text <selector_from_actionbook>
agent-browser close
WebFetch - 仅在 agent-browser 不可用时作为最后手段
actionbook → agent-browser → WebFetch (仅在 agent-browser 不可用时)
请勿:
| 已弃用 | 替代方案 | 原因 |
|---|---|---|
| 使用 WebSearch 获取 crate 信息 | 任务 + 代理 或 内联模式 | 结构化数据 |
| 直接使用 WebFetch | actionbook + agent-browser | 预计算的选择器 |
| 猜测版本号 | 始终从源获取 | 防止错误信息 |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 代理文件未找到 | 仅技能安装 | 使用内联模式 |
| actionbook 不可用 | MCP 未配置 | 回退到 WebFetch |
| agent-browser 未找到 | CLI 未安装 | 回退到 WebFetch |
| 代理超时 | 网站慢/宕机 | 重试或通知用户 |
| 结果为空 | 选择器不匹配 | 报告并使用 WebFetch 备用方案 |
此技能在以下情况时自动触发:
请勿使用 WebSearch 获取 Rust crate 信息。请改用代理或内联模式。
每周安装次数
74
仓库
GitHub 星标数
911
首次出现
2026年1月23日
安全审计
安装于
opencode70
gemini-cli69
codex68
github-copilot65
cursor63
kimi-cli61
Version: 2.1.0 | Last Updated: 2025-01-27
You are an expert at fetching Rust and crate information. Help users by:
Primary skill for fetching Rust/crate information.
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 |
When agent files exist at../../agents/:
run_in_background: trueTask(
subagent_type: "general-purpose",
run_in_background: true,
prompt: <read from ../../agents/*.md file>
)
| 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 |
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
When agent files are NOT available, execute directly using these steps:
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})
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
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 |
Output Format:
## std::{path}::{Name}
**Signature:**
```rust
{signature}
Description: {description}
Examples:
{example_code}
### Third-Party Crate Docs (tokio, serde, etc.)
**Output Format:**
```markdown
## {crate}::{path}
**Signature:**
```rust
{signature}
Description: {description}
Examples:
{example_code}
### Clippy Lints
**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
3. WebFetch - Last resort only if agent-browser unavailable
actionbook → agent-browser → WebFetch (only if agent-browser unavailable)
DO NOT:
| 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 | 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 |
This skill triggers AUTOMATICALLY when:
DO NOT use WebSearch for Rust crate info. Use agents or inline mode instead.
Weekly Installs
74
Repository
GitHub Stars
911
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubFailSocketPassSnykWarn
Installed on
opencode70
gemini-cli69
codex68
github-copilot65
cursor63
kimi-cli61
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
120,000 周安装
../../agents/clippy-researcher.md| rust-clippy docs |
| String | std/string/struct.String.html |