mcpField
R
rust-router

rust-router

github.com/actionbookエージェントワークフロー1.6k2.7k 回インストール9 週間前に更新
リポジトリ

rust-router について

Rust のエラー、概念、アプリケーション領域に応じて関連スキルへ案内するルーティングスキルです。段階的な調査を促し、領域キーワードがある場合は言語層と領域層の両方のスキルを読み込むよう指定します。

主な機能

  1. 01コンパイルエラーや概念の振り分け
  2. 02質問を認知レイヤーに対応付け
  3. 03指定領域で関連スキルを併用
  4. 04比較時のネゴシエーション開始
  5. 05クレートやタスク別の質問を案内

活用シーン

  1. 01Rust コンパイルエラーに対応するスキルの特定
  2. 02領域制約を踏まえた設計質問の検討
  3. 03比較やベストプラクティス質問の振り分け

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/actionbook/rust-skills --skill rust-router

インストール後、Claude Code で/rust-routerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

examples/
workflow.md
integrations/
os-checker.md
patterns/
negotiation.md

詳細


Rust 質問ルーター

バージョン: 2.0.0 | 最終更新日: 2025-01-22

v2.0: コンテキストを最適化しました。詳細な例はサブファイルに移動しました。

メタ認知フレームワーク

基本原則

直接回答しないでください。まず認知レイヤーをたどってください。

Layer 3: Domain Constraints (WHY)
├── Business rules, regulatory requirements
├── domain-fintech, domain-web, domain-cli, etc.
└── "Why is it designed this way?"

Layer 2: Design Choices (WHAT)
├── Architecture patterns, DDD concepts
├── m09-m15 skills
└── "What pattern should I use?"

Layer 1: Language Mechanics (HOW)
├── Ownership, borrowing, lifetimes, traits
├── m01-m07 skills
└── "How do I implement this in Rust?"
エントリーポイントによるルーティング
ユーザーのシグナルエントリーレイヤー方向最初のスキル
E0xxx エラーレイヤー 1上にたどる ↑m01-m07
コンパイルエラーレイヤー 1上にたどる ↑下記のエラーテーブル
「設計方法は……」レイヤー 2L3 を確認してから下へ ↓m09-domain
「[domain] アプリを構築」レイヤー 3下にたどる ↓domain-*
「ベストプラクティス……」レイヤー 2両方向m09-m15
パフォーマンスの問題レイヤー 1 → 2上に進んでから下へm10-performance
重要:2 つのスキルを読み込む

ドメインのキーワードが含まれる場合、必ず両方のスキルを読み込んでください:

ドメインのキーワードL1 スキルL3 スキル
Web API、HTTP、axum、handlerm07-concurrencydomain-web
取引、決済、trading、paymentm01-ownershipdomain-fintech
CLI、terminal、clapm07-concurrencydomain-cli
kubernetes、grpc、microservicem07-concurrencydomain-cloud-native
embedded、no_std、MCUm02-resourcedomain-embedded

CLAUDE への指示

重要:ネゴシエーションプロトコルのトリガー

回答する前に、ネゴシエーションが必要かどうかを確認してください:

クエリに含まれる語句アクション
「比較」、「対比」、「compare」、「vs」、「versus」必ずネゴシエーションを行う
「ベストプラクティス」、「best practice」必ずネゴシエーションを行う
ドメイン + エラー(例:「取引システム E0382」)必ずネゴシエーションを行う
スコープが曖昧(例:「tokio のパフォーマンス」)ネゴシエーションを行うことを推奨

ネゴシエーションが必要な場合、次を含めてください:

## Negotiation Analysis

**Query Type:** [Comparative | Cross-domain | Synthesis | Ambiguous]
**Negotiation:** Enabled

