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.

67

Quality

80%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/customer-portal/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

82%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a highly specific and well-targeted skill description that clearly identifies the technology stack (Paddle, Next.js Server Actions) and the concrete concerns it addresses (auth, ownership, URL structure, security model). Its main weakness is the absence of an explicit 'Use when...' clause, which would help Claude know exactly when to select this skill. The specificity and distinctiveness are excellent.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user needs to integrate Paddle's customer portal, generate billing session URLs, or implement subscription management in a Next.js app.'

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and concepts: minting a Paddle customer portal session URL, using Next.js Server Actions, auth, ownership checks, URL structure with overview vs deep links, and the security model. Also mentions the portal-vs-custom-billing-screen trade-off.

3 / 3

Completeness

Clearly answers 'what does this do' (mint a Paddle customer portal session URL from a Next.js Server Action with specific concerns covered), but lacks an explicit 'Use when...' clause or equivalent trigger guidance, which caps this at 2 per the rubric.

2 / 3

Trigger Term Quality

Includes highly specific natural keywords a user would say: 'Paddle', 'customer portal', 'session URL', 'Next.js', 'Server Action', 'billing', 'deep links', 'auth', 'ownership'. These are terms a developer working with Paddle billing integration would naturally use.

3 / 3

Distinctiveness Conflict Risk

Extremely specific niche combining Paddle + customer portal + Next.js Server Actions. This is unlikely to conflict with any other skill given the very targeted technology stack and use case.

3 / 3

Total

11

/

12

Passed

Implementation

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a high-quality, actionable skill with excellent executable code and clear workflow sequencing. Its main weakness is verbosity — the portal-vs-custom comparison, security model, and common pitfalls sections contain overlapping content and explanations that could be tightened significantly. The security guidance is thorough and well-articulated, which is a genuine strength for this type of integration.

Suggestions

Consolidate the 'Security model' and 'Common pitfalls' sections — several pitfalls (no auth check, trusting customerId from input, returning raw session) directly restate the security model points. Merge them into a single section with a concise list.

Trim the 'Should you use the portal at all?' section to 3-4 sentences max — Claude can infer the trade-offs from a brief note rather than a full comparison table with evolutionary advice.

DimensionReasoningScore

Conciseness

The skill is well-written but verbose in several places. The 'Should you use the portal at all?' section, while useful, is lengthy for context that Claude can largely infer. The 'Common pitfalls' section repeats security points already covered in the 'Security model' section. The comparison table and evolutionary advice add tokens without adding much actionable value.

2 / 3

Actionability

The skill provides fully executable, copy-paste-ready code for both the Server Action and the client component. The SDK call signature, return shape, environment variables, and database queries are all concrete and specific. Every step is directly implementable.

3 / 3

Workflow Clarity

The Server Action code itself is a clearly sequenced workflow with numbered steps (1. Auth, 2. Lookup customer, 3. Lookup subscriptions, 4. Mint session, 5. Return URL), each with inline comments explaining the rationale. The 'Verify the integration' section provides explicit validation checkpoints with expected outcomes for success and failure cases.

3 / 3

Progressive Disclosure

The skill references related skills (subscription-cancel, subscription-update, subscription-sync) and external docs, which is good. However, the content is monolithic — the comparison table, security model, common pitfalls, and verification steps could benefit from being separated or more tightly organized. With no bundle files, all content is inline, making it a long single document.

2 / 3

Total

10

/

12

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.

Validation11 / 11 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.