PluginBench
Skill
Review
Audit score 70

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
Prerequisites
  • 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
Claude Code
Cursor
Windsurf
Cline

How to use core-dynamic-skills

  1. 1.Install the skill via: npx skills add https://github.com/actionbook/rust-skills --skill core-dynamic-skills
  2. 2.Navigate to a Rust project directory containing Cargo.toml
  3. 3.Invoke /sync-crate-skills to detect and generate skills for all missing dependencies
  4. 4.Use /update-crate-skill <crate_name> to refresh a specific crate's skill
  5. 5.Use /clean-crate-skills [crate] to remove generated skills when no longer needed

Use cases

Good for
  • 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
Who it's for
  • 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

When should I use this skill?

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.

What's the difference between agent-mode and inline-mode?

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.

Where are generated skills stored?

Generated skills are stored locally in ~/.claude/skills/{crate_name}/ with a SKILL.md file and a references/ subdirectory containing module-specific documentation.

Does this work with Cargo workspaces?

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.

What happens if docs.rs is unavailable?

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:

  1. Detect Cargo.toml (single or workspace)
  2. Parse dependencies list
  3. Check which crates are missing skills
  4. If missing: "Found X dependencies without skills. Sync now?"
  5. 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

  1. actionbook MCP - Check for pre-generated llms.txt
  2. /create-llms-for-skills - Generate llms.txt from docs.rs
  3. /create-skills-via-llms - Create skills from llms.txt

Sync Command

/sync-crate-skills [--force]
  1. Parse Cargo.toml for dependencies
  2. For each dependency:
    • Check if skill exists at ~/.claude/skills/{crate}/
    • If missing (or --force): generate skill
  3. 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

ErrorCauseSolution
Commands not foundSkills-only installUse inline mode
Cargo.toml not foundNot in Rust projectNavigate to project root
docs.rs unavailableNetwork issueRetry or skip crate
Permission deniedDirectory issueCheck ~/.claude/skills/ permissions