CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

web-payments

Stripe Checkout, subscriptions, webhooks, customer portal

57

Quality

72%

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/web-payments/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%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 highly actionable, code-first reference with strong security practices (webhook verification, idempotency, secrets handling) and useful testing guidance. Its weaknesses are length and structure: duplicated content and language-specific variants inflate the token cost, and everything lives inline in a single large file with no progressive disclosure to reference files.

Suggestions

Remove duplication between the Setup, Testing, and Quick Reference sections (environment variables, install, and Stripe CLI commands each appear twice) to cut token cost.

Split language-specific implementations and common patterns into reference files (e.g., references/python.md, references/patterns.md) with one-level-deep links from SKILL.md, keeping the main file as a lean overview.

Define or annotate the placeholder dependencies in code examples ('db', 'getSession', 'handleCheckoutComplete') so the webhook and middleware samples are fully executable as written.

DimensionReasoningScore

Conciseness

The body is mostly efficient code with little explanation of known concepts, but contains noticeable duplication: environment variables are listed twice (Setup and Quick Reference), Stripe CLI and install commands repeat, and full UI components (pricing page, embedded checkout) are inlined. This sits between 'mostly efficient with some tightening possible' (3) and 'noticeably verbose' (2).

3 / 5

Actionability

Nearly all guidance is executable, copy-paste-ready code in both Node.js and Python, plus concrete test cards and CLI commands. Minor gaps keep it from 5: the webhook handler references undefined 'db' and 'handleX' functions, and the route middleware uses an undefined 'getSession'.

4 / 5

Workflow Clarity

The document follows a clear progression (setup, choose integration, implement, webhooks, test) and includes verification mechanisms such as signature verification, idempotency checks, test cards, and 'stripe trigger' commands. It is not a 5 because the sequence is implied by section order rather than explicit numbered steps with feedback loops for error recovery.

4 / 5

Progressive Disclosure

Section headers and tables provide reasonable structure, but the 650-line SKILL.md has no bundle files at all, and content that clearly belongs in separate references (language-specific variants, common patterns, full component examples) is fully inlined. It is not a 2 because the inline content is at least well-organized and navigable via headers.

3 / 5

Total

14

/

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 terse, concrete, and highly distinctive description that clearly signals its Stripe payments niche. Its main weakness is the absence of an explicit 'Use when...' trigger clause in the description field itself, leaving the 'when to use' question to a separate frontmatter field and capping completeness.

Suggestions

Append a 'Use when...' clause to the description field (e.g., 'Use when implementing Stripe payments, subscriptions, checkout flows, or webhook handling') so the description self-containedly answers when to invoke the skill.

Add natural trigger synonyms such as 'payments', 'billing', or 'payment processing' to broaden keyword coverage beyond the Stripe product names.

DimensionReasoningScore

Specificity

The description names the domain ("Stripe") and four concrete capabilities ("Checkout, subscriptions, webhooks, customer portal"), giving specific coverage of the skill's scope. It falls short of 5 because these are feature nouns rather than actions and coverage has minor gaps (no one-time payments, Payment Element, or billing portal setup actions).

4 / 5

Completeness

The description field has a clear "what" but no "Use when..." clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. Trigger guidance exists only in a separate 'when-to-use' frontmatter field, not in the description itself; a 4 would require an explicit 'when' within the description.

3 / 5

Trigger Term Quality

"Stripe", "Checkout", "subscriptions", and "webhooks" are terms users would naturally say when they need this skill. A few natural terms are missing ("payments", "billing", "payment processing"), keeping it below the comprehensive synonym/variation coverage of a 5.

4 / 5

Distinctiveness Conflict Risk

"Stripe Checkout, subscriptions, webhooks, customer portal" carves out a clear niche with distinct, product-specific triggers and minimal overlap risk with other skills. It is not a 4 because the Stripe-specific naming leaves virtually no ambiguity about when this skill applies.

5 / 5

Total

16

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (666 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

alinaqi/maggy

Path

skills/web-payments/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.