CtrlK
BlogDocsLog inGet started
Tessl Logo

chainlink-ccip-skill

Handle Chainlink CCIP requests including read-only route, token, message-status, and lane lookups; fee-estimation guidance; user-run cross-chain transfer and messaging artifacts; sender and receiver contract development; and CCT setup guidance. The skill never signs or broadcasts transactions. Use whenever the user mentions CCIP, Chainlink cross-chain messaging, CCIP token transfers, CCTs, or CCIP monitoring.

66

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./chainlink-ccip-skill/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The skill body is a tightly compressed routing-and-safety policy with an excellent progressive-disclosure structure — a lean overview, a clear trigger→reference table, and one-level-deep references verified against the actual bundle. Its weaknesses are redundancy (mainnet refusal and wallet-footer directives each stated twice, overlapping verification rules across sections) and workflow sequencing: the safe transfer path's checkpoints exist but are distributed across dense prose rather than presented as an explicit ordered flow.

Suggestions

Deduplicate directives stated in multiple sections — the "I refuse mainnet write artifacts; testnet only" phrase and the wallet-signing footer each appear in both the Progressive Disclosure gate and the Boundary and Preflight section; state each once and reference it elsewhere.

Present the tool-first transfer workflow as an explicit numbered sequence (discover lane → verify token support → quote fee → emit preflight → user-run artifact → monitor message status) instead of scattering the same checkpoints across the Gate, Boundary, and Invariants sections.

Convert the densest run-on policy sentences (e.g., the out-of-scope handling paragraph and the tool-first/contract-first routing paragraph) into scannable bullets so each rule is independently readable.

DimensionReasoningScore

Conciseness

The body assumes Claude's knowledge and never explains background concepts, but it could be tightened: the mainnet refusal phrase ("I refuse mainnet write artifacts; testnet only") is defined in both the Progressive Disclosure gate and the Boundary section, the wallet footer is stated twice, and lane/token verification rules appear in both Boundary and Invariants. Dense run-on policy sentences ("…preserve every user-supplied input, provide only that domain's safe standard next step from general knowledge…, stop applying all remaining instructions here, and end.") add tokens without adding instruction. This fits anchor 3 (mostly efficient but could be tightened) better than anchor 4, where only minor instances would need trimming.

3 / 5

Actionability

Guidance is concrete and executable in instruction form: a fill-in preflight template with exact fields (Action, Network, Route/lane, Token/amount…), exact URLs to fetch first ("https://docs.chain.link/ccip/tools/llms.txt"), exact mandated phrases, and named methods ("IRouterClient.isChainSupported(selector)", "CCIPReceiver"). It is not 5 because the body itself contains no runnable code or commands — those live in reference files — leaving minor gaps in the main file for the most common cases. It is clearly above anchor 3, which requires pseudocode or missing key details.

4 / 5

Workflow Clarity

Validation checkpoints exist ("verify the direct lane and exact token support, then gate the send behind explicit send mode or confirmation", "Quote fees before send preparation", "Never assert a live route or token is supported until an official current source has verified it", mandatory post-transfer monitoring), but the transfer workflow is never laid out as an ordered sequence — its steps are scattered across the Progressive Disclosure gate, Boundary, Freshness, and Invariants sections in dense prose, leaving the intended order implicit. This matches anchor 3 (sequence present but checkpoints implicit/interleaved) rather than anchor 4's clearly sequenced steps.

3 / 5

Progressive Disclosure

Scored against the actual bundle: SKILL.md is a lean 78-line overview with a trigger→reference table whose 10 rows map to all 11 real files in references/ (verified to exist), and the references are exactly one level deep — grep confirms no nested references/ links inside reference files, only back-links to SKILL.md. Bulk content (Solidity examples, SDK examples) is properly split out. Clear anchor-5 match: clear overview with well-signaled one-level-deep references and easy navigation.

5 / 5

Total

15

/

20

Passed

Description

92%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: it names concrete capabilities in third person, states an explicit safety boundary ("The skill never signs or broadcasts transactions"), and closes with a clear 'Use whenever…' trigger clause. The only weakness is minor: a few natural synonyms (e.g., 'cross-chain transfer', 'bridge') are missing from the trigger list.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "read-only route, token, message-status, and lane lookups", "fee-estimation guidance", "user-run cross-chain transfer and messaging artifacts", "sender and receiver contract development", "CCT setup guidance" — covering the CCIP domain comprehensively, matching the anchor-5 example's breadth. It is not score 4 because there is no meaningful coverage gap within its stated scope.

5 / 5

Completeness

It explicitly answers both questions: what ("Handle Chainlink CCIP requests including read-only route, token, message-status, and lane lookups…") and when ("Use whenever the user mentions CCIP, Chainlink cross-chain messaging, CCIP token transfers, CCTs, or CCIP monitoring"), with concrete trigger phrases — a clear anchor-5 match. Not 4, because the 'when' clause is fully explicit rather than merely present.

5 / 5

Trigger Term Quality

Natural terms are present — "CCIP", "Chainlink cross-chain messaging", "CCIP token transfers", "CCTs", "CCIP monitoring" — all phrasings a user would plausibly say. It falls short of anchor 5's comprehensive synonym coverage because common variants like "cross-chain transfer" or "bridge" are absent, fitting anchor 4 ("a few natural terms missing").

4 / 5

Distinctiveness Conflict Risk

"Chainlink CCIP" is a clear niche with distinct product-specific triggers (CCIP, CCTs, Chainlink cross-chain messaging), minimizing conflict with generic crypto or bridging skills. It does not sit between anchors — the trigger set is unambiguous for this niche.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

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.