CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

upgrade-stripe

Guide for upgrading Stripe API versions, webhook endpoints, server-side SDKs, Stripe.js, and mobile SDKs

1.02x
Quality

70%

Does it follow best practices?

Impact

100%

1.02x

1 of 3 eval scenarios. Add 2 more for a full score.

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./providers/cursor/plugin/skills/upgrade-stripe/SKILL.md

The canonical home for this skill is upgrade-stripe in stripe/ai

SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

The body is a well-structured, highly actionable guide with concrete code, a sequenced upgrade checklist including testing, dual-secret cutover, and rollback guidance. Its weaknesses are mild educational padding (semver and change-type primers Claude already knows) and the absence of an explicit failure-recovery loop in the workflow.

Suggestions

Cut or externalize the basic-knowledge primers — the MAJOR.MINOR.PATCH semantic-versioning explainer and the generic backward-compatible/breaking-changes taxonomy — to tighten token efficiency.

Add an explicit error-recovery step to the checklist, e.g. "If tests against the new version fail, roll back the pin, fix the affected code paths, and re-test before cutover."

Provide a concrete command or lookup step for upgrading strongly-typed SDKs (Java, Go, .NET) to a release targeting the selected API version, since that path currently gives only a direction.

DimensionReasoningScore

Conciseness

Mostly efficient Stripe-specific guidance, but it includes explanation Claude already knows, e.g. a semantic versioning primer ("MAJOR: Breaking API changes, MINOR: New functionality (backward-compatible), PATCH: Bug fixes") and a generic backward-compatible/breaking-changes taxonomy. It handles time-sensitive version numbers well (the fallback is labeled a dated snapshot with staleness guidance and instructions to substitute the target), which keeps it above 2, but the padding keeps it below 4.

3 / 5

Actionability

Concrete, copy-paste-ready guidance dominates: executable Python/Ruby/JS client-config and per-request-override snippets, a curl command with the Stripe-Version test header, "npm install @stripe/stripe-js", and checklist commands like "npm update stripe, pip install --upgrade stripe". Minor gaps keep it from 5: the strongly-typed path says only "update the SDK to target a new API version" with no command, and the "Migrating from v3" steps are abstract ("Consider gradually updating your API version").

4 / 5

Workflow Clarity

The 9-step Upgrade Checklist gives a clear sequence with real checkpoints: test via Stripe-Version before committing, create and test a replacement destination, accept both signing secrets during testing and cutover, disable the old destination after cutover, and a 72-hour rollback window. It is not 5 because there is no explicit error-recovery feedback loop (what to do when tests or the new destination fail) — only the success-path checkpoints — matching 'clear sequence with most checkpoints present; minor validation gaps'.

4 / 5

Progressive Disclosure

No bundle files exist, and each major section clearly signals the authoritative external reference for detail ("See [Set a Stripe API version for your SDK](https://docs.stripe.com/sdks/set-version.md) for details", plus versioning, webhook-versioning, changelog, and upgrades links), keeping the body an overview rather than a full reference. Good structure with minor gaps: some inline content (the semver primer, the Types of Changes lists) could be trimmed or externalized, fitting 'good structure; most content appropriately placed; references mostly clear'.

4 / 5

Total

15

/

20

Passed

Description

58%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.

The description communicates a clear, distinctive purpose with concrete enumerated scope, but it omits any 'when to use' trigger guidance and lacks natural keyword variations users might say. Adding an explicit 'Use when...' clause with terms like 'upgrade', 'update', or 'migrate' would raise both completeness and trigger-term quality.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to upgrade, update, or migrate their Stripe integration, API version, webhooks, or Stripe SDKs."

Include natural keyword variations users would say — "update Stripe", "migrate Stripe", "new API version", "version pin" — to improve trigger-term coverage.

Mention the distinguishing signals (e.g. "when the user mentions Stripe version pins or the Stripe-Version header") to sharpen boundaries against general dependency-upgrade skills.

DimensionReasoningScore

Specificity

The description enumerates concrete components it covers — "upgrading Stripe API versions, webhook endpoints, server-side SDKs, Stripe.js, and mobile SDKs" — giving specific scope with only minor gaps. It falls short of 5 because the action side is a single generic verb ("Guide for upgrading") rather than multiple distinct concrete actions, and above 3 because it lists five specific coverage areas rather than 1-2.

4 / 5

Completeness

The 'what' is clear (a guide for upgrading the enumerated Stripe components), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not 2 because the 'what' is concrete and specific, not vague.

3 / 5

Trigger Term Quality

Relevant keywords are present ("upgrading", "Stripe API versions", "SDKs", "Stripe.js") that a user needing this skill would plausibly say. It misses common variations and synonyms such as "update", "migrate", "version pin", or "API version bump", keeping it at the 'some relevant keywords but missing variations' anchor rather than 4.

3 / 5

Distinctiveness Conflict Risk

"Upgrading Stripe API versions, webhook endpoints, server-side SDKs, Stripe.js, and mobile SDKs" is a clear niche with minimal generic overlap. It is not 5 because, lacking explicit trigger phrases, its boundary against a broader Stripe-integration or general dependency-upgrade skill is implicit rather than sharply drawn — matching 'mostly distinct; minor overlap risk with closely related skills'.

4 / 5

Total

14

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

stripe/ai

Path

providers/cursor/plugin/skills/upgrade-stripe/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.