CtrlK
BlogDocsLog inGet started
Tessl Logo

paddle-subscription-cancel

Cancel a Paddle subscription from a Next.js Server Action — auth, ownership check, safe `effectiveFrom` default, revalidation, and the `canceled` vs `scheduledChange` distinction.

87

1.09x
Quality

80%

Does it follow best practices?

Impact

100%

1.09x

Average score across 3 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/subscription-cancel/SKILL.md
SKILL.md
Quality
Evals
Security

Evaluation results

100%

26%

Subscription Cancellation Server Action

Cancel subscription Server Action implementation

Criteria
Without context
With context

'use server' directive

100%

100%

Auth check first

100%

100%

Unauthenticated rejection

50%

100%

Customer ownership lookup

100%

100%

Subscription ownership check

100%

100%

Forbidden error on mismatch

50%

100%

Null customerRow handled

100%

100%

effectiveFrom default

100%

100%

revalidatePath called

0%

100%

Slim DTO returned

20%

100%

100%

Subscription Cancellation Action Review and Hardening

Security hardening of broken cancel action

Criteria
Without context
With context

Auth check added

100%

100%

Customer table lookup

100%

100%

Subscription ownership verified

100%

100%

Null customer handled

100%

100%

effectiveFrom corrected

100%

100%

Slim DTO instead of raw object

100%

100%

100%

Subscription Status Display and Access Gating

Subscription state display and access gating

Criteria
Without context
With context

Terminal state check

100%

100%

Access revoked only on canceled

100%

100%

Scheduled status display

100%

100%

Canceled status display

100%

100%

handleCancelResponse: no immediate revoke

100%

100%

handleCancelResponse: scheduled message

100%

100%

Mirror-based logic

100%

100%

Repository
PaddleHQ/paddle-agent-skills
Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

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.