plugins/stripe/skills/stripe/SKILL.md
Stripe payments knowledge base -- API patterns, checkout optimization, subscription lifecycle, pricing strategies, webhook reliability, Firebase integration, cost analysis, and revenue modeling. Loaded by stripe-integrator and revenue-optimizer agents; also consumable directly when the user asks for Stripe-specific patterns without needing an agent. TRIGGER WHEN: working with Stripe API (Payment Intents, Customers, Subscriptions, Checkout Sessions, Connect, webhooks, tax, usage-based billing), pricing strategy, or revenue modeling. DO NOT TRIGGER WHEN: payment work is non-Stripe (PayPal, Square, crypto) or the task is generic e-commerce unrelated to payments.
npx skillsauth add acaprino/anvil-toolset stripeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Unified reference for Stripe integrations. Content is split across references/ (topic-specific patterns) and scripts/ (ready-to-run helpers).
references/api-cheatsheet.md and references/stripe.mdreferences/typescript-nextjs.mdreferences/embedded-checkout.mdreferences/webhooks-production.mdreferences/billing-meters.md (legacy usage_type=metered was removed in 2025-03-31.basil)references/entitlements.mdreferences/stripe-agent-toolkit.mdreferences/test-clocks.mdreferences/pci-dss-4-checklist.mdreferences/subscription-patterns.md, references/usage-revenue-modeling.mdreferences/checkout-optimization.mdreferences/pricing-patterns.mdreferences/firebase-integration.mdreferences/stripe-patterns.mdreferences/cost-analysis.mdReference style note: the newer references (billing-meters, entitlements, webhooks-production, typescript-nextjs, embedded-checkout, stripe-agent-toolkit, test-clocks, pci-dss-4-checklist) intentionally link to official Stripe docs for canonical code samples instead of mirroring them locally. Local content is limited to non-obvious gotchas and decision criteria.
Ready-to-run Python helpers (adapt to your project; require STRIPE_SECRET_KEY env var):
scripts/setup_products.py -- bootstrap Products and Prices for a new projectscripts/stripe_utils.py -- shared utility functions used by the other scriptsscripts/sync_subscriptions.py -- reconcile local DB vs Stripe subscription statescripts/webhook_handler.py -- signature-verified webhook receiver template with idempotencyscripts/webhook_audit.py -- report gaps between configured webhook endpoints and the must-have event catalogscripts/simulate_subscription.py -- walk a test-clock subscription through trial end, renewal, failed payment, and recoveryAll scripts live at ${CLAUDE_PLUGIN_ROOT}/skills/stripe/scripts/<name>.py. Agents should reference them by that path.
Stripe's current version (April 2026) is 2026-04-22.dahlia. Versions follow the pattern YYYY-MM-DD.<release> where the release name (acacia, basil, dahlia, ...) signals major-release boundaries. Monthly point releases are backwards-compatible within a release name.
Pin an explicit version in all server-side code:
import stripe
stripe.api_version = "2026-04-22.dahlia"
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: '2026-04-22.dahlia',
});
The modern Node and Python SDKs bake a default API version into each SDK release, so the SDK itself pins requests unless you override. Prefer explicit pinning on the constructor anyway -- it's the one line that documents which version your integration was written against.
Breaking changes to know about:
2025-03-31.basil removed the legacy usage records API (SubscriptionItem.create_usage_record and bare usage_type=metered prices). All metered prices must now be backed by a Meter. See billing-meters.md.subscription.current_period_end moved to subscription.items.data[0].current_period_end. If your code reads the top-level field, you'll break on any modern version.Dashboard -> Workbench shows your account's default version. Account defaults lag major releases; never rely on the default -- pin explicitly.
stripe.Webhook.construct_event on every eventevent.id (Stripe retries within a 3-day window)2xx within 10 seconds; defer heavy work to a queuestripe events resend during developmentSee references/webhooks-production.md for the full treatment (event catalog by use-case, multi-environment strategy, audit checklist) and scripts/webhook_handler.py for a working implementation.
subscription.current_period_end at top level -- it moved to subscription.items.data[0].current_period_end in newer API versions; verify against your pinned versioncustomer.default_source -- deprecated in favor of invoice_settings.default_payment_methodprice.id as the product identifier -- price.id changes on any price update; use product.id for stable referencesautomatic_payment_methods: { enabled: true } on Payment Intents -- customers get a default payment-method list that often excludes wallets and BNPLSubscriptionItem.create_usage_record -- removed in API 2025-03-31.basil. Migrate to stripe.billing.MeterEvent.create (see references/billing-meters.md).plan.features map when your billing lives in Stripe -- use Stripe Entitlements and cache via the entitlements.active_entitlement_summary.updated webhook (see references/entitlements.md).revenue-optimizer agent (same plugin)stripe-integrator agent (same plugin)stripe-webhooks-auditor agent + /stripe:audit-webhooks commandbusiness:privacy-doc-generatorplatform-engineering:platform-reviewerdevelopment
Unified web frontend knowledge base covering CSS architecture, UX psychology, UI components, distinctive aesthetics, and interface design generation. TRIGGER WHEN: working on web styling, design systems, component decisions, responsive strategy, distinctive frontend aesthetics, or exploring multiple interface designs. DO NOT TRIGGER WHEN: the task is purely backend or unrelated to web frontend.
development
Coordinate parallel code reviews across multiple quality dimensions with finding deduplication, severity calibration, and consolidated reporting. Use this skill when organizing multi-reviewer code reviews, calibrating finding severity, or consolidating review results.
tools
Knowledge base for the codebase-mapper plugin. Provides writing guidelines, tone rules, and diagram conventions for generating human-readable project guides. Referenced by all codebase-mapper agents during document generation. TRIGGER WHEN: referenced by codebase-mapper pipeline agents (codebase-explorer, overview-writer, tech-writer, flow-writer, onboarding-writer, ops-writer, config-writer, guide-reviewer) during document generation. DO NOT TRIGGER WHEN: outside the /map-codebase pipeline (general documentation work should use docs:readme-craft or codebase-mapper:docs-create).
tools
Progressive Web App knowledge base for 2025-2026: Web App Manifest, Service Workers (Workbox 7, Serwist), Web Push (VAPID, RFC 8030/8291/8292, Declarative Push for Safari 18.4+), install flows (beforeinstallprompt, Window Controls Overlay), OPFS storage, Project Fugu, Core Web Vitals (INP < 200ms), security (HTTPS, CSP, COOP/COEP), and distribution (Bubblewrap, PWA Builder MSIX, Capacitor). TRIGGER WHEN: building, auditing, or debugging PWAs, including manifest, service worker, Web Push, install flow, OPFS, Background Sync, Wake Lock, vite-plugin-pwa, Next.js Serwist, @angular/pwa, @vite-pwa/nuxt, Bubblewrap, TWA, PWA Builder, or Capacitor wrapping. DO NOT TRIGGER WHEN: the task is generic frontend styling (use frontend), React performance (use react-development:review-react), cross-platform security unrelated to PWA (use platform-engineering), Tauri or Electron wrappers (use tauri-development), or GA4 / analytics (use digital-marketing).