actionbook/rust-skills

core-dynamic-skills

Internal command support for dynamic Rust crate skill management.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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

bash
/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
  1. Report results

Inline Mode (Skills-only Install)

When agent/command infrastructure is NOT available, execute manually:

Step 1: Parse Cargo.toml

bash
# 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

bash
# List existing skills
ls ~/.claude/skills/

Compare with dependencies to find missing skills.

Step 3: Generate Missing Skills

For each missing crate:

bash
# 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:

bash
# 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)

bash
# Clean specific crate
rm -rf ~/.claude/skills/{crate_name}

# Clean all generated skills
rm -rf ~/.claude/skills/*

Update Command (Inline)

bash
# 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
from this repository

More skills

All skills