CtrlK
BlogDocsLog inGet started
Tessl Logo

web-payments

Stripe Checkout, subscriptions, webhooks, customer portal

48

Quality

37%

Does it follow best practices?

Impact

Pending

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 a 'Use when...' clause. While the Stripe-specific terminology provides some natural trigger terms and distinctiveness, the lack of concrete actions and explicit trigger guidance significantly limits its effectiveness for skill selection among many options.

Suggestions

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

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

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

DimensionReasoningScore

Specificity

Names the domain (Stripe) and lists some specific features (Checkout, subscriptions, webhooks, customer portal), but these are nouns/topics 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 trigger guidance, and per the rubric, a missing 'Use when...' clause should cap completeness at 2, but the 'what' itself is also weak (just a list of nouns), warranting a score of 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', 'payment integration', or 'Stripe API'.

2 / 3

Distinctiveness Conflict Risk

The mention of 'Stripe' specifically helps distinguish it from generic payment skills, but 'webhooks' and 'subscriptions' are broad terms that could overlap with other payment or integration skills. Adding more Stripe-specific triggers would improve distinctiveness.

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.

This skill is highly actionable with excellent, production-ready code examples covering the full Stripe integration surface area. However, it is far too verbose for a SKILL.md file - it reads more like comprehensive documentation than a concise skill reference. The lack of progressive disclosure (everything inline, no file references despite mentioning companion files) and significant content duplication (env vars, CLI commands) waste token budget significantly.

Suggestions

Split framework-specific code (Next.js, FastAPI) into separate referenced files (e.g., stripe-nextjs.md, stripe-fastapi.md) and keep SKILL.md as a concise overview with the integration options table and key patterns only.

Remove duplicate content: environment variables appear 3 times, CLI commands appear twice, and the Quick Reference section largely repeats earlier sections.

Add an explicit end-to-end integration workflow with validation checkpoints, e.g., '1. Set up test keys → 2. Create checkout endpoint → 3. Verify with stripe trigger → 4. Set up webhooks → 5. Verify webhook signature works → 6. Switch to live keys'.

Remove explanatory phrases Claude doesn't need (e.g., 'For keeping users on your site', 'Let users manage their subscriptions') and trim the integration options comparison - Claude knows what these options are.

DimensionReasoningScore

Conciseness

Extremely verbose at ~500+ lines. Includes redundant sections (env vars listed 3 times, checkout code in both Node.js and Python, Quick Reference repeats earlier content). The integration options table and explanatory text like 'For keeping users on your site' add little value for Claude. Much could be trimmed or split into separate files.

1 / 3

Actionability

Highly actionable with fully executable, copy-paste-ready code examples across multiple frameworks (Next.js, FastAPI). Includes complete endpoint implementations, client components, webhook handlers, test cards, and CLI commands - all concrete and specific.

3 / 3

Workflow Clarity

The setup steps are sequenced and webhook handling includes signature verification. However, there's no explicit end-to-end 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 verification workflow.

2 / 3

Progressive Disclosure

Monolithic wall of content with no references to external files despite the header mentioning 'Load with: base.md + [framework].md'. Everything is inline - the Python and Node.js examples, embedded checkout, subscriptions, pricing page patterns, and middleware could all be split into separate referenced files. The Quick Reference section at the end duplicates earlier content.

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 (667 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.