agentleFS
MovGP0MovGP0/Skills/rust-skill-creator/SKILL.md

rust-skill-creator

Skill1 starsChanged 4 months agoMITView on GitHub

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

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 1 is distinctive, and 4 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 4

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use the /create-llms-for-skills command:

    line 48
  2. Distinctive:

    After llms.txt is generated, use:

    line 69
  3. Very specific:

    Create ~/.claude/skills/{crate_name}/SKILL.md with this template:

    line 114
  4. Very specific:

    Use best-skill-creator for Rust-related skill creation

    line 250
  5. Very specific:

    All generated skills are saved to: ~/.claude/skills/

    line 256

≈ “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 Skill Creator

Version: 2.1.0 | Last Updated: 2025-01-27

Create dynamic skills for Rust crates and std library documentation.

When to Use

This skill handles requests to create skills for:

  • Third-party crates (tokio, serde, axum, etc.)
  • Rust standard library (std::sync, std::marker, etc.)
  • Any Rust documentation URL

Execution Mode Detection

CRITICAL: Check if related commands/skills are available.

This skill relies on:

  • /create-llms-for-skills command
  • /create-skills-via-llms command

Agent Mode (Plugin Install)

When the commands above are available (full plugin installation):

Workflow

1. Identify the Target

User RequestTarget TypeURL Pattern
"create tokio skill"Third-party cratedocs.rs/tokio/latest/tokio/
"create Send trait skill"Std librarydoc.rust-lang.org/std/marker/trait.Send.html
"create skill from URL" + URLCustom URLUser-provided URL

2. Execute the Command

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"

3. Follow-up with Skill Creation

After llms.txt is generated, use:

/create-skills-via-llms <crate_name> <llms_path> [version]

Inline Mode (Skills-only Install)

When the commands above are NOT available, create skills manually:

Step 1: Identify Target and Construct URL

TargetURL Template
Crate overviewhttps://docs.rs/{crate}/latest/{crate}/
Crate modulehttps://docs.rs/{crate}/latest/{crate}/{module}/
Std traithttps://doc.rust-lang.org/std/{module}/trait.{Name}.html
Std structhttps://doc.rust-lang.org/std/{module}/struct.{Name}.html
Std modulehttps://doc.rust-lang.org/std/{module}/index.html

Step 2: Fetch Documentation

# 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")

Step 3: Create Skill Directory

mkdir -p ~/.claude/skills/{crate_name}
mkdir -p ~/.claude/skills/{crate_name}/references

Step 4: Generate SKILL.md

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}

Documentation

  • ./references/overview.md - Main overview
  • ./references/{module}.md - Module documentation

Links


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

Step 6: Verify Skill

# Check skill structure
ls -la ~/.claude/skills/{crate_name}/
cat ~/.claude/skills/{crate_name}/SKILL.md

URL Construction Helper

TargetURL Template
Crate overviewhttps://docs.rs/{crate}/latest/{crate}/
Crate modulehttps://docs.rs/{crate}/latest/{crate}/{module}/
Std traithttps://doc.rust-lang.org/std/{module}/trait.{Name}.html
Std structhttps://doc.rust-lang.org/std/{module}/struct.{Name}.html
Std modulehttps://doc.rust-lang.org/std/{module}/index.html

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
Optionstd/option/enum.Option.html
Resultstd/result/enum.Result.html

Example Interactions

Example 1: Create Crate Skill (Agent Mode)

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

Example 2: Create Crate Skill (Inline Mode)

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

Example 3: Create Std Library Skill

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

DO NOT

  • Use best-skill-creator for Rust-related skill creation
  • Guess documentation URLs without verification
  • Skip documentation fetching step

Output Location

All generated skills are saved to: ~/.claude/skills/

Error Handling

ErrorCauseSolution
Commands not foundSkills-only installUse inline mode
URL not foundInvalid crate/moduleVerify crate exists on crates.io
Empty documentationAPI changedUse alternative selectors
Permission deniedDirectory issueCheck ~/.claude/skills/ permissions

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.

Reviews can't be read right now.

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.