Rust Skills

2026-08-30 浏览 (2)

Rust Skills

English | 中文

メタ認知フレームワークを備えた AI Rust 開発アシスタント

Version License: MIT Claude Code

Rust Skills とは?

Rust Skills は Claude Code プラグインで、AI による Rust 開発支援の方法を変革します。表面的な回答ではなく、認知層を遡ってドメイン的に正しいアーキテクチャソリューションを提供します。

問題点

従来の AI による Rust 支援:

ユーザー: "取引システムで E0382 エラーが出ます"
AI: ".clone() を使ってください"  ← 表面的な修正、ドメイン制約を無視

解決策

メタ認知を備えた Rust Skills:

ユーザー: "取引システムで E0382 エラーが出ます"

AI (Rust Skills 使用):
├── Layer 1: E0382 = 所有権エラー → なぜこのデータが必要?
│       ↑
├── Layer 3: 取引記録は不変の監査データ → コピーではなく共有すべき
│       ↓
├── Layer 2: Arc<TradeRecord> を共有不変値として使用
│       ↓
└── 推奨: clone() ではなく Arc<T> として再設計

機能

  • メタ認知フレームワーク: 3層認知モデル (ドメイン → 設計 → 機構)
  • リアルタイム情報取得: バックグラウンドエージェントで最新の Rust バージョンと crate 情報を取得
  • 動的 Skills: Cargo.toml の依存関係から自動的に skills を生成
  • ドメイン拡張: FinTech、ML、クラウドネイティブ、IoT、組み込み、Web、CLI をサポート
  • コーディング規約: 完全な Rust コーディング規約とベストプラクティス

インストール

Rust Skills は2つのインストールモードをサポートしています:

  • Plugin モード(Claude Code):hooks、agents、自動メタ認知トリガーを含む完全機能
  • Skills-only モード:skills をサポートする任意のコーディングエージェントで動作(Claude Code、Vercel AI など)

Skills-only インストール(推奨)

最もシンプルな方法。Claude Code、Vercel add-skills など、skills をサポートする任意のコーディングエージェントで動作します。

Skills にはインラインフォールバックロジックが組み込まれており、エージェントファイルが利用できない場合、組み込みツール(actionbook、agent-browser、WebFetch)を使用して直接実行します。

方法 A:NPX(最も簡単)

npx skills add actionbook/rust-skills

方法 B:CoWork CLI

CoWork(Rust ベースの skills 管理ツール)を使用してインストール:

# CoWork をインストール
cargo install cowork

# 方法 1:直接インストール
cowork install actionbook/rust-skills

# 方法 2:設定ファイルベースのインストール(チーム向け推奨)
cowork config init                    # .cowork/Skills.toml を作成
# Skills.toml を編集して rust-skills を追加(下記参照)
cowork config install                 # 設定された全 skills をインストール

Skills.toml 設定例:

[project]
name = "my-rust-project"

[skills.install]
rust-skills = "actionbook/rust-skills"

[security]
trusted_authors = ["ZhangHanDong"]

CoWork(短縮形 co)はバージョン管理、依存関係解決、lock ファイル、セキュリティ監査を提供します。詳細は CoWork ドキュメント を参照してください。

方法 C:手動コピー

