CtrlK
BlogDocsLog inGet started
Tessl Logo

chainlink-vrf-skill

Help developers integrate Chainlink VRF into smart contracts. Use for consumer contract generation with VRFConsumerBaseV2Plus, subscription setup and funding (LINK or native), keyHash and gas lane selection, coordinator address lookup and debugging VRF integrations. Trigger on any mention of VRF, verifiable randomness, on-chain random number generation, requestRandomWords, fulfillRandomWords, VRF subscription, VRF coordinator, keyHash, or provably fair randomness in a smart contract, even if the user does not say 'VRF' explicitly.

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%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 instruction-only skill body: dense routing with real one-level-deep references, concrete API-level guidance, explicit verification checkpoints, and strong boundary/safety invariants. The main defects are a missing templates/starter-kit bundle path and a few overlong, hard-to-parse routing rows.

Suggestions

Ship the templates/starter-kit/ directory (README plus consumer, deploy script, and test) or remove the templates/starter-kit/README.md link and rely on the inline canonical-kit fallback, so no referenced path dangles.

Split the long multi-clause routing rows (especially the starter-kit row and the generic-draw paragraph) into short lead signals plus a short bulleted action list so each row is scannable.

Add one numbered minimal workflow (route → generate/verify values against supported-networks.md → emit with the adjacency verification instruction) to make the generate-and-verify feedback loop explicit rather than implied across sections.

DimensionReasoningScore

Conciseness

Lean and imperative throughout — no explaining what VRF is or how smart contracts work; every section is rules or routing, e.g. 'Never invent coordinator, wrapper, or LINK addresses.' Not 5 because several routing-table rows and paragraphs (the starter-kit row, the generic-draw paragraph) are long convoluted run-on sentences that could be tightened without losing meaning.

4 / 5

Actionability

Fully concrete guidance for an instruction-only skill: exact base contracts ('VRFConsumerBaseV2Plus', 'VRFV2PlusWrapperConsumerBase'), exact request shape ('VRFV2PlusClient.RandomWordsRequest with extraArgs ... from _argsToBytes(ExtraArgsV1({nativePayment: ...}))'), a verbatim adjacency instruction for address verification, and named fallback behavior when templates are absent. Per the rubric's code-vs-instruction note, absence of inline code is not penalized; the guidance is copy-paste specific and covers the common cases.

5 / 5

Workflow Clarity

The signal-to-reference routing table gives a clear decision sequence, and validation checkpoints exist: 'Verify this value against https://docs.chain.link/vrf/v2-5/supported-networks.md immediately before deploying', 'say when live verification fails', and the Legacy Pattern Guard's detect-then-migrate recovery path. Not 5 because there is no explicit multi-step workflow with feedback loops (e.g., a numbered generate→verify→deliver sequence); it is a decision table plus invariants rather than a stepwise checklist.

4 / 5

Progressive Disclosure

Good structure: a routing table maps each signal to a one-level-deep reference, and all seven referenced files (subscription.md, direct-funding.md, migration-from-v2.md, billing.md, supported-networks.md, security-and-best-practices.md, official-sources.md) exist in references/. Not 5 because the body links templates/starter-kit/README.md, which is not present in the bundle (no templates/ directory) — a dangling referenced path, even though the body gracefully specifies an inline fallback for its absence.

4 / 5

Total

17

/

20

Passed

Description

95%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.

A strong description: concrete capabilities, an explicit 'Use for' trigger clause rich with natural synonyms and API names, and a clearly bounded Chainlink VRF niche. The only gap is that direct-funding/wrapper support and v2 migration — real capabilities of the skill — are not surfaced.

DimensionReasoningScore

Specificity

Concrete actions are named — 'consumer contract generation with VRFConsumerBaseV2Plus, subscription setup and funding (LINK or native), keyHash and gas lane selection, coordinator address lookup and debugging VRF integrations' — but coverage has minor gaps: direct funding/wrapper integrations and v2-to-v2.5 migration are body capabilities absent from the description. Not 5 because anchor 5 requires comprehensive coverage; clearly above anchor 3's '1-2 concrete actions'.

4 / 5

Completeness

Explicitly answers both: what — 'Help developers integrate Chainlink VRF into smart contracts' with enumerated capabilities; when — 'Use for...' followed by concrete trigger phrases. Matches anchor 5's 'clearly and explicitly answers both what AND when'.

5 / 5

Trigger Term Quality

Comprehensive natural terms including synonyms and API names: 'VRF, verifiable randomness, on-chain random number generation, requestRandomWords, fulfillRandomWords, VRF subscription, VRF coordinator, keyHash, or provably fair randomness', plus the explicit catch 'even if the user does not say VRF explicitly'. Matches anchor 5.

5 / 5

Distinctiveness Conflict Risk

Clear niche (Chainlink VRF, on-chain verifiable randomness) with distinct, domain-specific triggers; minimal overlap risk — only a closely related Chainlink skill (e.g., Data Feeds) could collide, and the body disambiguates that handoff explicitly. Matches anchor 5.

5 / 5

Total

19

/

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: 2 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.