core-dynamic-skills
actionbook/rust-skills
Internal orchestrator for generating and managing Rust crate-specific skills from project dependencies.
What is core-dynamic-skills?
This is an internal skill that manages dynamic generation of crate-specific skills based on Cargo.toml dependencies. It detects missing skills, fetches documentation from docs.rs, and creates local skill files. Use only when explicitly invoked by /sync-crate-skills, /clean-crate-skills, or /update-crate-skill commands.
- Parses Cargo.toml to detect project dependencies and workspace members
- Checks for missing skills in ~/.claude/skills/ and generates them on-demand
- Fetches crate documentation from docs.rs and creates SKILL.md files with references
- Supports both agent-mode (with plugin infrastructure) and inline-mode (manual execution)
- Provides sync, clean, and update commands for managing generated skills
- Handles workspace projects by aggregating and deduplicating dependencies across members
How to install core-dynamic-skills
npx skills add https://github.com/actionbook/rust-skills --skill core-dynamic-skills- Rust project with Cargo.toml file
- ~/.claude/skills/ directory (created automatically)
- Network access to docs.rs for fetching documentation
- For agent-mode: actionbook MCP and /create-llms-for-skills, /create-skills-via-llms commands available
How to use core-dynamic-skills
- 1.Install the skill via: npx skills add https://github.com/actionbook/rust-skills --skill core-dynamic-skills
- 2.Navigate to a Rust project directory containing Cargo.toml
- 3.Invoke /sync-crate-skills to detect and generate skills for all missing dependencies
- 4.Use /update-crate-skill <crate_name> to refresh a specific crate's skill
- 5.Use /clean-crate-skills [crate] to remove generated skills when no longer needed
Use cases
- Automatically generate skills for all dependencies when opening a Rust project with Cargo.toml
- Update a specific crate skill when its documentation or API changes
- Clean up generated skills to reclaim space or reset skill state
- Manage skills across multi-crate workspace projects with shared dependencies
- Fetch and organize API documentation references for unfamiliar crates
- Rust developers using Claude Code or Cursor with the rust-skills plugin
- Teams managing multi-crate Rust projects and workspaces
- Developers who want automated, on-demand skill generation for their dependencies
core-dynamic-skills FAQ
Use this skill only when explicitly invoked by the /sync-crate-skills, /clean-crate-skills, or /update-crate-skill commands. It is designed as an internal orchestrator and should not be manually invoked directly.
Agent-mode uses plugin infrastructure (/create-llms-for-skills, /create-skills-via-llms commands) for automated skill generation. Inline-mode executes manually when agent commands are unavailable, using browser tools and file operations to fetch documentation and create skills.
Generated skills are stored locally in ~/.claude/skills/{crate_name}/ with a SKILL.md file and a references/ subdirectory containing module-specific documentation.
Yes. The skill detects workspace members in Cargo.toml, parses dependencies from each member, aggregates and deduplicates them, then generates skills for all missing crates.
If docs.rs is unreachable due to network issues, the skill will report an error and skip that crate. You can retry the sync command once connectivity is restored.
Full instructions (SKILL.md)
Source of truth, from actionbook/rust-skills.
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
- Check if skill exists at
- Report results
Inline Mode (Skills-only Install)
When agent/command infrastructure is NOT available, execute manually:
Step 1: Parse Cargo.toml
# 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)- Workspace members (if workspace project)
Step 2: Check Existing Skills
# List existing skills
ls ~/.claude/skills/
Compare with dependencies to find missing skills.
Step 3: Generate 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")
Step 4: Workspace Support
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 Command (Inline)
# Clean specific crate
rm -rf ~/.claude/skills/{crate_name}
# Clean all generated skills
rm -rf ~/.claude/skills/*
Update Command (Inline)
# 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
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 |
Related skills
More from actionbook/rust-skills and the wider catalog.

core-fix-skill-docs
Internal maintenance tool for checking and fixing Rust skill documentation references.

domain-cli
Build ergonomic CLI tools with type-safe argument parsing, config layering, and user feedback.

domain-cloud-native
Build cloud-native Rust apps with stateless design, graceful shutdown, and observability patterns.

domain-embedded
Embedded Rust development constraints: no_std, no heap, interrupt safety, and hardware ownership patterns.

domain-fintech
Fintech domain constraints and patterns for Rust: precision, immutability, and audit trails.

domain-iot
Design IoT apps with offline-first, power-efficient, and secure patterns in Rust.