git clone https://github.com/actionbook/rust-skills.git
cp -r rust-skills/skills/* ~/.claude/skills/

注意:Skills-only モードには hooks が含まれないため、メタ認知は自動トリガーされません。/rust-router または特定の skills を手動で呼び出せます。バックグラウンドエージェントは自動的にインライン実行にフォールバックします。


Claude Code Plugin インストール(完全機能)

hooks、バックグラウンドエージェント、自動メタ認知トリガーを含む完全な体験を求める Claude Code ユーザー向け。

方法 A:Marketplace

# ステップ 1: marketplace を追加
/plugin marketplace add actionbook/rust-skills

# ステップ 2: プラグインをインストール
/plugin install rust-skills@rust-skills

注意:ステップ 1 は marketplace(プラグインソース)を追加するだけです。ステップ 2 で実際に rust-skills プラグインをインストールし、すべての機能を有効にします。

方法 B:完全プラグイン(ローカル)

# リポジトリをクローン
git clone https://github.com/actionbook/rust-skills.git

# プラグインディレクトリで起動
claude --plugin-dir /path/to/rust-skills

機能比較

機能Plugin(Marketplace)Plugin(ローカル)Skills-only(NPX/CoWork/手動)
全 31 Skills
自動メタ認知トリガー❌(手動呼び出し)
Hook ルーティング
バックグラウンドエージェント✅(インラインフォールバック)
簡単な更新✅(NPX/CoWork)
他のエージェントとの互換性

権限設定

バックグラウンドエージェントには agent-browser を実行する権限が必要です。プロジェクトで設定:

# サンプル設定をコピー
cp /path/to/rust-skills/.claude/settings.example.json .claude/settings.local.json

または手動で作成:

mkdir -p .claude
cat > .claude/settings.local.json << 'EOF'
{
  "permissions": {
    "allow": [
      "Bash(agent-browser *)"
    ]
  }
}
EOF

.claude/settings.example.json を参照してください。

その他のプラットフォーム

依存 Skills

Rust Skills は完全な機能のために以下の外部ツールに依存しています:

ツール説明GitHub
actionbookウェブサイトアクションマニュアル用 MCP サーバー。エージェントが構造化されたウェブコンテンツ(Rust リリース、crate 情報、ドキュメント)を取得するために使用。actionbook/actionbook
agent-browserリアルタイムウェブデータ取得のためのブラウザ自動化ツール。actionbook が利用できない場合のフォールバック。vercel-labs/agent-browser

メタ認知フレームワーク

コアコンセプト

直接回答せず、まず認知層を遡る。

Layer 3: ドメイン制約 (WHY - なぜ)
├── ドメインルールが設計選択を決定
└── 例:金融システムは不変で監査可能なデータを要求

Layer 2: 設計選択 (WHAT - 何を)
├── デザインパターンとアーキテクチャ決定
└── 例:共有不変データに Arc<T> を使用

Layer 1: 言語機構 (HOW - どのように)
├── Rust 言語機能とコンパイラルール
└── 例:E0382 は所有権設計問題の症状

ルーティングルール

ユーザーシグナルエントリ層遡り方向優先 Skill
E0xxx エラーLayer 1上へ遡る ↑m01-m07
"設計方法..."Layer 2双方向m09-m15
"[ドメイン]アプリ開発"Layer 3下へ遡る ↓domain-*
パフォーマンス問題Layer 1→2上から下m10-performance

Skills 概要

コア Skills

  • rust-router - すべての Rust 質問のマスタールーター(最初に呼び出し)
  • rust-learner - 最新の Rust/crate バージョン情報を取得
  • coding-guidelines - コーディング規約の検索

Layer 1: 言語機構 (m01-m07)

Skillコア質問トリガー
m01-ownershipこのデータは誰が所有すべき?E0382, E0597, move, borrow
m02-resourceどの所有権パターンが適切?Box, Rc, Arc, RefCell
m03-mutabilityなぜこのデータを変更する必要が?mut, Cell, E0596, E0499
m04-zero-costコンパイル時か実行時の多態性?generic, trait, E0277
m05-type-driven型で無効な状態を防ぐには?newtype, PhantomData
m06-error-handling予期される失敗かバグか?Result, Error, panic, ?
m07-concurrencyCPU バウンドか I/O バウンドか?async, Send, Sync, thread

Layer 2: 設計選択 (m09-m15)

Skillコア質問トリガー
m09-domainこの概念のドメインでの役割は?DDD, entity, value object
m10-performanceボトルネックはどこ?benchmark, profiling
m11-ecosystemどの crate がこのタスクに適切?crate 選択, 依存関係
m12-lifecycleいつ作成、使用、クリーンアップ?RAII, Drop, lazy init
m13-domain-error誰がこのエラーを処理?retry, circuit breaker
m14-mental-modelこの概念の正しい考え方は?Rust 学習, なぜ
m15-anti-patternこのパターンは設計問題を隠している?code smell, よくある間違い

Layer 3: ドメイン制約 (domain-*)

Skillドメインコア制約
domain-fintechFinTech監査証跡, 精度, 一貫性
domain-ml機械学習メモリ効率, GPU アクセラレーション
domain-cloud-nativeクラウドネイティブ12-Factor, 可観測性, グレースフルシャットダウン
domain-iotIoTオフラインファースト, 電力管理, セキュリティ
domain-webWeb サービスステートレス, レイテンシ SLA, 並行性
domain-cliCLIUX, 設定優先順位, 終了コード
domain-embedded組み込みヒープなし, no_std, リアルタイム

コマンド

コマンド説明
/rust-features [version]Rust バージョン機能を取得
/crate-info <crate>crate 情報を取得
/docs <crate> [item]API ドキュメントを取得
/sync-crate-skillsCargo.toml から skills を同期
/update-crate-skill <crate>指定 crate skill を更新
/clean-crate-skillsローカル crate skills をクリーン

動的 Skills

プロジェクトの依存関係からオンデマンドで skills を生成:

# Rust プロジェクトに入る
cd my-rust-project

# すべての依存関係を同期
/sync-crate-skills

# Skills は ~/.claude/skills/{crate}/ に作成されます

特徴

  • オンデマンド生成: Cargo.toml 依存関係から作成
  • ローカルストレージ: ~/.claude/skills/
  • バージョン追跡: 各 skill が crate バージョンを記録
  • ワークスペースサポート: すべてのワークスペースメンバーを解析

動作原理

ユーザー質問
     │
     ▼
┌─────────────────────────────────────────┐
│           Hook レイヤー                  │
│  400+ キーワードでメタ認知をトリガー      │
└─────────────────────────────────────────┘
     │
     ▼
┌─────────────────────────────────────────┐
│           rust-router                    │
│  エントリ層 + ドメインを識別              │
│  決定: デュアルスキルロード               │
└─────────────────────────────────────────┘
     │
     ├──────────────┬──────────────┐
     ▼              ▼              ▼
┌──────────┐  ┌──────────┐  ┌──────────┐
│ Layer 1  │  │ Layer 2  │  │ Layer 3  │
│ m01-m07  │  │ m09-m15  │  │ domain-* │
└──────────┘  └──────────┘  └──────────┘
     │
     ▼
ドメイン的に正しいアーキテクチャソリューション

ドキュメント

貢献

貢献を歓迎します!PR を提出する前に貢献ガイドラインをお読みください。

謝辞

  • @pinghe - context: fork サポートの提案 (#4)
  • @DoiiarX - OpenCode インストール修正 (#6)

ライセンス

MIT ライセンス - 詳細は LICENSE を参照

リンク

  • GitHub: https://github.com/actionbook/rust-skills
  • Issues: https://github.com/actionbook/rust-skills/issues

你可能感兴趣的文章

Rust Skills - Claude Instructions

Rust Skills

Rust Skills Trigger Test Checklist

Rust Skills - Agent Instructions

Rust Skills Review Report

Rust Skills

Changelog

  • 所属分类: AI
  • 本文标签: rust
  • 版权声明: 本文链接 https://seaxiang.com/blog/sVADResh