Loading...
Loading...
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 skill4agent add actionbook/rust-skills rust-skill-creatorVersion: 2.1.0 | Last Updated: 2025-01-27Create dynamic skills for Rust crates and std library documentation.
/create-llms-for-skills/create-skills-via-llms| User Request | Target Type | URL Pattern |
|---|---|---|
| "create tokio skill" | Third-party crate | |
| "create Send trait skill" | Std library | |
| "create skill from URL" + URL | Custom URL | User-provided URL |
/create-llms-for-skills/create-llms-for-skills <url> [requirements]# 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"/create-skills-via-llms <crate_name> <llms_path> [version]| Target | URL Template |
|---|---|
| Crate overview | |
| Crate module | |
| Std trait | |
| Std struct | |
| Std module | |
# Using agent-browser CLI
agent-browser open "<documentation_url>"
agent-browser get text ".docblock"
agent-browser closeWebFetch("<documentation_url>", "Extract API documentation including types, functions, and examples")mkdir -p ~/.claude/skills/{crate_name}
mkdir -p ~/.claude/skills/{crate_name}/references~/.claude/skills/{crate_name}/SKILL.md---
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./references/{module}.md
### 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 | |
| Crate module | |
| Std trait | |
| Std struct | |
| Std module | |
| Item | Path |
|---|---|
| Send, Sync, Copy, Clone | |
| Arc, Mutex, RwLock | |
| Rc, Weak | |
| RefCell, Cell | |
| Box | |
| Vec | |
| String | |
| Option | |
| Result | |
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.txtUser: "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 creationbest-skill-creator~/.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 |