coding-guidelines
Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code…
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
Claude Code
$ npx -y skills add actionbook/rust-skills --skill rust-skill-creator --agent claude-code
Codex
$ npx skills add actionbook/rust-skills --skill rust-skill-creator -a codex -y
Cursor
$ npx skills add actionbook/rust-skills --skill rust-skill-creator -a cursor -y
Gemini CLI
$ npx skills add actionbook/rust-skills --skill rust-skill-creator -a gemini-cli -y
GitHub Copilot
$ npx skills add actionbook/rust-skills --skill rust-skill-creator -a github-copilot -y
OpenCode
$ npx skills add actionbook/rust-skills --skill rust-skill-creator -a opencode -y
Windsurf
$ npx skills add actionbook/rust-skills --skill rust-skill-creator -a windsurf -y
name: rust-skill-creator description: "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" argument-hint: "<crate_name|std::module>" context: fork agent: general-purpose
> **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:
---
**When 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}/referencesCreate `~/.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}
### 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.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.)
Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code…
Internal support skill for actionbook MCP selectors used by Rust documentation research workflows. Use only when another…
Internal support skill for agent-browser CLI workflows used by rust-learner, docs-researcher, and crate-researcher. Use only when…
Internal command support for dynamic Rust crate skill management. Use only when explicitly invoked by /sync-crate-skills,…
Internal maintenance support for checking and fixing generated Rust skill documentation references. Use only when explicitly…
Use when building CLI tools. Keywords: CLI, command line, terminal, clap, structopt, argument parsing, subcommand, interactive,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.