skills/rust-skill-creator/SKILL.md
Use when creating skills for Rust crates or std library documentation. Keywords: create rust skill, create crate skill, create std skill, 创建 rust skill, 创建 crate skill, 创建 std skill, 动态 rust skill, 动态 crate skill, skill for tokio, skill for serde, skill for axum, generate rust skill, rust 技能, crate 技能, 从文档创建skill, from docs create skill
npx skillsauth add actionbook/rust-skills rust-skill-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Version: 2.1.0 | Last Updated: 2025-01-27
Create dynamic skills for Rust crates and std library documentation.
This skill handles requests to create skills for:
CRITICAL: Check if related commands/skills are available.
This skill relies on:
/create-llms-for-skills command/create-skills-via-llms commandWhen the commands above are available (full plugin installation):
| User Request | Target Type | URL Pattern |
|--------------|-------------|-------------|
| "create tokio skill" | Third-party crate | docs.rs/tokio/latest/tokio/ |
| "create Send trait skill" | Std library | doc.rust-lang.org/std/marker/trait.Send.html |
| "create skill from URL" + URL | Custom URL | User-provided URL |
Use the /create-llms-for-skills command:
/create-llms-for-skills <url> [requirements]
Examples:
# For third-party crate
/create-llms-for-skills https://docs.rs/tokio/latest/tokio/
# For std library
/create-llms-for-skills https://doc.rust-lang.org/std/marker/trait.Send.html
# With specific requirements
/create-llms-for-skills https://docs.rs/axum/latest/axum/ "Focus on routing and extractors"
After llms.txt is generated, use:
/create-skills-via-llms <crate_name> <llms_path> [version]
When the commands above are NOT available, create skills manually:
| Target | URL Template |
|--------|--------------|
| Crate overview | https://docs.rs/{crate}/latest/{crate}/ |
| Crate module | https://docs.rs/{crate}/latest/{crate}/{module}/ |
| Std trait | https://doc.rust-lang.org/std/{module}/trait.{Name}.html |
| Std struct | https://doc.rust-lang.org/std/{module}/struct.{Name}.html |
| Std module | https://doc.rust-lang.org/std/{module}/index.html |
# Using agent-browser CLI
agent-browser open "<documentation_url>"
agent-browser get text ".docblock"
agent-browser close
Or with WebFetch fallback:
WebFetch("<documentation_url>", "Extract API documentation including types, functions, and examples")
mkdir -p ~/.claude/skills/{crate_name}
mkdir -p ~/.claude/skills/{crate_name}/references
Create ~/.claude/skills/{crate_name}/SKILL.md with this template:
---
name: {crate_name}
description: "Documentation for {crate_name} crate. Keywords: {keywords}"
---
# {Crate Name}
> **Version:** {version} | **Source:** docs.rs
## Overview
{Brief description from documentation}
## Key Types
### {Type1}
{Description and usage}
### {Type2}
{Description and usage}
## Common Patterns
{Usage patterns extracted from documentation}
## Examples
```rust
{Example code from documentation}
./references/overview.md - Main overview./references/{module}.md - Module documentation
### Step 5: Generate Reference Files
For each major module or type, create a reference file:
```bash
# Fetch and save module documentation
agent-browser open "https://docs.rs/{crate}/latest/{crate}/{module}/"
agent-browser get text ".docblock" > ~/.claude/skills/{crate_name}/references/{module}.md
agent-browser close
# Check skill structure
ls -la ~/.claude/skills/{crate_name}/
cat ~/.claude/skills/{crate_name}/SKILL.md
| Target | URL Template |
|--------|--------------|
| Crate overview | https://docs.rs/{crate}/latest/{crate}/ |
| Crate module | https://docs.rs/{crate}/latest/{crate}/{module}/ |
| Std trait | https://doc.rust-lang.org/std/{module}/trait.{Name}.html |
| Std struct | https://doc.rust-lang.org/std/{module}/struct.{Name}.html |
| Std module | https://doc.rust-lang.org/std/{module}/index.html |
| 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 |
| Option | std/option/enum.Option.html |
| Result | std/result/enum.Result.html |
User: "Create a dynamic skill for tokio"
Claude:
1. Identify: Third-party crate "tokio"
2. Execute: /create-llms-for-skills https://docs.rs/tokio/latest/tokio/
3. Wait for llms.txt generation
4. Execute: /create-skills-via-llms tokio ~/tmp/{timestamp}-tokio-llms.txt
User: "Create a dynamic skill for tokio"
Claude:
1. Identify: Third-party crate "tokio"
2. Fetch: agent-browser open "https://docs.rs/tokio/latest/tokio/"
3. Extract documentation
4. Create: ~/.claude/skills/tokio/SKILL.md
5. Create: ~/.claude/skills/tokio/references/
6. Save reference files for key modules (sync, task, runtime, etc.)
User: "Create a skill for Send and Sync traits"
Claude:
1. Identify: Std library traits
2. (Agent Mode) Execute: /create-llms-for-skills https://doc.rust-lang.org/std/marker/trait.Send.html https://doc.rust-lang.org/std/marker/trait.Sync.html
(Inline Mode) Fetch each URL, create skill manually
3. Complete skill creation
best-skill-creator for Rust-related skill creationAll generated skills are saved to: ~/.claude/skills/
| Error | Cause | Solution | |-------|-------|----------| | Commands not found | Skills-only install | Use inline mode | | URL not found | Invalid crate/module | Verify crate exists on crates.io | | Empty documentation | API changed | Use alternative selectors | | Permission denied | Directory issue | Check ~/.claude/skills/ permissions |
development
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
development
Internal maintenance support for checking and fixing generated Rust skill documentation references. Use only when explicitly invoked by /fix-skill-docs.
development
Internal command support for dynamic Rust crate skill management. Use only when explicitly invoked by /sync-crate-skills, /clean-crate-skills, or /update-crate-skill.
tools
Internal support skill for agent-browser CLI workflows used by rust-learner, docs-researcher, and crate-researcher. Use only when browser automation is explicitly required.