CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk, X Layer through OKX Payments / OKX Agent Payments Protocol, and Solana plus multi-network EVM through the upstream x402 packages with facilitator-based settlement. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

65

Quality

82%

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

SKILL.md
Quality
Evals
Security

Quality

Content

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

Highly actionable and unusually rich in verified, versioned domain detail with real security rigor (fail-closed budget checks, origin allowlists, adversarial testing guidance). Its weaknesses are structural: it is a monolithic 440-line file with no reference bundle, and it repeats a few warnings and code-comment explanations that could be trimmed without losing value.

Suggestions

Move the Option C payment-policy code example, the facilitator comparison, and the Solana ATA deep-dive into references/ files (e.g. references/buyer-policy.md, references/facilitators.md, references/solana-ata.md) and keep short pointers in SKILL.md — this would cut the body roughly in half and fix progressive disclosure.

State version pinning and the user-confirmation requirement once each (e.g. in Best Practices) and cross-reference from the options instead of repeating the full warning at each occurrence.

Trim code comments that restate general knowledge (EVM address case rules, await/interleaving rationale) and keep only the x402-specific invariants (reservation-before-await semantics, redirect refusal, settlement-response-has-no-amount).

DimensionReasoningScore

Conciseness

Mostly efficient — the bulk is high-value domain specifics Claude would not know (chain/network IDs, USDC mints, pinned package versions, the Solana ATA settlement gotcha) — but it could be tightened: version pinning is stated three times (security note, Option C step 3, Best Practices), user-confirmation requirements appear in both Options B and C, facilitator/testnet facts are duplicated between 'Supported Networks' and the facilitator table, and the 140-line code example includes comments explaining things Claude already knows (EVM address case-insensitivity, why checks must precede an await).

3 / 5

Actionability

Fully executable throughout: copy-paste MCP JSON config with pinned version, a complete runnable MCP client with fail-closed budget checking, a complete curl + jq account-existence command, exact SDK names, versions, and doc URLs; the single deliberately abstracted piece (confirmWithUser) is explicitly justified as a harness-supplied function, satisfying the rubric's exception for justified flexibility.

5 / 5

Workflow Clarity

A decision tree routes to per-option numbered steps, and validation is genuinely present for this destructive domain (verify set_policy success before delegating, check_spending pre-tool hook with explicit error paths, adversarial policy tests, ATA existence check before settlement, testnet-first guidance), so the destructive-operation cap does not apply. It falls short of a 5 because it is a multi-path dispatcher rather than one unified sequence, and Option B largely defers to an external SKILL.md rather than carrying its own checkpoints.

4 / 5

Progressive Disclosure

The file is well-structured internally (clear headers, decision tree, tables) but entirely monolithic: no references/, scripts/, or assets/ exist, and content that clearly belongs in separate files — the ~140-line payment-policy code example, the facilitator comparison, the Solana ATA deep-dive, and the discovery catalog — is all inlined in a 440-line SKILL.md, matching the 'content that should be separate is inline' anchor.

3 / 5

Total

15

/

20

Passed

Description

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

A strong description with an explicit, concrete 'Use when' clause and specific, named-capability framing in third person. Its main weakness is that it describes only the buyer side of the skill, omitting the seller-side (API charges agents) flows that occupy much of the body, and it slightly repeats the budgets/controls/wallets phrase list instead of adding new trigger terms.

Suggestions

Add one clause covering seller-side capability, e.g. 'Also sets up APIs to charge paying agents (Express, Hono, Fastify, Next.js, Go, Rust, Java)' — this closes the specificity gap and adds 'charges'/'accepts payments' as trigger terms.

Trim the near-verbatim repetition of 'per-task budgets, spending controls, and a non-custodial wallet' between the first sentence and the 'Use when' clause, and use the freed space for synonyms users would actually say (e.g. 'agent payments', 'spending limits').

DimensionReasoningScore

Specificity

Lists several concrete capabilities ("Add x402 payment execution", "per-task budgets", "spending controls", "non-custodial wallets", "facilitator-based settlement") with named SDKs and chains, but coverage is buy-side only — the body's substantial seller-side flows ("API charges agents" via OKX seller SDKs and upstream middleware) are never mentioned, a minor gap that keeps it below the comprehensive anchor.

4 / 5

Completeness

Explicitly answers both questions: the 'what' is the first two sentences (payment execution with budgets, controls, non-custodial wallets across named networks) and the 'when' is a concrete trigger clause ("Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet").

5 / 5

Trigger Term Quality

Good natural-term coverage ("pay", "payment", "budgets", "spending", "wallet", "Base", "Solana", "X Layer"), but common variations a user might say — "charges", "accepts payments", "monetize an API", "transactions" — are absent, matching the 'good coverage, a few natural terms missing' anchor.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche — an agent paying for things itself under orchestrator-set policy — and the 'Use when' clause requires that agent-payment context, so it is unlikely to fire for generic wallet, blockchain, or billing skills despite mentioning Base, Solana, and wallets.

5 / 5

Total

18

/

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

metadata_version

'metadata.version' is missing

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

affaan-m/ECC

Path

skills/agent-payment-x402/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.