Guide for upgrading Stripe API versions and SDKs
62
43%
Does it follow best practices?
Impact
91%
1.16xAverage score across 3 eval scenarios
Risky
Do not use without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./providers/claude/plugin/skills/upgrade-stripe/SKILL.mdQuality
Discovery
22%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 too terse and reads more like a document title than a skill description. It lacks concrete actions, explicit trigger conditions, and natural keyword variations that would help Claude reliably select this skill from a large pool. The Stripe-specific domain provides some distinctiveness, but the description needs significant expansion.
Suggestions
Add a 'Use when...' clause with explicit triggers, e.g., 'Use when the user asks about upgrading Stripe API versions, migrating between Stripe SDK versions, handling Stripe deprecation warnings, or resolving breaking changes after a Stripe update.'
List specific concrete actions such as 'Updates Stripe SDK dependencies, resolves breaking API changes, migrates deprecated parameters and endpoints, updates webhook signature verification code.'
Include natural keyword variations users might say: 'Stripe migration', 'stripe-python', 'stripe-node', 'stripe-ruby', 'API changelog', 'Stripe deprecation', 'breaking changes'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description only names a domain ('Stripe API versions and SDKs') and a single vague action ('upgrading'). It does not list concrete actions like 'update webhook endpoints, migrate deprecated parameters, resolve breaking changes'. | 1 / 3 |
Completeness | The description weakly addresses 'what' (upgrading Stripe API versions/SDKs) but completely lacks any 'when' clause or explicit trigger guidance. 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 | It includes some relevant keywords like 'Stripe', 'API versions', and 'SDKs' that users might naturally mention, but misses common variations like 'Stripe migration', 'stripe-python', 'stripe-node', 'breaking changes', 'deprecation', or version numbers. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Stripe API versions' provides some specificity that distinguishes it from generic coding or API skills, but it could overlap with broader Stripe integration skills or general API migration guides. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid reference skill with good actionable code examples across multiple languages and a useful upgrade checklist. Its main weaknesses are some verbosity in explaining concepts Claude already understands (semantic versioning, backward-compatible change definitions) and a lack of explicit validation/feedback loops in the upgrade workflow. The content would benefit from trimming explanatory sections and adding verification checkpoints.
Suggestions
Remove or drastically shorten the 'Types of Changes' and 'Semantic Versioning' explanations — Claude already knows these concepts. Replace with a one-liner like 'Review the changelog for breaking changes between versions.'
Add explicit validation checkpoints to the upgrade checklist, e.g., 'Run your test suite after step 4; if failures occur, check the changelog for the specific breaking change and fix before proceeding.'
Consider splitting mobile SDK and Stripe.js versioning details into separate referenced files to reduce the main skill's token footprint and improve progressive disclosure.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes some unnecessary explanations Claude already knows (e.g., explaining what backward-compatible vs breaking changes are, explaining semantic versioning MAJOR.MINOR.PATCH). The types of changes section and mobile SDK versioning details add bulk without much actionable value. However, the code examples and checklist are reasonably tight. | 2 / 3 |
Actionability | The skill provides concrete, executable code examples across multiple languages (Python, Ruby, JavaScript, bash curl), specific script tags for Stripe.js, package manager commands, and a detailed upgrade checklist. The guidance is copy-paste ready and covers real integration scenarios. | 3 / 3 |
Workflow Clarity | The upgrade checklist provides a clear sequence of steps, and the testing section shows how to validate against a new version before committing. However, there are no explicit validation checkpoints or feedback loops (e.g., 'if tests fail, do X'), and no verification step after the upgrade is complete to confirm everything works correctly. | 2 / 3 |
Progressive Disclosure | The skill references external Stripe docs (changelog, upgrades guide, SDK versioning pages) which is good, but all content is inline in a single file with no bundle files. The mobile SDK versioning and Stripe.js sections could be split out. The references to external Stripe docs are well-signaled but the overall document is somewhat monolithic for its length. | 2 / 3 |
Total | 9 / 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.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
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.