CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

paddle-webhooks

Receive and verify Paddle webhooks in a Next.js Route Handler — signature verification, idempotency, retry semantics, and local testing.

71

1.20x
Quality

83%

Does it follow best practices?

Impact

100%

1.20x

1 of 3 eval scenarios. Add 2 more for a full score.

SecuritybySnyk

Medium

Suggest reviewing before use

The canonical home for this skill is paddle-webhooks 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.

A strong, highly actionable tutorial: executable code throughout, a clearly sequenced workflow with an explicit validation checklist and feedback loop, and dense Paddle-specific knowledge rather than generic filler. The only notable weaknesses are repetition of the 2xx/non-2xx point and a large inline MCP-conventions block that could be split into a reference file.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious, Paddle-specific facts (retry budgets, 90-day replay, simulator rules, MCP conventions) that Claude cannot be assumed to know, with no generic filler. It is not a 5 because the critical "only 2xx is delivered / every non-2xx retries" point is restated roughly four times (Step 3 intro, code comments, the "Why a single catch" paragraph, and pitfalls 1–2), which is more than lean.

4 / 5

Actionability

The route handler, SDK helper, guarded-UPSERT SQL, and event-id ledger are complete and copy-paste ready, with concrete env vars, install and ngrok commands, and dashboard navigation paths. The TODO stubs in Step 4 are explicitly justified flexibility for app-specific logic, and Step 5 supplies the concrete implementation, so the common cases are fully covered.

5 / 5

Workflow Clarity

Steps 1–6 form a clear sequence (create destination, SDK helper, route handler, event routing, idempotency, queue heavy work), and "Verify the integration" provides explicit validation checkpoints with a genuine feedback loop (tamper the secret, confirm non-2xx, restore, replay, confirm success). Error-recovery guidance (409 duplicates, wrong secrets, clock skew) is also present.

5 / 5

Progressive Disclosure

The single-file skill is well organized with clear sections, clearly signaled sibling-skill pointers, and an external docs list. It is not a 5 because the ~330-line body inlines content that could live in reference files (the long MCP-conventions blockquote and the 11-bullet pitfalls section), which keeps the main file heavier than an overview-plus-references split.

4 / 5

Total

18

/

20

Passed

Description

70%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 specific, distinctive, third-person description that names concrete capabilities, but it lacks any explicit "Use when..." trigger guidance, which limits its discoverability and caps completeness. Adding a trigger clause and a few natural synonyms ("webhook endpoint", "Paddle events") would raise it substantially.

Suggestions

Add an explicit trigger clause, e.g. "Use when building a Paddle webhook endpoint, verifying Paddle signatures, or processing Paddle events in a Next.js app."

Include natural synonyms users might say, such as "webhook endpoint", "Paddle events", or "notification destination", to broaden trigger coverage.

Optionally mention event handling/processing (e.g. routing events to handlers) so the capability list is comprehensive, not just verification and testing.

DimensionReasoningScore

Specificity

"Receive and verify Paddle webhooks" plus "signature verification, idempotency, retry semantics, and local testing" lists several concrete, domain-specific actions with only minor gaps (event routing/processing is unmentioned). It sits between anchor 4 and 5: the em-dash list reads as topic labels rather than parallel actions, so coverage is not fully comprehensive.

4 / 5

Completeness

The description gives a clear "what" (receive, verify, and handle Paddle webhooks in a Next.js Route Handler) but contains no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 4 because the "when" is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

"Paddle webhooks", "Next.js", "Route Handler", "signature verification", "idempotency" are phrases a user would naturally say when needing this skill. A few natural variants like "webhook endpoint", "Paddle events", or "notifications" are missing, so it does not reach anchor 5.

4 / 5

Distinctiveness Conflict Risk

"Paddle webhooks in a Next.js Route Handler" carves out a clear niche with distinct triggers (Paddle, webhooks, Next.js, signature verification) and minimal overlap risk with generic webhook or Next.js skills.

5 / 5

Total

16

/

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

Path

providers/cursor/plugin/skills/webhooks/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.