CtrlK
BlogDocsLog inGet started
Tessl Logo

jupiter-lend

Interact with Jupiter Lend Protocol. Read-only SDK (@jup-ag/lend-read) for querying liquidity pools, lending markets (jlTokens), and vaults. Write SDK (@jup-ag/lend) for lending (deposit/withdraw) and vault operations (deposit collateral, borrow, repay, manage positions).

58

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./.plugins/integrate-jupiter/claude/skills/jupiter-lend/SKILL.md

The canonical home for this skill is jupiter-lend in jup-ag/agent-skills

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 body is highly actionable with executable code across all major operations, but it is verbose and monolithic — long inlined examples and a docs index that would be better split into reference files, and irreversible write workflows lack explicit validation feedback loops.

Suggestions

Move the two full copy-paste scripts and the Build Kit documentation index into separate reference files (e.g., examples/deposit.ts, references/docs-index.md) and link to them one level deep to improve progressive disclosure and conciseness.

Add an explicit preflight validation/simulation checkpoint (e.g., simulate or check balances and borrowing limits before signing) with a fix-and-retry loop for the irreversible write workflows.

De-duplicate the vault operate patterns: keep one canonical deposit/borrow/repay/withdraw reference and reference it from Example 2 instead of restating the sentinel rules twice.

DimensionReasoningScore

Conciseness

Mostly efficient with executable code, but the ~585-line body repeats vault deposit/borrow/repay/withdraw patterns across the 'Common Vault Patterns' section and the full Example 2, and includes two long copy-paste scripts that pad the token budget.

3 / 5

Actionability

Provides fully executable, copy-paste-ready TypeScript covering the common cases (discover, deposit, borrow, repay-with-sentinel, withdraw, combined operate, flashloan) with concrete base-unit amounts and imports.

5 / 5

Workflow Clarity

Examples are clearly sequenced (read positions → build → sign → send) with an empty-ixs guard and confirmTransaction, but on-chain write/financial operations are destructive/irreversible and lack an explicit validate→fix→retry feedback loop, capping this at 3.

3 / 5

Progressive Disclosure

Has numbered section structure and external doc links, but no local bundle/reference files exist, so the entire 585-line API reference, docs index, and two full scripts are inlined rather than split into one-level-deep reference files.

3 / 5

Total

14

/

20

Passed

Description

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

The description is specific, domain-distinct, and names concrete capabilities across both read and write SDKs. Its main weakness is the absence of an explicit 'Use when...' trigger clause, which caps completeness.

Suggestions

Append an explicit trigger clause such as 'Use when the user wants to query or interact with Jupiter Lend liquidity pools, jlToken lending markets, or vaults on Solana.'

Add a couple of natural synonyms (e.g., 'Solana lending', 'Jupiter Borrow', 'jlTokens') to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Lists multiple concrete actions across both SDKs — 'querying liquidity pools, lending markets (jlTokens), and vaults' and 'deposit/withdraw... deposit collateral, borrow, repay, manage positions' — giving comprehensive coverage of capabilities.

5 / 5

Completeness

The 'what' is clear and detailed, but there is no explicit 'Use when...' trigger clause; the opening 'Interact with Jupiter Lend Protocol' only weakly implies when, capping completeness per the missing-trigger-guidance rule.

3 / 5

Trigger Term Quality

Good natural keyword coverage ('Jupiter Lend', 'lending', 'vaults', 'borrow', 'repay', 'deposit collateral') that users would plausibly say, but lacks synonyms or variations beyond the core domain terms.

4 / 5

Distinctiveness Conflict Risk

Names a specific protocol and two named scoped SDKs (@jup-ag/lend-read, @jup-ag/lend), giving it a clear niche with minimal overlap risk against other skills.

5 / 5

Total

17

/

20

Passed

Validation

75%

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

Validation — 12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (597 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

12

/

16

Passed

Repository
jup-ag/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.