### Source: [Agent/Skill Name]
**Confidence:** HIGH | MEDIUM | LOW | UNCERTAIN
**Gaps:** [What's missing]

## Synthesized Answer
[Answer]

**Overall Confidence:** [Level]
**Disclosed Gaps:** [Gaps user should know]

詳細なプロトコル: patterns/negotiation.md


デフォルトのプロジェクト設定

新しい Rust プロジェクトまたは Cargo.toml ファイルを作成する場合は、必ず次を使用してください:

[package]
edition = "2024"  # ALWAYS use latest stable edition
rust-version = "1.85"

[lints.rust]
unsafe_code = "warn"

[lints.clippy]
all = "warn"
pedantic = "warn"

レイヤー 1 のスキル(言語の仕組み)

パターン振り分け先
move、borrow、lifetime、E0382、E0597m01-ownership
Box、Rc、Arc、RefCell、Cellm02-resource
mut、内部可変性、E0499、E0502、E0596m03-mutability
generic、trait、inline、単相化m04-zero-cost
型状態、phantom、newtypem05-type-driven
Result、Error、panic、?、anyhow、thiserrorm06-error-handling
Send、Sync、thread、async、channelm07-concurrency
unsafe、FFI、extern、raw pointer、transmuteunsafe-checker

レイヤー 2 のスキル(設計上の選択肢)

パターン振り分け先
ドメインモデル、ビジネスロジックm09-domain
パフォーマンス、最適化、ベンチマークm10-performance
統合、相互運用、バインディングm11-ecosystem
リソースのライフサイクル、RAII、Dropm12-lifecycle
ドメインエラー、回復戦略m13-domain-error
メンタルモデル、考え方m14-mental-model
アンチパターン、よくある間違い、落とし穴m15-anti-pattern

レイヤー 3 のスキル(ドメインの制約)

ドメインのキーワード振り分け先
fintech、trading、decimal、currencydomain-fintech
ml、tensor、model、inferencedomain-ml
kubernetes、docker、grpc、microservicedomain-cloud-native
embedded、sensor、mqtt、iotdomain-iot
Web サーバー、HTTP、REST、axum、actixdomain-web
CLI、コマンドライン、clap、terminaldomain-cli
no_std、microcontroller、firmwaredomain-embedded

エラーコードの振り分け

エラーコード振り分け先よくある原因
E0382m01-ownershipムーブされた値の使用
E0597m01-ownershipライフタイムが短すぎる
E0506m01-ownership借用中の値に代入できない
E0507m01-ownership借用中の値をムーブできない
E0515m01-ownershipローカル変数への参照を返す
E0716m01-ownership一時値が破棄された
E0106m01-ownershipライフタイム指定子がない
E0596m03-mutability可変として借用できない
E0499m03-mutability複数の可変借用
E0502m03-mutability借用の競合
E0277m04/m07トレイト境界を満たしていない
E0308m04-zero-cost型が一致しない
E0599m04-zero-costメソッドが見つからない
E0038m04-zero-costトレイトがオブジェクトセーフではない
E0433m11-ecosystemクレート/モジュールが見つからない

機能別振り分け表

パターン振り分け先アクション
最新バージョン、新機能rust-learnerエージェントを使用
API、ドキュメント、ドキュメンテーションdocs-researcherエージェントを使用
コードスタイル、命名、clippycoding-guidelinesスキルを読む
unsafe コード、FFIunsafe-checkerスキルを読む
コードレビューos-checkerintegrations/os-checker.md を参照

優先順位

  1. 認知レイヤーを特定する(L1/L2/L3)
  2. エントリースキルを読み込む(m0x/m1x/domain)
  3. レイヤーをたどる(UP または DOWN)
  4. 「Trace」セクションの指示に従ってスキルを相互参照する
  5. 推論の連鎖を示して回答する
キーワードの競合解決
キーワード解決方法
unsafeunsafe-checker(m11 より具体的)
error一般的な場合は m06、ドメイン固有の場合は m13
RAII設計では m12、実装では m01
crateバージョンでは rust-learner、統合では m11
tokioAPI では tokio-*、概念では m07

優先順位の階層:

1. Error codes (E0xxx) → Direct lookup, highest priority
2. Negotiation triggers (compare, vs, best practice) → Enable negotiation
3. Domain keywords + error → Load BOTH domain + error skills
4. Specific crate keywords → Route to crate-specific skill if exists
5. General concept keywords → Route to meta-question skill

サブファイルの参照

ファイル内容
patterns/negotiation.md交渉プロトコルの詳細
examples/workflow.mdワークフローの例
integrations/os-checker.mdOS-Checker の統合

コメント