| name | core-dynamic-skills |
| description | Internal command support for dynamic Rust crate skill management. Use only when explicitly invoked by /sync-crate-skills, /clean-crate-skills, or /update-crate-skill. |
| disable-model-invocation | true |
| argument-hint | [--force] | <crate_name> |
| context | fork |
| agent | general-purpose |
Dynamic Skills Manager
Version: 2.1.0 | Last Updated: 2025-01-27
Orchestrates on-demand generation of crate-specific skills based on project dependencies.
Concept
Dynamic skills are:
- Generated locally at
~/.claude/skills/
- Based on Cargo.toml dependencies
- Created using llms.txt from docs.rs
- Versioned and updatable
- Not committed to the rust-skills repository
Trigger Scenarios
Prompt-on-Open
When entering a directory with Cargo.toml:
- Detect Cargo.toml (single or workspace)
- Parse dependencies list
- Check which crates are missing skills
- If missing: "Found X dependencies without skills. Sync now?"
- If confirmed: run
/sync-crate-skills
Manual Commands
/sync-crate-skills - Sync all dependencies
/clean-crate-skills [crate] - Remove skills
/update-crate-skill <crate> - Update specific skill
Execution Mode Detection
CRITICAL: 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.
Agent Mode (Plugin Install)
When full plugin infrastructure is available:
Architecture
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
Workflow Priority
- actionbook MCP - Check for pre-generated llms.txt
- /create-llms-for-skills - Generate llms.txt from docs.rs
- /create-skills-via-llms - Create skills from llms.txt
Sync Command
/sync-crate-skills [--force]
- Parse Cargo.toml for dependencies
- For each dependency:
- Check if skill exists at
~/.claude/skills/{crate}/
- If missing (or --force): generate skill
- Report results
Inline Mode (Skills-only Install)
When agent/command infrastructure is NOT available, execute manually:
Step 1: Parse Cargo.toml
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)
- Workspace members (if workspace project)
Step 2: Check Existing Skills
ls ~/.claude/skills/
Compare with dependencies to find missing skills.
Step 3: Generate Missing Skills
For each missing crate:
agent-browser open "https://docs.rs/{crate}/latest/{crate}/"
agent-browser get text ".docblock"
mkdir -p ~/.claude/skills/{crate}
mkdir -p ~/.claude/skills/{crate}/references
agent-browser open "https://docs.rs/{crate}/latest/{crate}/{module}/"
agent-browser get text ".docblock"
agent-browser close
WebFetch fallback:
WebFetch("https://docs.rs/{crate}/latest/{crate}/", "Extract API documentation overview, key types, and usage examples")
Step 4: Workspace Support
For Cargo workspace projects:
cat Cargo.toml | grep -A 10 '\[workspace\]'
for member in members; do
cat ${member}/Cargo.toml | grep -A 100 '\[dependencies\]'
done
Clean Command (Inline)
rm -rf ~/.claude/skills/{crate_name}
rm -rf ~/.claude/skills/*
Update Command (Inline)
rm -rf ~/.claude/skills/{crate_name}
Local Skills Directory
~/.claude/skills/
โโโ tokio/
โ โโโ SKILL.md
โ โโโ references/
โโโ serde/
โ โโโ SKILL.md
โ โโโ references/
โโโ axum/
โโโ SKILL.md
โโโ references/
Related Commands
/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 Handling
| 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 |