actionbook/rust-skills

core-dynamic-skills

Internal command support for dynamic Rust crate skill management.

Ver código-fonte

Como usar

  1. Copie o comando e verifique o pacote antes de instalar no seu ambiente de agente.
  2. Consulte no original as ferramentas, credenciais e ambientes necessários.
  3. Descreva os dados de entrada e a entrega esperada; confira a saída com as fontes.
npx skills add https://github.com/actionbook/rust-skills --skill core-dynamic-skills

Antes de começar

  • A instalação não inclui assinatura de modelo, franquia API ou acesso aos seus arquivos.
  • Estrelas e instalações indicam atividade, não um teste independente de qualidade ou segurança.
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

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

Relacionados por tarefa

do mesmo repositório

Mais Skills

Todos os Skills
actionbook
Comunidade

coding-guidelines

Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT, code review, naming convention, variable naming, function naming, type naming, 命名规范, 代码风格, 格式化, 最佳实践, 代码审查, 怎么命名

instalações
2
GitHub Stars
1,5 mil
Atualizado
23 de ago.
actionbook
Comunidade

m03-mutability

CRITICAL: Use for mutability issues. Triggers: E0596, E0499, E0502, cannot borrow as mutable, already borrowed as immutable, mut, &mut, interior mutability, Cell, RefCell, Mutex, RwLock, 可变性, 内部可变性, 借用冲突

instalações
2
GitHub Stars
1,5 mil
Atualizado
23 de ago.
actionbook
Comunidade

m04-zero-cost

CRITICAL: Use for generics, traits, zero-cost abstraction. Triggers: E0277, E0308, E0599, generic, trait, impl, dyn, where, monomorphization, static dispatch, dynamic dispatch, impl Trait, trait bound not satisfied, 泛型, 特征, 零成本抽象, 单态化

instalações
2
GitHub Stars
1,5 mil
Atualizado
23 de ago.
actionbook
Comunidade

m06-error-handling

CRITICAL: Use for error handling. Triggers: Result, Option, Error, ?, unwrap, expect, panic, anyhow, thiserror, when to panic vs return Result, custom error, error propagation, 错误处理, Result 用法, 什么时候用 panic

instalações
2
GitHub Stars
1,5 mil
Atualizado
23 de ago.