Install
$ agentstack add skill-smartcontractkit-chainlink-agent-skills-chainlink-data-feeds-skill ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
- Keep this file as the default guide.
- 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.
- 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.
- Read [references/mvr-feeds.md](references/mvr-feeds.md) only when the user asks about Multiple-Variable Response feeds, bundle feeds, or BundleAggregatorProxy.
- Read [references/svr-feeds.md](references/svr-feeds.md) only when the user asks about Smart Value Recapture, OEV recapture, or searcher onboarding.
- 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.
- Read [references/multi-chain.md](references/multi-chain.md) only when the user targets Solana, StarkNet, Aptos, or Tron.
- 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.
- 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.
- 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.
- Do not load reference files speculatively.
Routing
- Use reading-price-feeds.md as the default for any EVM price feed request — this covers the vast majority of Data Feeds use cases.
- 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.
- Route to the chain-specific section of multi-chain.md for non-EVM chains (Solana, Aptos, StarkNet, Tron).
- Route to mvr-feeds.md for bundle or multi-variable feed requests.
- Route to svr-feeds.md for OEV or MEV recapture requests.
- Route to feed-operations.md for operational concerns (L2 sequencer checks, deprecation, monitoring).
- Ask one focused question if the chain, feed type, or integration method is unclear.
- 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.
- Always validate freshness: check
updatedAtagainst a staleness threshold based on the feed's heartbeat. Never skip this. - Always call
decimals()on the feed: never hardcode decimal counts. Different feeds use different decimals. - On L2 chains (Arbitrum, Optimism, Base, Scroll, etc.): always include an L2 Sequencer Uptime Feed check with a grace period after recovery.
- Never use
answeredInRoundfor freshness validation — this field is deprecated. - Remind users that example code is unaudited and not for production use without a security review.
- 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.
- If WebFetch, a browser tool, or an MCP server that can retrieve documentation is available, use it to fetch the referenced URL before answering.
- 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.
- 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
- Generate working code from knowledge and reference files first. Fetch only when a specific detail is missing.
- Treat 0-1 fetches as normal, 2-3 as the ceiling. Most questions need no fetches because the reference files contain the implementation guidance.
- When a fetch is needed, apply the cascade: WebFetch first; if it returns "`; if both fail, report the URL to the user.
- Keep answers proportional — a simple "read a price feed" question gets a code block and brief explanation, not a full tutorial.
- Generate code only when code is actually needed.
- Keep unsupported or out-of-scope features out of the answer rather than speculating.
- 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.solexample, with the required Data Feeds validation added for safer generated code.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: smartcontractkit
- Source: smartcontractkit/chainlink-agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.