CtrlK
BlogDocsLog inGet started
Tessl Logo

web-payments

Stripe Checkout, subscriptions, webhooks, customer portal

38

Quality

37%

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

Quality

Discovery

32%

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 a bare comma-separated list of Stripe-related topics without any verbs describing actions or any guidance on when to use the skill. While the Stripe-specific terms provide some natural trigger coverage and domain distinctiveness, the lack of concrete actions and a 'Use when...' clause significantly weakens its effectiveness for skill selection.

Suggestions

Add concrete action verbs describing what the skill does, e.g., 'Implements Stripe Checkout sessions, manages subscriptions and billing cycles, processes webhook events, configures customer portal.'

Add an explicit 'Use when...' clause, e.g., 'Use when the user needs to integrate Stripe payments, set up recurring billing, handle payment webhooks, or configure a customer self-service portal.'

Include additional natural trigger terms users might say, such as 'payments', 'billing', 'recurring charges', 'Stripe API', 'payment processing', or 'payment integration'.

DimensionReasoningScore

Specificity

Names the domain (Stripe) and lists some specific areas (Checkout, subscriptions, webhooks, customer portal), but these are feature areas rather than concrete actions. It doesn't describe what actions are performed with these features (e.g., 'create checkout sessions', 'handle webhook events').

2 / 3

Completeness

Provides a partial 'what' (Stripe-related topics) but completely lacks a 'when' clause. There is no 'Use when...' or equivalent guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and the 'what' is also weak, so this scores a 1.

1 / 3

Trigger Term Quality

Includes relevant keywords like 'Stripe', 'Checkout', 'subscriptions', 'webhooks', and 'customer portal' that users might naturally mention. However, it's missing common variations like 'payments', 'billing', 'recurring payments', 'Stripe API', or 'payment integration'.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Stripe' provides a clear domain anchor that reduces conflict risk. However, 'webhooks' and 'subscriptions' are generic terms that could overlap with other payment or API-related skills. More specificity would help distinguish it further.

2 / 3

Total

7

/

12

Passed

Implementation

42%

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

The skill excels at actionability with high-quality, executable code examples covering the full Stripe integration surface area (checkout, webhooks, subscriptions, portal, testing). However, it is far too verbose for a skill file—content is repeated across sections, dual-language examples double the length, and there's no progressive disclosure since everything is crammed into one file. Trimming redundancy and splitting into referenced sub-files would dramatically improve token efficiency.

Suggestions

Split into multiple files: keep SKILL.md as an overview with checkout + webhook basics, then reference separate files like SUBSCRIPTIONS.md, PYTHON_EXAMPLES.md, PATTERNS.md, and TESTING.md

Remove duplicate content: environment variables appear 3 times, consolidate to one location; remove the Quick Reference section which restates earlier content

Choose one primary language (TypeScript/Next.js) for the main skill and move Python examples to a separate referenced file to cut ~30% of content

Add an explicit end-to-end deployment workflow with validation checkpoints: e.g., '1. Set up test keys → 2. Implement checkout → 3. Verify with stripe trigger → 4. Add webhooks → 5. Test full flow with CLI → 6. Switch to live keys'

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~500+ lines, with significant redundancy: environment variables are listed three times, checkout session creation is shown in both Node.js and Python (doubling content), the Quick Reference section repeats information already covered, and there's unnecessary explanation like 'For integrating Stripe payments into web applications'. The anti-patterns section restates guidance already given in Security Best Practices. Much of this could be cut in half while preserving all actionable content.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples across multiple frameworks (Next.js, FastAPI), complete with proper imports, type annotations, error handling, and realistic file paths. Test cards, CLI commands, and project structure are all concrete and immediately usable.

3 / 3

Workflow Clarity

The setup steps are sequenced (1-3), and the webhook flow includes signature verification before processing. However, there's no explicit end-to-end integration workflow with validation checkpoints (e.g., 'verify webhook works before going live', 'test with CLI before deploying'). The testing section exists but isn't integrated into a deployment workflow with feedback loops.

2 / 3

Progressive Disclosure

This is a monolithic wall of text with no bundle files to offload content to. The Python examples, embedded checkout, common patterns (pricing page, route protection), and detailed webhook handlers could all be separate referenced files. Everything is inline in a single massive document, making it hard to navigate and consuming excessive context window.

1 / 3

Total

7

/

12

Passed

Validation

81%

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

Validation9 / 11 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

9

/

11

Passed

Repository
alinaqi/claude-bootstrap
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.