CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

adyen

Adyen integration. Manage data, records, and automate workflows. Use when the user wants to interact with Adyen data.

Quality

69%

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 ./skills/adyen/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 a solid, command-driven guide with a well-sequenced connection workflow, real state-based checkpoints, and a sensible proxy escape hatch. Its weaknesses are a two-spot padding problem (the 'what is Adyen' intro and the empty overview bullets), a dangling 'Step 2' reference, and the absence of a single worked example with real Adyen values.

Suggestions

Delete the 'Adyen is a global payment platform...' intro paragraph and the bare 'Adyen Overview' bullet list with 'Use action names and parameters as needed.' — Claude already knows what Adyen is, and the bullets carry no information.

Fix the dangling "skip to **Step 2**" references (no Step 2 exists) by numbering the actual sections, and standardize on one CLI invocation (`membrane` vs `npx @membranehq/cli`) throughout.

Add one worked end-to-end example with concrete values (e.g. connect, find a refund action via `action list --intent "refund a payment"`, then run it) so the placeholders CONNECTION_ID/QUERY/actionId have a filled-in reference.

DimensionReasoningScore

Conciseness

Most of the body is command-focused and efficient, but it opens with a paragraph explaining what Adyen is ("Adyen is a global payment platform that allows businesses to accept payments online, in-app, and in-store... E-commerce businesses and retailers use Adyen to streamline their payment operations"), which Claude already knows, and includes the filler "Adyen Overview" bullet list with "Use action names and parameters as needed." This fits anchor 3 (mostly efficient but includes some unnecessary explanation); it is above anchor 2 because the padding is limited to two spots rather than pervading the document.

3 / 5

Actionability

Concrete, copy-paste-ready commands throughout: `npm install -g @membranehq/cli@latest`, `membrane connection ensure "https://www.adyen.com/" --json`, `membrane action run <actionId> --input '{"key": "value"}' --json`, plus a complete proxy flag table. It falls short of anchor 5 because there is no worked end-to-end example with real values — every command uses placeholders (CONNECTION_ID, QUERY, actionId) and no Adyen-specific action is ever named or executed.

4 / 5

Workflow Clarity

There is a clear sequence (install → login → connection ensure → poll state → search actions → run → proxy fallback) with genuine validation checkpoints: polling `--wait` until state leaves BUILDING, an explicit state machine for READY / CLIENT_ACTION_REQUIRED / CONFIGURATION_ERROR with recovery actions (show uiUrl, re-poll), and guidance to prefer pre-built actions. It misses anchor 5 due to a dangling instruction — "skip to **Step 2**" when no Step 2 exists in the document — and inconsistent CLI invocation (`membrane` vs `npx @membranehq/cli`).

4 / 5

Progressive Disclosure

No bundle files (references/, scripts/, assets/) exist, and the single-file body (~140 lines) is organized into clear sections (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) with the bulkier reference-style material (the clientAction state-machine detail and the proxy flag table) appropriately set off. This matches anchor 4 (good structure, minor organization gaps); it misses anchor 5 because those reference-style blocks and the CLI setup boilerplate could live in separate reference files to keep SKILL.md a leaner overview.

4 / 5

Total

15

/

20

Passed

Description

57%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 has the right shape — a what plus an explicit 'Use when...' clause — and the repeated 'Adyen' keyword makes it reasonably distinct. Its main weakness is generic action language ('Manage data, records, and automate workflows') and missing natural payment-domain trigger terms like payments, refunds, or checkout.

Suggestions

Replace the generic 'Manage data, records, and automate workflows' with concrete Adyen operations, e.g. 'Process payments, manage checkout configurations, issue refunds, and manage merchants and terminals via Adyen'.

Add natural trigger keywords users would actually say: 'payments', 'refunds', 'checkout', 'transactions', 'payouts' — e.g. 'Use when the user mentions Adyen, wants to process or refund a payment, or work with Adyen merchants, terminals, or checkout configuration'.

Make the 'when' clause more specific than 'interact with Adyen data' by naming the concrete tasks it covers.

DimensionReasoningScore

Specificity

The description names the domain ("Adyen integration") but its actions are generic — "Manage data, records, and automate workflows" applies to nearly any SaaS integration and names no concrete Adyen operations like payments, refunds, or checkout. It is above anchor 1 (it does name the domain) but clearly below anchor 3, which requires 1-2 concrete actions.

2 / 5

Completeness

Both parts are present: a 'what' ("Adyen integration. Manage data, records, and automate workflows") and an explicit 'when' ("Use when the user wants to interact with Adyen data"). It sits at anchor 4 rather than 5 because the 'what' is generic and the 'when' trigger ('interact with Adyen data') lacks concrete trigger phrases; it is above anchor 3 because the 'when' clause is explicit, not merely implied.

4 / 5

Trigger Term Quality

"Adyen" appears three times and is the primary natural keyword a user would say, but the description omits common synonyms users actually use with this platform — "payments", "refund", "checkout", "transaction", "payout". This matches anchor 3 (some relevant keywords, missing common variations/synonyms); it is above anchor 2 because 'Adyen' is a specific, natural trigger rather than a generic one.

3 / 5

Distinctiveness Conflict Risk

Repeated explicit "Adyen" triggers make it clearly distinguishable from non-payment skills, giving it a distinct niche. However, because the description contains no payment-specific language, queries like "process a payment" or "issue a refund" would not distinguish it from analogous integration skills for other payment platforms — minor overlap risk with closely related skills, matching anchor 4 rather than 5.

4 / 5

Total

13

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

membranedev/application-skills

Path

skills/adyen/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.