CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

integrating-jupiter

Comprehensive guidance for integrating Jupiter APIs (Swap, Lend, Perps, Trigger, Recurring, Tokens, Price, Portfolio, Prediction Markets, Send, Studio, Lock, Routing). Use for endpoint selection, integration flows, error handling, and production hardening.

Quality

79%

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 ./vendored/jupiter/integrating-jupiter/SKILL.md

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

SKILL.md
Quality
Evals
Security

Quality

Content

77%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 dense, actionable, and workflow-explicit: executable helper code, exact endpoint contracts, error-code tables with recommended actions, and a numbered fresh-context procedure with validation checkpoints and feedback loops. The main weakness is structure — 13 full playbooks are inlined in a monolithic 30KB SKILL.md, and the linked example files are missing from the bundle.

Suggestions

Split each API playbook into its own one-level-deep reference file (e.g., references/swap.md, references/trigger.md) and reduce SKILL.md to the Intent Router plus shared conventions (amounts/decimals, auth, rate limits, cross-cutting error pattern), linking each family to its file.

Ship the ./examples/*.md files referenced in 'Complete Working Examples' (currently absent from the bundle) or replace the dangling links with minimal inline end-to-end examples, e.g., one actual 'GET /swap/v2/order?inputMint=...&outputMint=...&amount=...' invocation.

Remove entries duplicated between 'Operational References' and the playbooks (Swap overview and Swap order & execute appear twice) to reclaim tokens.

DimensionReasoningScore

Conciseness

The body is dense and information-forward — terse bullets, endpoint tables, and error-code matrices with no explanations of concepts Claude already knows — but contains trimmable padding: a ~50-term inline trigger list, a pointer-explainer line after the Swap refs ('Fees are documented inline on the Order & Execute and Build pages...'), and an 'Operational References' section that repeats refs already given in the Swap playbook. Mostly efficient with minor instances that could be trimmed, which matches anchor 4 rather than the every-token-earns-its-place anchor 5.

4 / 5

Actionability

The TypeScript quickstart ('jupiterFetch', 'signAndSend') and the cross-cutting error/retry pattern ('jupiterAction', 'withRetry') are executable and complete, and each playbook gives exact endpoints, params, constraints, and per-code error actions. It falls short of anchor 5 because no end-to-end call example is inline (e.g., an actual '/swap/v2/order?inputMint=...' invocation) — the 'Complete Working Examples' section defers to './examples/swap.md' and three other files that are absent from the bundle, and full request/response shapes are deferred to external docs.

4 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints and feedback loops: an Intent Router as the first step, Trigger's spelled-out 3-step create and two-step cancel flows, Swap's order -> sign -> execute -> confirm with re-quote guidance, a numbered 7-step Fresh Context Policy covering doc conflicts and fetch failure, a 10-item Production Hardening checklist, error tables mapping codes to actions, and explicit preconditions ('Recompute account state before each state-changing action', 'fail closed when a requested mint is missing from the response', 'reconcile against your quote'). This matches anchor 5's clear sequence with explicit validation, feedback loops, and checklists.

5 / 5

Progressive Disclosure

Section structure and navigation are good (anchor-linked Intent Router, per-family playbook headers, clearly listed refs), but ~250 lines of 13 API playbooks are inlined in a 30KB SKILL.md that belong in separate per-family reference files, the four 'Complete Working Examples' links point to './examples/*.md' files that do not exist in the bundle (dangling), and 'Operational References' duplicates playbook refs. Per the guideline to score against the actual bundle structure, this fits anchor 3: some structure, but content that should be separate is inline; it is above anchor 2 because the inline content is well-organized and clearly signaled, and below anchor 4 because most detail content is not appropriately split out and referenced paths are missing.

3 / 5

Total

16

/

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 clearly and explicitly covers what the skill does (all 13 Jupiter API families) and when to use it, with good natural keyword coverage and third-person voice. It stops short of top marks because its action list is more abstract than concrete operations, omits common synonyms like DCA/limit order/gasless, and claims scope that overlaps sibling Jupiter skills.

Suggestions

Add the natural synonyms users actually say to the description itself (DCA, limit orders, gasless, Solana swap), since they currently appear only in the body's trigger list.

Make the 'when' clause situational rather than activity-based, e.g., 'Use when integrating Jupiter/Solana DeFi endpoints into an app' — and note that SDK-level Lend integration belongs to the jupiter-lend skill to reduce sibling-skill overlap.

DimensionReasoningScore

Specificity

The description enumerates the full domain ('Swap, Lend, Perps, Trigger, Recurring, Tokens, Price, Portfolio, Prediction Markets, Send, Studio, Lock, Routing') and several actions ('endpoint selection, integration flows, error handling, and production hardening'), but those actions are abstract categories rather than the concrete operations of anchor 5 ('Extract text and tables from PDF files, fill forms, merge documents'), and 'Comprehensive guidance' is mild padding. It is above anchor 3 because several specific actions plus complete domain coverage are explicitly stated.

4 / 5

Completeness

Both questions are answered explicitly: what — 'Comprehensive guidance for integrating Jupiter APIs (...)' with the full family list; when — 'Use for endpoint selection, integration flows, error handling, and production hardening.' The 'when' clause names activity types rather than concrete user situations or mention-triggers, so it matches anchor 4 ('has both what and when; when could be more explicit or specific') rather than anchor 5's 'Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.'

4 / 5

Trigger Term Quality

Natural terms users would say appear across all families — 'Jupiter', 'Swap', 'Lend', 'Perps', 'Price', 'Portfolio', 'Prediction Markets' — giving good keyword coverage. It misses common synonyms and variations ('DCA', 'limit order', 'gasless', 'Solana', 'token swap') that live only in the body's trigger list, so it fits anchor 4 ('good keyword coverage; a few natural terms missing') rather than anchor 5's comprehensive synonyms/extensions.

4 / 5

Distinctiveness Conflict Risk

'Jupiter APIs' anchors a clear niche (a specific Solana DEX aggregator), but the description claims every family including Lend, which overlaps closely related sibling skills the body itself defers to ('jupiter-lend', 'jupiter-swap-migration', 'jupiter-vrfd') — a request like 'help me use the @jup-ag/lend SDK' would match both this skill and jupiter-lend. That is anchor 4 ('mostly distinct; minor overlap risk with closely related skills'), not anchor 5's minimal conflict risk.

4 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 4 missing

Warning

Total

14

/

16

Passed

Repository

internet-court/internet-court-skill

Path

vendored/jupiter/integrating-jupiter/SKILL.md

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.