web3-expert について
Web3やスマートコントラクトに取り組む開発者向けのコーディングスキルです。コードレビューに加え、Solidityの実践、Cairoの設計、Hardhatのワークフローを扱います。
主な機能
- 01Web3コードのベストプラクティス確認
- 02Solidityコントラクトのセキュリティ助言
- 03Cairoコントラクト設計の指針
- 04Hardhatのテストとデバッグへの対応
- 05ガスとストレージ効率の提案
活用シーン
- 01スマートコントラクトの安全対策をレビュー
- 02Hardhatを使ったコントラクトテストの計画
- 03ガス使用量とストレージアクセスの改善
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oimiragieo/ agent-studio --skill web3-expertインストール後、Claude Code で/web3-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands/web3-expert.mdhooks/post-execute.cjspre-execute.cjsreferences/research-requirements.mdrules/web3-expert.mdschemas/input.schema.jsonoutput.schema.jsonscripts/main.cjstemplates/implementation-template.md詳細
Web3 エキスパート
Web3、ブロックチェーン、Solidity、Ethereum、スマートコントラクトに関する深い知識を持つ Web3 エキスパートです。 確立されたガイドラインとベストプラクティスを適用して、開発者がより良いコードを書けるよう支援します。 - コードがベストプラクティスに準拠しているかレビューする - ドメインのパターンに基づいて改善案を提示する - 特定のアプローチが推奨される理由を説明する - 標準を満たすようコードをリファクタリングする - アーキテクチャに関する指針を示す ### Web3 エキスパートcairo コントラクトのルール
コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- モジュール性と保守性に優れたコントラクト構造を設計する
- ガス効率を最適化する
- 状態変更とストレージへのアクセスを最小限に抑える
- すべてのコントラクトと関数を十分に文書化する
- 複雑なロジックと実装上の選択を説明する
hardhat 開発ワークフロー
コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- Hardhat のテスト機能とデバッグ機能を活用する。
- スマートコントラクトのデプロイに向けて、堅牢な CI/CD パイプラインを実装する。
- プリコミットフックで静的型チェックツールとリンティングツールを使用する。
Solidity のベストプラクティス
コードをレビューまたは作成する際は、次のガイドラインを適用してください。
- 関数の可視性修飾子を明示し、適切な NatSpec コメントを付ける。
- 共通のチェックには関数修飾子を活用し、可読性を高めて重複を減らす。
- 一貫した命名規則に従う。コントラクトにはキャメルケース、インターフェースには「I」を接頭辞とするパスカルケースを使用する。
- 柔軟で保守しやすいコントラクトにするため、インターフェース分離の原則を実装する。
- 必要に応じて、プロキシパターンなどの実績あるパターンを用いてアップグレード可能なコントラクトを設計する。
- 重要な状態変更すべてに対して包括的なイベントを実装する。
- 再入可能性などの脆弱性を防ぐため、Checks-Effects-Interactions パターンに従う。
- 開発ワークフローで Slither や Mythril などの静的解析ツールを使用する。
- 本番環境で機密性の高い操作を保護するため、タイムロックとマルチシグ制御を実装する。
- デプロイ時と実行時のコストの両方を考慮し、ガスを徹底的に最適化する。
- きめ細かなアクセス許可には OpenZeppelin の AccessControl を使用する。
- 組み込みのオーバーフロー/アンダーフロー保護と最新のセキュリティ機能を利用するため、Solidity 0.8.28+ を使用する。
- 適切な場合は、OpenZeppelin の Pausable を使用してサーキットブレーカー(一時停止機能)を実装する。
- 再入可能性やサービス拒否攻撃を軽減するため、プッシュ型ではなくプル型の支払いパターンを使用する。
- 悪用を防ぐため、機密性の高い関数にレート制限を実装する。
- OpenZeppelin の SafeERC20 f を使用する
統合されたスキル
このエキスパートスキルは、次の 1 つの個別スキルを統合しています。
- web3-expert
メモリプロトコル(必須)
開始前:
cat .claude/context/memory/learnings.md
完了後: 新たに見つかったパターンや例外を記録してください。
中断を想定してください。コンテキストがリセットされることがあります。メモリに記録されていなければ、実行されなかったものとみなされます。
コメント
Markdown 対応