CtrlK
BlogDocsLog inGet started
Tessl Logo

paddle-customer-portal

Mint a Paddle customer portal session URL from a Next.js Server Action — the portal-vs-custom-billing-screen trade-off, auth, ownership, URL structure (overview vs deep links), and the security model.

64

Quality

75%

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/customer-portal/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

81%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 highly actionable with complete executable code and a strong verification workflow. Its main weakness is mild verbosity in the portal-vs-custom trade-off discussion, which could be tightened without losing value.

Suggestions

Trim the 'Should you use the portal at all?' comparison table and evolution narrative to a few lines, or move the trade-off detail to a separate reference file.

Drop explanatory comments that restate what the code already shows (e.g. the inline restating of the security rationale that is already covered in the 'Security model' section).

DimensionReasoningScore

Conciseness

Mostly efficient domain-specific guidance that earns its place, but the 'Should you use the portal at all?' trade-off table and evolution prose are product advice that could be trimmed; some explanatory padding keeps it below 4.

3 / 5

Actionability

Provides fully executable, copy-paste-ready Server Action and client component code with exact SDK call signatures and concrete field paths (session.urls.general.overview, subscriptions[].cancelSubscription), covering the common cases.

5 / 5

Workflow Clarity

The Server Action is a clearly numbered sequence (steps 1-5) with inline rationale, and the 'Verify the integration' section provides explicit validation checkpoints (auth, no-customer, fresh-URL, SDK-not-called).

5 / 5

Progressive Disclosure

Single well-organized file with clear section headers and clearly signaled one-level-deep links to external Paddle docs and related skills; no bundle files to split, but the focused task arguably needs no further factoring, landing just below 5.

4 / 5

Total

17

/

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.

The description is specific and clearly scoped to a distinct Paddle/Next.js task, but it omits an explicit 'Use when' trigger clause, which caps completeness. Trigger-term coverage is strong but lacks common synonyms.

Suggestions

Add an explicit trigger clause, e.g. 'Use when a user clicks Manage subscription and you want Paddle to host the billing self-service UI.'

Include common natural synonyms like 'manage subscription', 'billing portal', or 'self-service billing' alongside the API terms.

DimensionReasoningScore

Specificity

Names the concrete action ('Mint a Paddle customer portal session URL from a Next.js Server Action') plus several specific topical areas (auth, ownership, URL structure, deep links, security model); not a full list of multiple distinct actions, so below 5.

4 / 5

Completeness

Has a clear 'what' (mint a portal session URL) but no explicit 'Use when...' trigger clause; per guidelines a missing explicit trigger caps completeness at 3.

3 / 5

Trigger Term Quality

Uses natural domain terms ('Paddle customer portal', 'session URL', 'Next.js Server Action') a user would plausibly say, but omits common synonyms like 'manage subscription', 'billing portal', or 'self-service'.

4 / 5

Distinctiveness Conflict Risk

Targets a precise niche (Paddle customer portal session minting from Next.js Server Actions) with distinct triggers and minimal overlap with other 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.

Validation16 / 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.