CtrlK
BlogDocsLog inGet started
Tessl Logo

moonpay

MoonPay fiat-to-crypto on-ramp integration. Buy and sell crypto with credit cards, bank transfers, and mobile payments.

48

Quality

52%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./public/skills/0xterrybit/moonpay/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

40%

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 identifies a clear niche (MoonPay fiat-to-crypto integration) and is distinctive, but it lacks explicit trigger guidance ('Use when...') and could be more specific about the concrete integration actions it supports. The trigger terms are decent but could cover more natural user phrasings.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to integrate MoonPay, add a crypto purchase widget, or implement fiat-to-crypto on-ramp functionality.'

List more specific integration actions such as 'generate widget URLs, configure supported currencies, handle transaction webhooks, manage KYC flows'.

Include additional natural trigger terms users might say, such as 'purchase crypto', 'crypto payments', 'fiat gateway', 'payment widget', or 'crypto checkout'.

DimensionReasoningScore

Specificity

Names the domain (MoonPay fiat-to-crypto on-ramp) and some actions (buy and sell crypto), and mentions payment methods (credit cards, bank transfers, mobile payments), but doesn't list specific integration actions like 'generate widget URLs', 'handle webhooks', or 'configure supported currencies'.

2 / 3

Completeness

The description answers 'what does this do' reasonably well but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'when' is entirely absent, this scores a 1.

1 / 3

Trigger Term Quality

Includes useful terms like 'MoonPay', 'fiat-to-crypto', 'on-ramp', 'buy and sell crypto', 'credit cards', 'bank transfers', and 'mobile payments'. However, it's missing common variations users might say like 'purchase crypto', 'crypto payments', 'fiat gateway', 'KYC', or 'widget integration'.

2 / 3

Distinctiveness Conflict Risk

The description is clearly specific to MoonPay integration, which is a distinct product/service. The combination of 'MoonPay' as a named service with 'fiat-to-crypto on-ramp' makes it very unlikely to conflict with other skills.

3 / 3

Total

8

/

12

Passed

Implementation

64%

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

This is a solid API reference skill with excellent actionability—every major MoonPay operation has executable curl examples with proper authentication and response filtering. However, it reads more like a reference card than a workflow guide, lacking explicit sequencing of the typical integration flow and validation checkpoints between steps. Some reference tables (supported cryptos, payment methods) add bulk without proportional value since they can be queried via the API.

Suggestions

Add an explicit end-to-end workflow section that sequences the typical integration: get quote → generate widget URL or create transaction → poll/webhook for status → verify completion, with validation checkpoints at each step.

Move reference tables (supported cryptocurrencies, payment methods, error codes) into a separate REFERENCE.md file and link to it from the main skill.

Add error handling guidance to the curl examples, e.g., checking HTTP status codes and handling common failure modes inline rather than just listing error codes in a table.

DimensionReasoningScore

Conciseness

The skill is reasonably efficient but includes some unnecessary content like the emoji-laden feature list, the supported cryptocurrencies table, and the payment methods table which are reference data that could be looked up via the API itself. The tables of status codes and error codes are useful but the supported crypto/payment method tables add bulk without much actionable value.

2 / 3

Actionability

The skill provides fully executable curl commands with proper variable substitution, jq filtering, URL signing with openssl, and webhook verification. Every major operation (get currencies, get quote, generate widget URL, create transaction, check status) has copy-paste ready code.

3 / 3

Workflow Clarity

While individual API operations are clear, there's no explicit end-to-end workflow sequencing the steps (e.g., get quote → create transaction → check status → handle webhook). The safety rules section mentions verification steps but they aren't integrated into a workflow with validation checkpoints or error recovery loops.

2 / 3

Progressive Disclosure

The content is well-organized with clear section headers, but it's a monolithic file with no bundle files to offload reference content like payment methods, supported currencies, or detailed widget customization options. The external links at the bottom are helpful but the inline content could benefit from splitting reference tables into separate files.

2 / 3

Total

9

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

9

/

11

Passed

Repository
Demerzels-lab/elsamultiskillagent
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.