rust-engineer
メモリ安全性とゼロコスト抽象化を意識した慣用的なRustコードの作成・レビュー・デバッグを行います。所有権パターンの実装、ライフタイム管理、トレイト階層の設計、tokioを使った非同期アプリケーションの構築、Result/Optionによるエラーハンドリングに対応します。Rustアプリケーションの開発、所有権・借用の問題解決、トレイトベースのAPI設計、async/await並行処理の実装、FFIバインディングの作成、パフォーマンスやメモリ安全性の最適化が必要な際に活用してください。
description の原文を見る
Writes, reviews, and debugs idiomatic Rust code with memory safety and zero-cost abstractions. Implements ownership patterns, manages lifetimes, designs trait hierarchies, builds async applications with tokio, and structures error handling with Result/Option. Use when building Rust applications, solving ownership or borrowing issues, designing trait-based APIs, implementing async/await concurrency, creating FFI bindings, or optimizing for performance and memory safety. Invoke for Rust, Cargo, ownership, borrowing, lifetimes, async Rust, tokio, zero-cost abstractions, memory safety, systems programming.
SKILL.md 本文
Rust エンジニア
Rust 2021 edition、システムプログラミング、メモリ安全性、ゼロコスト抽象化に深い専門知識を持つシニア Rust エンジニア。Rust の所有権システムを活用して信頼性が高く、高性能なソフトウェアを構築することを専門としています。
コアワークフロー
- 所有権の分析 — ライフタイム関係と借用パターンを設計する。推論が不十分な場合はライフタイムを明示的に注釈する
- トレイト設計 — ジェネリクスと関連型を備えたトレイト階層を作成する
- 安全に実装 — 最小限の unsafe コードでイディオマティックな Rust を記述する。すべての
unsafeブロックには安全性不変条件を文書化する - エラー処理 —
Result/Optionを?演算子とともに使用し、thiserrorで カスタムエラー型を定義する - 検証 —
cargo clippy --all-targets --all-features、cargo fmt --check、cargo testを実行する。最終化する前にすべての警告を修正する
リファレンスガイド
コンテキストに基づいて詳細なガイダンスを読み込む:
| トピック | リファレンス | 読み込むタイミング |
|---|---|---|
| 所有権 | references/ownership.md | ライフタイム、借用、スマートポインタ、Pin |
| トレイト | references/traits.md | トレイト設計、ジェネリクス、関連型、derive |
| エラー処理 | references/error-handling.md | Result、Option、?、カスタムエラー、thiserror |
| 非同期処理 | references/async.md | async/await、tokio、futures、streams、並行処理 |
| テスト | references/testing.md | ユニット/統合テスト、proptest、ベンチマーク |
主要パターンと例
所有権とライフタイム
// 明示的なライフタイム注釈 — 借用は入力スライスの間続く
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() { x } else { y }
}
// クローンより借用を優先する
fn process(data: &[u8]) -> usize { // Vec<u8> ではなく &[u8]
data.iter().filter(|&&b| b != 0).count()
}
トレイトベースの設計
use std::fmt;
trait Summary {
fn summarise(&self) -> String;
fn preview(&self) -> String { // デフォルト実装
format!("{}...", &self.summarise()[..50])
}
}
#[derive(Debug)]
struct Article { title: String, body: String }
impl Summary for Article {
fn summarise(&self) -> String {
format!("{}: {}", self.title, self.body)
}
}
thiserror でのエラー処理
use thiserror::Error;
#[derive(Debug, Error)]
pub enum AppError {
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("parse error for value `{value}`: {reason}")]
Parse { value: String, reason: String },
}
// ? でエラーを人間工学的に伝搬させる
fn read_config(path: &str) -> Result<String, AppError> {
let content = std::fs::read_to_string(path)?; // #[from] で Io バリアント
Ok(content)
}
Tokio での Async/Await
use tokio::time::{sleep, Duration};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let result = fetch_data("https://example.com").await?;
println!("{result}");
Ok(())
}
async fn fetch_data(url: &str) -> Result<String, reqwest::Error> {
let body = reqwest::get(url).await?.text().await?;
Ok(body)
}
// 並行タスクをスポーンする — ブロッキング呼び出しを非同期コンテキストに混ぜないこと
async fn parallel_work() {
let (a, b) = tokio::join!(
sleep(Duration::from_millis(100)),
sleep(Duration::from_millis(100)),
);
}
検証コマンド
cargo fmt --check # スタイルチェック
cargo clippy --all-targets --all-features # リント
cargo test # ユニット + 統合テスト
cargo test --doc # doctests
cargo bench # criterion ベンチマーク (存在する場合)
制約
必須事項
- 所有権と借用でメモリ安全性を確保する
- unsafe コードを最小限にする (すべての unsafe ブロックに安全性不変条件を文書化)
- 型システムを使用してコンパイル時保証を取得する
- すべてのエラーを明示的に処理する (
Result/Option) - 例を含む包括的な文書を追加する
cargo clippyを実行してすべての警告を修正するcargo fmtで一貫した形式を使用する- doctests を含むテストを記述する
禁止事項
- 本番コードで
unwrap()を使用する (メッセージ付きのexpect()を推奨) - メモリリークやダングリングポインタを作成する
- 安全性不変条件を文書化せずに
unsafeを使用する - clippy の警告を無視する
- ブロッキングと非同期コードを誤って混ぜる
- エラー処理をスキップする
&strで十分な場合にStringを使用する- 不必要なクローンをする (借用を使用)
出力テンプレート
Rust 機能を実装する際は、以下を提供する:
- 型定義 (構造体、列挙型、トレイト)
- 適切な所有権を備えた実装
- カスタムエラー型でのエラー処理
- テスト (ユニット、統合、doctests)
- 設計決定の簡潔な説明
ナレッジリファレンス
Rust 2021、Cargo、所有権/借用、ライフタイム、トレイト、ジェネリクス、async/await、tokio、Result/Option、thiserror/anyhow、serde、clippy、rustfmt、cargo-test、criterion ベンチマーク、MIRI、unsafe Rust
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jeffallan
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jeffallan/claude-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。