CtrlK
BlogDocsLog inGet started
Tessl Logo

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.

91

1.42x
Quality

87%

Does it follow best practices?

Impact

100%

1.42x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered overview: routing, safety rules, freshness policy, and invariants are all imperative and specific, with details correctly pushed to reference files. The main defects are a dangling reference to a missing templates/starter-kit/README.md path, some over-packed multi-clause sentences, and the absence of any inline executable snippet to anchor the code-form rules.

Suggestions

Fix the progressive_disclosure gap: the routing table points to templates/starter-kit/README.md, which is absent from the bundle — either add the templates/starter-kit/ files or re-route starter-kit requests to an existing reference until they are added.

Improve actionability by inlining one short canonical example of the rule-5 getter (the exact `returns (int256 price, uint8 decimals)` named-return form with the tuple destructuring) so the most-quoted code shape is verifiable without loading a reference file.

Tighten conciseness by splitting the longest compound rules (the starter-kit table row and the SVR configuration rule) into short bullet clauses; they currently pack 5+ requirements into single sentences.

DimensionReasoningScore

Conciseness

The body is lean — a dense routing table, imperative safety rules, and policies with no explanations of concepts Claude already knows. It falls short of the top anchor because several over-packed sentences (the starter-kit table row, the SVR configuration rule, and the live-feed-address invariant) mix many clauses and could be trimmed or split.

4 / 5

Actionability

Guidance is concrete and executable: exact interface selection per case ('IBundleAggregatorProxy' for MVR, 'AggregatorV2V3Interface' for sequencer uptime), an exact named-return signature with tuple destructuring, an exact standalone sentence to emit, and a 3600-second grace period. It misses the top anchor because all executable code lives in reference files and no inline snippet anchors the tuple-form rule.

4 / 5

Workflow Clarity

The freshness policy is a clearly numbered escalation sequence with an explicit unverified fallback ('If unverified, say so and name the URL'), and the safety rules act as checkpoints. It lacks the explicit validate-then-fix feedback loops of the top anchor, though no destructive/batch cap applies.

4 / 5

Progressive Disclosure

The trigger-to-file table clearly signals one-level-deep references, and all seven referenced files exist in the bundle. The gap is that 'templates/starter-kit/README.md' — the routing target for an entire request category — does not exist in the bundle, so that route cannot resolve.

4 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An excellent description: it states what the skill does, when to use it, and what triggers it, with concrete capabilities and interface-level trigger terms. It is dense but every clause names a capability or trigger rather than padding.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — 'feed address lookup, consumer contract generation', 'feed monitoring, historical data, L2 sequencer checks, rates/volatility feeds, SmartData/RWA feeds, or debugging feed integrations' — giving comprehensive coverage of the skill's capabilities with no meaningful gaps, matching the top anchor rather than the 'minor gaps' level below.

5 / 5

Completeness

Both 'what' and 'when' are explicit: 'Help developers integrate Chainlink Data Feeds into smart contracts and applications' followed by both a 'Use for …' clause and a concrete trigger clause ('Trigger on any mention of …'), exactly matching the top anchor.

5 / 5

Trigger Term Quality

It includes natural user phrasing ('Chainlink price feeds', 'oracle data', 'price feed integration', 'feed addresses') plus concrete interface identifiers ('AggregatorV3Interface', 'latestRoundData') and chain names, which is comprehensive synonym-level coverage; no common natural term a user would say is missing.

5 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (Chainlink Data Feeds) with product-specific triggers that adjacent Chainlink product skills would not match; conflict risk is minimal.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 1 missing, 1 deeper-than-1-level

Warning

Total

15

/

16

Passed

Repository
smartcontractkit/chainlink-agent-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.