Stripe Checkout, subscriptions, webhooks, customer portal
48
37%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/web-payments/SKILL.mdQuality
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'.
| Dimension | Reasoning | Score |
|---|---|---|
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.
| Dimension | Reasoning | Score |
|---|---|---|
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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | |
d4ddb03
Table of Contents
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.