From rust-skills
Generates and syncs Claude skills for Rust crate dependencies by parsing Cargo.toml and fetching docs.rs data. Use /sync-crate-skills [--force] in Rust projects.
npx claudepluginhub actionbook/rust-skills --plugin rust-skillsThis skill uses the workspace's default tool permissions.
> **Version:** 2.1.0 | **Last Updated:** 2025-01-27
Create, update, and manage Claude Code skills including SKILL.md files, slash commands, directory structures, frontmatter, substitutions, and invocation controls.
Guides creation of new Claude Code skills from scratch, listing existing user/project skills, samples, current directory, and providing metadata templates for descriptions/tags.
Creates dynamic skills from Rust crate or std library documentation URLs. Supports third-party crates like tokio, serde, axum and std modules/traits.
Share bugs, ideas, or general feedback.
Version: 2.1.0 | Last Updated: 2025-01-27
Orchestrates on-demand generation of crate-specific skills based on project dependencies.
Dynamic skills are:
~/.claude/skills/When entering a directory with Cargo.toml:
/sync-crate-skills/sync-crate-skills - Sync all dependencies/clean-crate-skills [crate] - Remove skills/update-crate-skill <crate> - Update specific skillCRITICAL: Check if agent and command infrastructure is available.
Try to read: ../../agents/ directory
Check if /create-llms-for-skills and /create-skills-via-llms commands work.
When full plugin infrastructure is available:
Cargo.toml
↓
Parse dependencies
↓
For each crate:
├─ Check ~/.claude/skills/{crate}/
├─ If missing: Check actionbook for llms.txt
│ ├─ Found: /create-skills-via-llms
│ └─ Not found: /create-llms-for-skills first
└─ Load skill
/sync-crate-skills [--force]
~/.claude/skills/{crate}/When agent/command infrastructure is NOT available, execute manually:
# Read dependencies
cat Cargo.toml | grep -A 100 '\[dependencies\]' | grep -E '^[a-zA-Z]'
Or use Read tool to parse Cargo.toml and extract:
[dependencies] section[dev-dependencies] section (optional)# List existing skills
ls ~/.claude/skills/
Compare with dependencies to find missing skills.
For each missing crate:
# 1. Fetch crate documentation
agent-browser open "https://docs.rs/{crate}/latest/{crate}/"
agent-browser get text ".docblock"
# Save content
# 2. Create skill directory
mkdir -p ~/.claude/skills/{crate}
mkdir -p ~/.claude/skills/{crate}/references
# 3. Create SKILL.md
# Use template from rust-skill-creator inline mode
# 4. Create reference files for key modules
agent-browser open "https://docs.rs/{crate}/latest/{crate}/{module}/"
agent-browser get text ".docblock"
# Save to ~/.claude/skills/{crate}/references/{module}.md
agent-browser close
WebFetch fallback:
WebFetch("https://docs.rs/{crate}/latest/{crate}/", "Extract API documentation overview, key types, and usage examples")
For Cargo workspace projects:
# 1. Parse root Cargo.toml for workspace members
cat Cargo.toml | grep -A 10 '\[workspace\]'
# 2. For each member, parse their Cargo.toml
for member in members; do
cat ${member}/Cargo.toml | grep -A 100 '\[dependencies\]'
done
# 3. Aggregate and deduplicate dependencies
# 4. Generate skills for missing crates
# Clean specific crate
rm -rf ~/.claude/skills/{crate_name}
# Clean all generated skills
rm -rf ~/.claude/skills/*
# Remove old skill
rm -rf ~/.claude/skills/{crate_name}
# Re-generate (same as sync for single crate)
# Follow Step 3 above for the specific crate
~/.claude/skills/
├── tokio/
│ ├── SKILL.md
│ └── references/
├── serde/
│ ├── SKILL.md
│ └── references/
└── axum/
├── SKILL.md
└── references/
/sync-crate-skills - Main sync command/clean-crate-skills - Cleanup command/update-crate-skill - Update command/create-llms-for-skills - Generate llms.txt (Agent Mode only)/create-skills-via-llms - Create skills from llms.txt (Agent Mode only)| Error | Cause | Solution |
|---|---|---|
| Commands not found | Skills-only install | Use inline mode |
| Cargo.toml not found | Not in Rust project | Navigate to project root |
| docs.rs unavailable | Network issue | Retry or skip crate |
| Permission denied | Directory issue | Check ~/.claude/skills/ permissions |