chainlink-data-feeds-skill

Help developers integrate Chainlink Data Feeds into smart contracts and applications. Use for price feed integration, feed address lookup, consumer contract generation, multi-chain data feeds (EVM, Solana, Aptos, StarkNet, Tron), MVR bundle feeds, SVR/OEV feeds, feed monitoring, historical data, L2 sequencer checks, rates/volatility feeds, SmartData/RWA feeds, or debugging feed integrations. Trigger on any mention of Chainlink price feeds, oracle data, AggregatorV3Interface, latestRoundData, or feed addresses.

Skill file

Preview skill file
---
name: chainlink-data-feeds-skill
description: "Help developers integrate Chainlink Data Feeds into smart contracts and applications. Use for price feed integration, feed address lookup, consumer contract generation, multi-chain data feeds (EVM, Solana, Aptos, StarkNet, Tron), MVR bundle feeds, SVR/OEV feeds, feed monitoring, historical data, L2 sequencer checks, rates/volatility feeds, SmartData/RWA feeds, or debugging feed integrations. Trigger on any mention of Chainlink price feeds, oracle data, AggregatorV3Interface, latestRoundData, or feed addresses."
license: MIT
compatibility: Designed for AI agents that implement https://agentskills.io/specification, including Claude Code, Cursor Composer, and Codex-style workflows.
allowed-tools: Read WebFetch Write Edit Bash
metadata:
  purpose: Chainlink Data Feeds developer assistance and reference
  version: "0.0.4"
---

# Chainlink Data Feeds Skill

## Overview

Route Data Feed requests to the simplest valid path. Generate working code on first attempt when possible. Fetch documentation only when a specific gap blocks progress.

## Progressive Disclosure

1. Keep this file as the default guide.
2. Read [references/reading-price-feeds.md](references/reading-price-feeds.md) only when the user wants to read a price feed on EVM, write a consumer contract, read off-chain, look up AggregatorV3Interface, or debug a price feed integration.
3. Read [templates/starter-kit/README.md](templates/starter-kit/README.md) and the files in [templates/starter-kit](templates/starter-kit) when the user asks for a working example project, Foundry starter kit, runnable Data Feeds example, or says something like "give me a working example of a data feeds project." Use this starter-kit template instead of inventing project scaffolding.
4. Read [references/mvr-feeds.md](references/mvr-feeds.md) only when the user asks about Multiple-Variable Response feeds, bundle feeds, or BundleAggregatorProxy.
5. Read [references/svr-feeds.md](references/svr-feeds.md) only when the user asks about Smart Value Recapture, OEV recapture, or searcher onboarding.
6. Read [references/feed-types.md](references/feed-types.md) only when the user asks about feed categories, SmartData/RWA, rates/volatility, tokenized equity feeds, or needs help choosing a feed type.
7. Read [references/multi-chain.md](references/multi-chain.md) only when the user targets Solana, StarkNet, Aptos, or Tron.
8. Read [references/feed-operations.md](references/feed-operations.md) only when the user asks about L2 sequencer uptime checks, feed deprecation, contract registry, developer responsibilities, or data sources.
9. Read [references/official-sources.md](references/official-sources.md) only when the answer depends on live data that the reference files do not contain -- feed addresses for a specific chain, current deprecation schedules, specific network parameters.
10. Read [references/source-code.md](references/source-code.md) only when debugging interface mismatches or the user needs to inspect contract source code on GitHub.
11. Do not load reference files speculatively.

## Routing

1. Use reading-price-feeds.md as the default for any EVM price feed request — this covers the vast majority of Data Feeds use cases.
2. Use templates/starter-kit for project-level example requests, especially Foundry starter requests. Return a concise file tree, the relevant template files, install/test commands, and the Sepolia ETH/USD feed configuration unless the user asks for another chain.
3. Route to the chain-specific section of multi-chain.md for non-EVM chains (Solana, Aptos, StarkNet, Tron).
4. Route to mvr-feeds.md for bundle or multi-variable feed requests.
5. Route to svr-feeds.md for OEV or MEV recapture requests.
6. Route to feed-operations.md for operational concerns (L2 sequencer checks, deprecation, monitoring).
7. Ask one focused question if the chain, feed type, or integration method is unclear.
8. Proceed without asking for read-only work: explanations, code generation, debugging.

## Safety Defaults

These are non-negotiable in generated code. Every consumer contract or integration must include them.

1. Always validate freshness: check `updatedAt` against a staleness threshold based on the feed's heartbeat. Never skip this.
2. Always call `decimals()` on the feed: never hardcode decimal counts. Different feeds use different decimals.
3. On L2 chains (Arbitrum, Optimism, Base, Scroll, etc.): always include an L2 Sequencer Uptime Feed check with a grace period after recovery.
4. Never use `answeredInRound` for freshness validation — this field is deprecated.
5. Remind users that example code is unaudited and not for production use without a security review.
6. If the user is targeting mainnet, emphasize developer responsibilities and recommend a security audit.

## Documentation Access

This skill references official Data Feeds documentation URLs throughout its reference files. Whether the model can fetch those URLs depends on the host agent's capabilities.

1. If WebFetch, a browser tool, or an MCP server that can retrieve documentation is available, use it to fetch the referenced URL before answering.
2. If no documentation-fetching tool is available, do not silently improvise Data Feeds patterns from training data alone. Instead:
   - Use the embedded reference content in this skill's reference files as the floor for guidance.
   - Tell the user that live documentation could not be verified.
   - Provide the specific URL so the user can check it directly.
3. For contract-first workflows where correctness matters most, prefer the concrete examples in [references/reading-price-feeds.md](references/reading-price-feeds.md) over generating patterns from memory.

## Working Rules

1. Generate working code from knowledge and reference files first. Fetch only when a specific detail is missing.
2. Treat 0-1 fetches as normal, 2-3 as the ceiling. Most questions need no fetches because the reference files contain the implementation guidance.
3. When a fetch is needed, apply the cascade: WebFetch first; if it returns <1000 chars of useful content, fall back to `curl -s -L -A "Mozilla/5.0 ..." "<url>"`; if both fail, report the URL to the user.
4. Keep answers proportional — a simple "read a price feed" question gets a code block and brief explanation, not a full tutorial.
5. Generate code only when code is actually needed.
6. Keep unsupported or out-of-scope features out of the answer rather than speculating.
7. When using the starter-kit template, preserve its Foundry layout and contract names unless the user asks for a different framework. The template is based on the Chainlink Foundry Starter Kit `PriceFeedConsumer.sol` example, with the required Data Feeds validation added for safer generated code.

Source

Creator's repository · smartcontractkit/chainlink-agent-skills

View on GitHub

License: MIT

Security

Security checks in progress
Results will appear here once audits complete
Checked by 3 independent security firms
Does it try to trick the AI?Not yet checkedPending · Gen Agent Trust Hub
Does it sneak in hidden code?Not yet checkedPending · Socket
Does it have known bugs?Not yet checkedPending · Snyk