Install any skill in seconds. Free to start, no credit card required.
Get Started Free →velcrafting/stripe
This skill should be used when the user asks to "integrate Stripe", "add payments", "create subscriptions", "handle webhooks", "usage-based billing", "per-seat pricing", "tiered plans", "checkout session", "customer portal", "sync Stripe data", "Stripe Sync Engine", "payment processing", "MRR analytics", "revenue reporting", or mentions 'Stripe', 'subscription', 'billing', 'webhook', 'checkout', 'metered billing', 'payment intent', 'stripe schema'. Automatically triggers for payment, subscriptio
Passed 22 of 22 test cases with the skill, and 21 of 22 without it.
1 fixed21 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
A test case the skill fixed. Same model, same prompt, with and without the skill.
Write a responsive Tailwind CSS 3-column pricing grid layout with rounded borders, hover animations, and a highlighted 'Pro' plan card.
| Checked | Without skill | With skill |
|---|---|---|
| Includes grid-cols-1 md:grid-cols-3 utility classes on the container element | Missed | Passed |
The instructions your model reads when the skill loads.
Comprehensive guidance for integrating Stripe payments including subscriptions, usage-based billing, webhooks, and multi-platform support (Next.js, iOS, Android, Flutter) with Supabase database synchronization.
Philosophy: Use Stripe Checkout for simplicity, Payment Intents for customization. Always verify webhooks. For Supabase sync, prefer Stripe Sync Engine (one-click, zero maintenance) unless you need custom schemas. Never expose secret keys to clients.
| Key Type | Prefix | Safety | Use Case |
|---|---|---|---|
| Publishable | pk_live_ / pk_test_ | Client-safe | Browser, mobile apps |
| Secret | sk_live_ / sk_test_ | Backend ONLY | Servers, Edge Functions |
| Restricted | rk_live_ / rk_test_ | Backend ONLY | Limited permissions |
| Webhook Secret | whsec_ | Backend ONLY | Signature verification |
NEVER:
ALWAYS:
// CORRECT: Use raw body for signature verification
const body = await req.text() // Raw string, NOT parsed
const signature = req.headers.get('stripe-signature')!
const event = stripe.webhooks.constructEvent(body, signature, webhookSecret)
// WRONG: This will FAIL signature verification
const body = await req.json() // DON'T parse first!
test cases passed, vs 21 / 22 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.