core-dynamic-skills

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.

Skill file

Preview skill file
---
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

```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
3. 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

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

Source

Creator's repository · actionbook/rust-skills

View on GitHub

Security

Security checks in progress
Results will appear here once audits complete
What this skill can do
Reads your filesConnects to the internetRuns code on your machine
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk