CtrlK
BlogDocsLog inGet started
Tessl Logo

paddle-checkout-web

Add a Paddle Checkout to a Next.js web app — overlay or inline, with event handling, customer pre-fill, and dynamic line item updates.

68

Quality

81%

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

The canonical home for this skill is paddle-checkout-web in PaddleHQ/paddle-agent-skills

SKILL.md
Quality
Evals
Security

Quality

Content

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

Strong, executable content: complete working code for both checkout styles, a prerequisite checklist, a pitfalls section covering real failure modes, and an explicit verification procedure. The only deductions are minor verbosity in the variant tables and MCP notes, and a single-file structure at the edge of a comfortable inline size.

DimensionReasoningScore

Conciseness

The body is dense and Paddle-specific throughout (env vars, frameTarget contract, throttling, pitfalls) and doesn't re-explain Next.js or React basics, but sections like the two "Choose your..." comparison tables, the contradictory "Multi-page is the default. One-page is recommended for most use cases", and the long MCP blockquote could be trimmed or split. It fits anchor 4 'Efficient; minor instances of over-explanation that could be trimmed'; not 5 because of those minor padded spots, and well above 3 because nearly all content is non-obvious vendor-specific detail.

4 / 5

Actionability

Both the overlay and inline paths ship complete, copy-paste-ready TypeScript/React components (initializePaddle with real settings, openCheckout, throttled updateItems), plus exact npm install, env var names, sandbox test card numbers, and dashboard navigation paths. This matches anchor 5 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The flow is clearly sequenced — prerequisites (account, price ID, domain approval, token) → install → choose style → working code → common pitfalls → "Verify the integration" with concrete checkpoints (test card 4242..., successUrl landing, checkout.completed firing, transaction visible in dashboard). Pitfalls act as an error-recovery feedback loop; matches anchor 5 'Clear sequence with explicit validation steps; feedback loops for error recovery'.

5 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, assets/), so this is a single-file skill; sections are well organized with clear headers and one-level-deep external doc links under "Related docs". It fits anchor 4 'Good structure; most content is appropriately placed; references mostly clear': the ~290-line file is at the upper end of what should stay inline, and content like the full inline example or the event table could arguably live in a reference file, but nothing is buried and navigation is easy.

4 / 5

Total

18

/

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 is specific, concrete, and highly distinctive, but it omits any explicit 'when to use' trigger clause, which caps completeness at 3 and limits its discoverability. Adding a 'Use when...' sentence would lift it to the top of the scale.

Suggestions

Append a trigger clause such as: "Use when adding Paddle billing/checkout to a Next.js or React app, when the user mentions Paddle, payments, subscriptions, or a buy button."

Include natural synonyms users would say — "payment", "billing", "subscription", "buy now button" — in the trigger clause to improve trigger_term_quality.

State the boundary in the description (client-side checkout only, pair with webhooks for provisioning) so it doesn't trigger for server-side Paddle API work.

DimensionReasoningScore

Specificity

"Add a Paddle Checkout to a Next.js web app — overlay or inline, with event handling, customer pre-fill, and dynamic line item updates" names the domain and multiple concrete capabilities (event handling, customer pre-fill, dynamic line item updates). It matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage'; it is not 4 because coverage of the skill's actual capabilities is complete rather than having minor gaps.

5 / 5

Completeness

The description has a clear 'what' (add a Paddle Checkout with overlay/inline, events, pre-fill, dynamic items) but no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the rubric guidelines. It is not 4 because the 'when' is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

"Paddle Checkout", "Next.js", "overlay", "inline", "customer pre-fill" are terms a user would naturally say when requesting this work. It falls short of the anchor 5 'comprehensive coverage of natural terms including synonyms' because common user phrasings like "payment", "billing", "buy button", or "subscription" are absent; it is above 3 because the included keywords are natural rather than generic.

4 / 5

Distinctiveness Conflict Risk

"Paddle Checkout to a Next.js web app" is a clear niche with distinct triggers (specific vendor, product, and framework) and minimal conflict risk with other skills. Not 4 because there is no meaningful overlap with closely related skills in the trigger space.

5 / 5

Total

17

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
PaddleHQ/paddle-agent-skills
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.