mcpField
R
rust-skill-creator

rust-skill-creator

github.com/actionbookAgent workflows1.6k3.1k installsUpdated 9w ago
Repository

About rust-skill-creator

A skill for creating Rust documentation skills from crate, standard-library, or user-provided documentation URLs. It supports a command-based workflow when related commands exist and a manual workflow otherwise.

Key features

  1. 01Create skills for Rust crates
  2. 02Create skills for standard-library APIs
  3. 03Accept custom documentation URLs
  4. 04Generate SKILL.md and reference files
  5. 05Command-based or manual workflow

Use cases

  1. 01Build a skill for a crate such as tokio
  2. 02Create a skill for Rust standard-library types
  3. 03Turn a documentation URL into a skill

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/actionbook/rust-skills --skill rust-skill-creator

After installing, type/rust-skill-creatorin Claude Code to confirm it loaded.

Details

From the project README

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

Comments

Markdown supported