CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/stripe-subscription-billing-test-author

Builds test suites for Stripe recurring-billing flows: trial-to-paid conversion, proration on plan upgrade and downgrade, dunning on failed renewal, cancel and reactivation, and the full subscription webhook event matrix (invoice.payment_failed, customer.subscription.updated, customer.subscription.deleted, invoice.paid). Uses Stripe Billing test clocks (POST /v1/test_helpers/test_clocks) to time-travel through billing cycles without calendar delay. Distinct from stripe-test-cards-and-webhooks (one-time PaymentIntents) and payment-webhook-replay (idempotency + replay robustness). Does not cover single-event CLI replay or handler idempotency testing (see payment-webhook-replay for those). Use when authoring tests for subscription or recurring-billing integrations.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Medium

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

Quality

Content

85%

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 strong, code-forward test-authoring guide with clear sequencing, explicit polling/validation checkpoints, and a useful anti-patterns table. Its main weakness is mild verbosity from repeated citation phrasings and a little introductory context Claude already knows.

Suggestions

Trim the repeated 'Per docs.stripe.com/...' lead-ins to a single References section, citing inline only where the link changes behavior.

Shorten the Overview's restatement of basic subscription-billing concepts, since Claude already knows how recurring billing works.

Collapse the near-duplicate webhook-event tables (Steps 2/4 and the Step 6 matrix) into one canonical matrix to reduce tokens.

DimensionReasoningScore

Conciseness

Mostly efficient with copy-paste code and compact tables, but the repeated 'Per docs.stripe.com/...' lead-ins and an opening overview that restates well-known context ('A customer's card is charged on a schedule, trials expire...') could be tightened, keeping it just below the lean-every-token-earns-its-place anchor.

2 / 3

Actionability

Fully executable TypeScript and bash snippets with specific test-card numbers, assertions, and copy-paste-ready commands match the fully-executable anchor.

3 / 3

Workflow Clarity

Steps 1–6 are clearly sequenced with explicit validation checkpoints ('Always poll GET ... until status is ready before asserting'), waitForClockReady feedback loops, and an Anti-patterns table for error recovery.

3 / 3

Progressive Disclosure

No bundle files exist; the single SKILL.md is well-organized into Overview, numbered Steps, Anti-patterns, Limitations, and a one-level References section, with external Stripe docs clearly signaled rather than nested.

3 / 3

Total

11

/

12

Passed

Description

100%

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 third-person, specific, and clearly distinguishes this skill from its siblings while giving explicit use-when guidance. It concisely enumerates the recurring-billing scenarios covered and the test-clock mechanism.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'trial-to-paid conversion, proration on plan upgrade and downgrade, dunning on failed renewal, cancel and reactivation, and the full subscription webhook event matrix' — matching the anchor for listing several specific actions.

3 / 3

Completeness

Explicitly answers what ('Builds test suites for Stripe recurring-billing flows...') and when ('Use when authoring tests for subscription or recurring-billing integrations.'), satisfying the both-what-and-when anchor.

3 / 3

Trigger Term Quality

Covers natural terms users would say ('subscription', 'recurring-billing', 'billing', 'trial', 'proration', 'dunning', 'webhook') across both the description and keywords metadata, giving good coverage of common phrasings.

3 / 3

Distinctiveness Conflict Risk

Carves a clear niche and explicitly disambiguates from siblings ('Distinct from stripe-test-cards-and-webhooks... and payment-webhook-replay...') plus states what it does not cover, making wrong-skill triggering unlikely.

3 / 3

Total

12

/

12

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Reviewed

Table of Contents