core-dynamic-skills について
Rust プロジェクトの依存関係を基に、クレート固有のスキルをローカルで生成・管理するスキルマネージャーです。Cargo ワークスペースに対応し、環境に応じてエージェント利用モードまたは手動モードで実行します。
主な機能
- 01Cargo.toml の依存関係を解析
- 02不足しているクレートスキルを検出
- 03docs.rs の情報からスキルを生成
- 04ワークスペース依存関係に対応
- 05スキルの同期・更新・削除
活用シーン
- 01Rust プロジェクトの依存関係向けスキル作成
- 02生成済みクレート文書スキルの更新
- 03不要になったクレートスキルの整理
MCP 対応
README では、スキル生成時の事前生成 llms.txt の優先取得元として actionbook MCP が挙げられています。MCP クライアントに提供するツールやリソースについては説明されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ actionbook/ rust-skills --skill core-dynamic-skillsインストール後、Claude Code で/core-dynamic-skillsを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
動的スキルマネージャー
バージョン: 2.1.0 | 最終更新日: 2025-01-27
プロジェクトの依存関係に基づいて、クレート固有のスキルをオンデマンドで生成します。
コンセプト
動的スキルは次のとおりです。
~/.claude/skills/にローカルで生成されます- Cargo.toml の依存関係に基づいています
- docs.rs の llms.txt を使用して作成されます
- バージョン管理され、更新できます
- rust-skills リポジトリにはコミットされません
トリガーとなる状況
起動時のプロンプト
Cargo.toml のあるディレクトリに入ったとき:
- Cargo.toml(単一またはワークスペース)を検出します
- 依存関係の一覧を解析します
- スキルがないクレートを確認します
- 不足している場合:「スキルのない依存関係が X 件見つかりました。今すぐ同期しますか?」
- 承認された場合:
/sync-crate-skillsを実行します
手動コマンド
/sync-crate-skills- すべての依存関係を同期します/clean-crate-skills [crate]- スキルを削除します/update-crate-skill <crate>- 特定のスキルを更新します
実行モードの検出
重要:エージェントとコマンドのインフラストラクチャが利用可能か確認してください。
../../agents/ ディレクトリを読み取ってみてください
/create-llms-for-skills と /create-skills-via-llms コマンドが動作するか確認してください。
エージェントモード(プラグインのインストール)
プラグインのインフラストラクチャがすべて利用可能な場合:
アーキテクチャ
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
ワークフローの優先順位
- actionbook MCP - 生成済みの llms.txt があるか確認します
- /create-llms-for-skills - docs.rs から llms.txt を生成します
- /create-skills-via-llms - llms.txt からスキルを作成します
同期コマンド
/sync-crate-skills [--force]
- Cargo.toml を解析して依存関係を取得します
- 各依存関係について:
~/.claude/skills/{crate}/にスキルがあるか確認します- スキルがない場合(または --force の場合):スキルを生成します
- 結果を報告します
インラインモード(スキルのみのインストール)
エージェント/コマンドのインフラストラクチャが利用できない場合は、手動で実行します:
ステップ 1:Cargo.toml の解析
# Read dependencies
cat Cargo.toml | grep -A 100 '\[dependencies\]' | grep -E '^[a-zA-Z]'
または Read ツールを使用して Cargo.toml を解析し、以下を抽出します:
[dependencies]セクション[dev-dependencies]セクション(任意)- ワークスペースのメンバー(ワークスペースプロジェクトの場合)
ステップ 2:既存スキルの確認
# List existing skills
ls ~/.claude/skills/
依存関係と比較し、不足しているスキルを特定します。
ステップ 3:不足しているスキルの生成
不足しているクレートごとに:
# 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 の代替手段:
WebFetch("https://docs.rs/{crate}/latest/{crate}/", "Extract API documentation overview, key types, and usage examples")
ステップ 4:ワークスペースのサポート
Cargo ワークスペースプロジェクトの場合:
# 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 specific crate
rm -rf ~/.claude/skills/{crate_name}
# Clean all generated skills
rm -rf ~/.claude/skills/*
更新コマンド(インライン)
# 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
ローカルスキルディレクトリ
~/.claude/skills/
├── tokio/
│ ├── SKILL.md
│ └── references/
├── serde/
│ ├── SKILL.md
│ └── references/
└── axum/
├── SKILL.md
└── references/
関連コマンド
/sync-crate-skills- メインの同期コマンド/clean-crate-skills- クリーンアップコマンド/update-crate-skill- 更新コマンド/create-llms-for-skills- llms.txt を生成します(エージェントモードのみ)/create-skills-via-llms- llms.txt からスキルを作成します(エージェントモードのみ)
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
| コマンドが見つかりません | スキルのみのインストール | インラインモードを使用します |
| Cargo.toml が見つかりません | Rust プロジェクトではありません | プロジェクトのルートに移動します |
| docs.rs を利用できません | ネットワークの問題 | 再試行するか、クレートをスキップします |
| アクセスが拒否されました | ディレクトリの問題 | ~/.claude/skills/ のアクセス権を確認します |