chainlink-data-feeds-skill について
chainlink-data-feeds-skill は、Chainlink Data Feeds 統合の実装と運用を支援する指示スキルです。課題に応じた資料へ案内し、安全なフィード読み取り、ネットワーク固有の確認、最新値の検証を定めています。
主な機能
- 01課題に応じた Data Feeds 資料への案内
- 02フィード読み取りとコンシューマーコントラクトの作成支援
- 03データ鮮度と L2 シーケンサーの確認
- 04最新アドレスと値の検証要件
活用シーン
- 01Data Feeds コンシューマーコントラクトの構築
- 02古い、または不完全なラウンドの診断
- 03L2 統合で使用するフィードの選定確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ smartcontractkit/ chainlink-agent-skills --skill chainlink-data-feeds-skillインストール後、Claude Code で/chainlink-data-feeds-skillを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlassets/data-feeds-docs-index.mdreferences/feed-operations.mdfeed-types.mdmulti-chain.mdmvr-feeds.mdofficial-sources.mdreading-price-feeds.mdsvr-feeds.mdtemplates/starter-kit/foundry.tomlREADME.mdremappings.txttemplates/starter-kit/script/PriceFeedConsumer.s.soltemplates/starter-kit/src/PriceFeedConsumer.soltemplates/starter-kit/test/PriceFeedConsumer.t.soltemplates/starter-kit/test/mocks/MockV3Aggregator.sol詳細
Chainlink Data Feeds スキル
段階的な開示
| リクエスト/トリガー | 読み込む内容 |
|---|---|
| EVM の読み取り、コンシューマーコントラクト、オフチェーン読み取り、アドレスの検索/デバッグ | 価格フィード |
| Foundry/Data Feeds の実プロジェクト | スターター READMEと、記載されているすべてのファイルを読み込みます。内容または個別に調整した派生版を返信し、ローカルパス/絶対パスだけを示すことは避けてください。レイアウトを維持し、インストール/テスト/デプロイのコマンド、Sepolia ETH/USD または検証済みのネットワーク名による検索方法、監査未実施/本番利用不可の警告、L2 シーケンサー保護を含めてください。 |
Multiple-Variable Response、複数変数フィード、BundleAggregatorProxy | MVR |
| Smart Value Recapture、OEV/MEV の再捕捉、サーチャーのオンボーディング | SVR |
| フィードの分類/選定、SmartData/RWA、金利/ボラティリティ、トークン化株式 | 種類 |
| Solana、StarkNet、Aptos、Tron、Move、Cairo、Anchor、TronBox | マルチチェーン |
| L2 シーケンサー、非推奨化、監視、レジストリ、責任、データソース、自己管理フィード | 運用 |
| 現在のアドレス/スケジュール/パラメーター、インターフェース/シグネチャの不一致、プロキシ/アグリゲーターのソース、GitHub の例 | 公式ソース、続いて、厳選されたリファレンスにない事実を確認するためにドキュメントの索引 |
リファレンスを推測で読み込まないでください。EVM のリクエストはデフォルトで価格フィードに振り分け、不足しているコンテキストによって振り分け先が変わる場合に限り質問してください。
このスキルだけが利用可能な機能だと決めつけないでください。
CCIP/ブリッジ、VRF、Automation、Functions のリクエストは、それぞれの製品にのみ引き継ぎ、一般的な知識に基づく各製品の標準的な次の手順を案内してください。Data Feeds や、それより劣る代替手段を提示せず、現在の定数を即興で示さないでください。
ユーザーが Data Feeds のコードまたは運用手順を求めた場合、その成果物を回答に含めてください。状況や完了の要約で代用しないでください。
MVR のリクエストでは、現在のアドレス、フィード ID、スキーマを検証できない場合でも、MVR のルートを選んでください。未検証の値には明示的なプレースホルダーを使い、検証の段階で止めず、求められた設計、コンシューマーコード、テスト、設定をすべて提示してください。
すべての SVR の回答では、オンボーディングやアドレス移行の案内より前に、Complete the Chainlink compatibility form という単独の文をそのまま出力してください。
設定に重点を置いた SVR プロトコルの統合または移行では、簡潔な設定、オンボーディング、検証、安全性の手順と、必要最小限のアドレス/設定の差分のみを提示してください。ユーザーから明示的に求められない限り、コンシューマー全体を出力しないでください。オークションの仕組みは概要にとどめ、ユーザーがサーチャーの構築または運用を明示的に求めない限り、サーチャー専用のセレクター、WebSocket エンドポイント、署名の手順、MEV-Share/Atlas のボット実装の詳細は含めないでください。
安全性のルール
updatedAtをフィードのハートビートに照らして検証し、不完全なラウンドや古いラウンドは拒否してください。- 実行時に
decimals()を呼び出してください。小数点以下の桁数をハードコードしないでください。 - L2 では、シーケンサー稼働時間フィードに必ず
AggregatorV2V3Interfaceを使用し、AggregatorV3Interfaceは決して使用しないでください。answer != 0を拒否し、3600 秒の復旧猶予期間を適用してください。 - 鮮度やその他のロジックに、非推奨の
answeredInRoundを決して使用しないでください。 - Solidity の暗黙的な現在価格 getter では、正確な名前付き戻り値の形式
returns (int256 price, uint8 decimals)を使用してください。最初にuint256 updatedAt;を宣言し、その後(, price,, updatedAt,) = dataFeed.latestRoundData();を代入してください。名前のない戻り値や、コンパイル可能な別のタプル形式に置き換えないでください。 - 例は監査未実施であり、本番利用を想定していないことを警告してください。メインネットのインテグレーターは、監査、依存関係、監視、サーキットブレーカー、緊急対応策、ユーザーへのリスク開示に責任を負います。
最新情報の確認方針
- まず、このスキルのリファレンスを使用します。
- official-sources.md にページが記載されている場合は、そのページの
.mdURL を取得します。 - 記載されていない場合は、
https://docs.chain.link/data-feeds/llms.txtを取得し、ページを1つ選んで、そのページの.mdURL を取得します。 - 質問の範囲が広く、1つのページでは網羅できない場合に限り、
https://docs.chain.link/data-feeds/llms-full.txtを取得します。 .mdの取得に失敗した場合、ページが空の場合、または有用な文字数が1,000文字未満で回答が得られない場合に限り、Context7 を使用します。不足している情報だけを尋ねてください。- ページで回答が得られたら、それ以上取得しないでください。取得するページは最大3つです。
.mdURL を優先してください。ツールで.mdURL を開けず、ヘッダーを設定できる場合に限り、通常のページ URL にAccept: text/markdownを指定します。 - ライブ情報やパターンを推測で補わないでください。値が未検証の場合は、その旨を伝え、URL を明記してください。
不変条件
- 基盤となるアグリゲーターではなく、EVM プロキシを読み取ってください。
- スターターキットのレイアウトと README の不変条件を維持し、イラストを差し替え、ハートビート/モックの値を調整してください。
- 単一の値には
AggregatorV3Interface、MVR にはIBundleAggregatorProxy、シーケンサー稼働状況にはAggregatorV2V3Interfaceを使用してください。 - 設定内のライブフィードアドレスは、このターンに取得した公式アドレスページからコピーしてください。そのページにペアのコントラクトが複数記載されている場合は、ユーザーが求めた製品のコントラクトを使用してください。通常の価格読み取りには、SVR、バックアップ、レガシーのプロキシではなく、標準プロキシを使用してください。ページを取得していない場合はプレースホルダーを使用し、アドレスが未検証であることを明記してください。記憶に基づくアドレスを、現在検証済みのフィードとして提示しないでください。
- 不明なフィード ID、スキーマ、パラメーター、サポート状況を検証してください。