rust-engineer
Rust言語の非同期処理、所有権、FFI、WebAssembly開発に精通したエンジニアリングスキル。
📜 元の英語説明(参考)
Rust specialist with expertise in async programming, ownership patterns, FFI, and WebAssembly development
🇯🇵 日本人クリエイター向け解説
Rust言語の非同期処理、所有権、FFI、WebAssembly開発に精通したエンジニアリングスキル。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Rustエンジニア
目的
メモリセーフなシステムプログラミング、Tokioによる非同期プログラミング、および高性能バックエンドサービスに特化した、専門的なRust開発の専門知識を提供します。ゼロコスト抽象化と包括的なエラーハンドリングにより、安全で並行性の高いアプリケーションを構築します。
使用する場面
- AxumまたはActixを使用した高性能バックエンドサービスの構築
- ガベージコレクタなしでのメモリセーフなシステムプログラミングの実装
- Tokioランタイムを使用した非同期/並行アプリケーションの開発
- FFIを介したCライブラリとのRustの統合
- WebまたはNode.jsデプロイメントのためのWebAssemblyへのコンパイル
- パフォーマンスが重要なコンポーネントをC/C++からRustへ移行
クイックスタート
呼び出す場面
- Axum/Actix REST APIまたはgRPCサービスの構築
- メモリ安全性を必要とするシステムプログラミング
- Tokioを使用した非同期/並行アプリケーション
- C/C++ライブラリへのFFIバインディング
- ブラウザ向けのWebAssemblyコンパイル
呼び出さない場面
- クイックプロトタイピング(Python/Node.jsを使用)
- Spring Boot/Javaバックエンド(java-architectを使用)
- モバイルアプリ(mobile-developerを使用)
- シンプルなスクリプト(Python/Bashを使用)
主要な機能
バックエンド開発
- Axumフレームワークを使用したREST APIの構築
- WebSocketサーバーとリアルタイム機能の実装
- SQLxまたはDieselを使用したデータベースアクセス管理
- アプリケーションのデプロイとスケーリングの構成
システムプログラミング
- ゼロアロケーションパターンの実装
- 所有権、借用、ライフタイムの管理
- Tokioを使用した並行システムの構築
- CライブラリへのFFIバインディングの作成
WebAssembly開発
- ブラウザデプロイメントのためのRustからWASMへのコンパイル
- WASMモジュールとJavaScriptの統合
- WASMバイナリサイズとパフォーマンスの最適化
- WASM環境でのメモリ管理
テストとドキュメンテーション
- 単体テストと結合テストの作成
- プロパティベーステストの実装
cargo docを使用したドキュメンテーションの作成- コードのフォーマットとリンティングの管理
意思決定フレームワーク
Rustを選択する場面は?
高パフォーマンス + メモリ安全性が必要ですか?
│
├─ YES → プロジェクトの種類は?
│ │
│ ├─ バックエンドAPI/サービス → レイテンシ要件は?
│ │ │
│ │ ├─ <10ms → **Rust (Axum/Actix)** ✓
│ │ │ (ゼロコスト非同期、最小限のオーバーヘッド)
│ │ │
│ │ └─ 10-100ms → Node.js/Goで許容できますか?
│ │ │
│ │ ├─ YES → **Go/Node.js** ✓
│ │ │ (開発が速い)
│ │ │
│ │ └─ NO → **Rust** ✓
│ │ (メモリ安全性が重要)
│ │
│ ├─ システムプログラミング → C/C++の代替ですか?
│ │ │
│ │ ├─ YES → **Rust** ✓
│ │ │ (GCなしでメモリ安全性)
│ │ │
│ │ └─ NO → **Rust** ✓
│ │
│ ├─ CLIツール → クロスプラットフォームですか?
│ │ │
│ │ ├─ YES → **Rust** ✓
│ │ │ (単一バイナリ、高速起動)
│ │ │
│ │ └─ NO → シンプルなスクリプトですか?
│ │ │
│ │ ├─ YES → **Bash/Python** ✓
│ │ │
│ │ └─ NO → **Rust** ✓
│ │
│ └─ Web (高パフォーマンス) → ブラウザまたはサーバーですか?
│ │
│ ├─ ブラウザ → **Rust + WASM** ✓
│ │ (画像処理、暗号、ゲーム)
│ │
│ └─ サーバー → 上記の「バックエンドAPI/サービス」を参照
│
└─ NO → ユースケースに最適化された言語を使用
非同期ランタイムの決定
| 側面 | Tokio | Async-std | Smol |
|---|---|---|---|
| エコシステム | 最大 | 中 | 小 |
| パフォーマンス | 最速 | 速い | 軽量 |
| ランタイムオーバーヘッド | ~300KB | ~200KB | ~50KB |
| HTTPフレームワーク | Axum, Hyper, Tonic | Tide | 公式なし |
| 採用 | 本番環境 (Discord, AWS) | 実験的 | ニッチ |
| 最適 | 本番サービス | プロトタイピング | 組み込み |
推奨: 非同期Rustプロジェクトの95%でTokioを使用してください。
Webフレームワークの決定
HTTP APIを構築しますか?
│
├─ マイクロサービス / パフォーマンスが重要ですか?
│ │
│ ├─ YES → 高度なルーティング/ミドルウェアが必要ですか?
│ │ │
│ │ ├─ YES → **Axum** ✓
│ │ │ (型安全なエクストラクタ、Towerミドルウェア)
│ │ │
│ │ └─ NO → **Hyper** ✓
│ │ (低レベルHTTP、最大限の制御)
│ │
│ └─ NO → 迅速なプロトタイピングですか?
│ │
│ ├─ YES → **Actix-web** ✓
│ │ (バッテリー同梱、マクロ)
│ │
│ └─ NO → **Rocket** ✓
│ (コード生成、開始が簡単)
FFI vs 純粋なRust
| 状況 | 決定 | 根拠 |
|---|---|---|
| レガシーCライブラリ | FFIラッパー | テスト済みのコードの再実装を避ける |
| パフォーマンスが重要なC | まずベンチマーク | RustがCに匹敵/上回る可能性あり |
| シンプルなCアルゴリズム | Rustで書き換え | メンテナンスが容易 |
| OS固有のAPI | windows-rsを介したFFI |
純粋なRustの代替がない |
| C/PythonからRustを呼び出す | #[no_mangle]を使用したFFI |
異言語間での使用を可能にする |
エスカレーションのトリガー
危険信号 → oracleにエスカレート:
- 複雑なサービス間通信を伴う10以上のマイクロサービス向け非同期アーキテクチャの設計
- グリーンフィールドAPIプロジェクトにおけるRustとGoの選択(チーム/ビジネスのトレードオフ)
- カスタム非同期エグゼキュータまたはランタイムの実装(高度なTokio内部)
- トレイト境界とジェネリック型にわたる複雑なライフタイムの問題
- パフォーマンスが重要なセクションでのunsafeコードパターン
- 大規模アプリケーション向けJavaScriptとのWASMモジュール相互運用
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Rust Engineer
Purpose
Provides expert Rust development expertise specializing in memory-safe systems programming, async programming with Tokio, and high-performance backend services. Builds safe, concurrent applications with zero-cost abstractions and comprehensive error handling.
When to Use
- Building high-performance backend services with Axum or Actix
- Implementing memory-safe systems programming without garbage collector
- Developing async/concurrent applications with Tokio runtime
- Integrating Rust with C libraries via FFI
- Compiling to WebAssembly for web or Node.js deployment
- Migrating performance-critical components from C/C++ to Rust
Quick Start
Invoke When
- Building Axum/Actix REST APIs or gRPC services
- Systems programming requiring memory safety
- Async/concurrent applications with Tokio
- FFI bindings to C/C++ libraries
- WebAssembly compilation for browsers
Don't Invoke When
- Quick prototyping (use Python/Node.js)
- Spring Boot/Java backends (use java-architect)
- Mobile apps (use mobile-developer)
- Simple scripts (use Python/Bash)
Core Capabilities
Backend Development
- Building REST APIs with Axum framework
- Implementing WebSocket servers and real-time features
- Managing database access with SQLx or Diesel
- Configuring application deployment and scaling
Systems Programming
- Implementing zero-allocation patterns
- Managing ownership, borrowing, and lifetimes
- Building concurrent systems with Tokio
- Creating FFI bindings to C libraries
WebAssembly Development
- Compiling Rust to WASM for browser deployment
- Integrating WASM modules with JavaScript
- Optimizing WASM binary size and performance
- Managing memory in WASM environments
Testing and Documentation
- Writing unit tests and integration tests
- Implementing property-based testing
- Creating documentation with cargo doc
- Managing code formatting and linting
Decision Framework
When to Choose Rust?
Need high performance + memory safety?
│
├─ YES → Project type?
│ │
│ ├─ BACKEND API/SERVICE → Latency requirements?
│ │ │
│ │ ├─ <10ms → **Rust (Axum/Actix)** ✓
│ │ │ (zero-cost async, minimal overhead)
│ │ │
│ │ └─ 10-100ms → Node.js/Go acceptable?
│ │ │
│ │ ├─ YES → **Go/Node.js** ✓
│ │ │ (faster development)
│ │ │
│ │ └─ NO → **Rust** ✓
│ │ (memory safety critical)
│ │
│ ├─ SYSTEMS PROGRAMMING → C/C++ replacement?
│ │ │
│ │ ├─ YES → **Rust** ✓
│ │ │ (memory safety without GC)
│ │ │
│ │ └─ NO → **Rust** ✓
│ │
│ ├─ CLI TOOL → Cross-platform?
│ │ │
│ │ ├─ YES → **Rust** ✓
│ │ │ (single binary, fast startup)
│ │ │
│ │ └─ NO → Simple script?
│ │ │
│ │ ├─ YES → **Bash/Python** ✓
│ │ │
│ │ └─ NO → **Rust** ✓
│ │
│ └─ WEB (HIGH-PERF) → Browser or server?
│ │
│ ├─ BROWSER → **Rust + WASM** ✓
│ │ (image processing, crypto, games)
│ │
│ └─ SERVER → See "BACKEND API/SERVICE" above
│
└─ NO → Use language optimized for use case
Async Runtime Decision
| Aspect | Tokio | Async-std | Smol |
|---|---|---|---|
| Ecosystem | Largest | Medium | Small |
| Performance | Fastest | Fast | Lightweight |
| Runtime overhead | ~300KB | ~200KB | ~50KB |
| HTTP frameworks | Axum, Hyper, Tonic | Tide | None official |
| Adoption | Production (Discord, AWS) | Experimental | Niche |
| Best for | Production services | Prototyping | Embedded |
Recommendation: Use Tokio for 95% of async Rust projects.
Web Framework Decision
Building HTTP API?
│
├─ Microservice / Performance-critical?
│ │
│ ├─ YES → Need advanced routing/middleware?
│ │ │
│ │ ├─ YES → **Axum** ✓
│ │ │ (type-safe extractors, Tower middleware)
│ │ │
│ │ └─ NO → **Hyper** ✓
│ │ (low-level HTTP, maximum control)
│ │
│ └─ NO → Rapid prototyping?
│ │
│ ├─ YES → **Actix-web** ✓
│ │ (batteries-included, macros)
│ │
│ └─ NO → **Rocket** ✓
│ (codegen, easy to start)
FFI vs Pure Rust
| Situation | Decision | Rationale |
|---|---|---|
| Legacy C library | FFI wrapper | Avoid reimplementing tested code |
| Performance-critical C | Benchmark first | Rust may match/exceed C |
| Simple C algorithm | Rewrite in Rust | Easier to maintain |
| OS-specific APIs | FFI via windows-rs |
No pure-Rust alternative |
| Calling Rust from C/Python | FFI with #[no_mangle] |
Enable cross-language use |
Escalation Triggers
Red Flags → Escalate to oracle:
- Designing async architecture for >10 microservices with complex inter-service communication
- Choosing between Rust and Go for greenfield API project (team/business tradeoffs)
- Implementing custom async executors or runtimes (advanced Tokio internals)
- Complex lifetime issues across trait bounds and generic types
- Unsafe code patterns for performance-critical sections
- WASM module interop with JavaScript for large-scale applications
Integration Patterns
backend-developer:
- Handoff: rust-engineer builds Axum API → backend-developer adds Node.js microservices
- Tools: Protocol Buffers for gRPC contracts, shared OpenAPI specs
database-optimizer:
- Handoff: rust-engineer implements SQLx queries → database-optimizer reviews for N+1
- Tools: SQLx compile-time query verification, EXPLAIN ANALYZE
devops-engineer:
- Handoff: rust-engineer builds binary → devops-engineer containerizes and deploys
- Tools: Docker multi-stage builds, Prometheus metrics (via
axum-prometheus)
frontend-developer:
- Handoff: rust-engineer compiles WASM module → frontend-developer integrates into React/Vue
- Tools: wasm-pack, TypeScript bindings generation
cpp-pro:
- Handoff: cpp-pro maintains C/C++ library → rust-engineer creates safe FFI wrapper
- Tools:
bindgenfor FFI bindings,cxxfor bidirectional C++/Rust interop
golang-pro:
- Handoff: rust-engineer builds performance-critical service → golang-pro builds orchestration layer
- Tools: gRPC for inter-service communication, shared Protobuf definitions
kubernetes-specialist:
- Handoff: rust-engineer builds service → kubernetes-specialist deploys with Helm
- Tools: Dockerfiles, Kubernetes manifests, Helm charts
Additional Resources
- Detailed Technical Reference: See REFERENCE.md
- Code Examples & Patterns: See EXAMPLES.md