MoonPay fiat-to-crypto on-ramp integration. Buy and sell crypto with credit cards, bank transfers, and mobile payments.
48
52%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./public/skills/0xterrybit/moonpay/SKILL.mdQuality
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'.
| Dimension | Reasoning | Score |
|---|---|---|
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.
| Dimension | Reasoning | Score |
|---|---|---|
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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 9 / 11 Passed | |
f45fcb5
Table of Contents
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.