← Cursor Skills · ENGINEERING
Stripe Subscriptions & Webhook Handling
.cursor/skills/stripe-payments
Checkout sessions, customer portal, idempotency, and webhook verification.
Where it installs
# .cursor/skills/stripe-payments/SKILL.md
---
name: stripe-payments
description: ...
---# .claude/skills/stripe-payments/SKILL.md
---
name: stripe-payments
description: ...
---
# identical content, skills are the same file in both editorsWhat it does
Stripe Subscriptions & Webhook Handling is a Cursor skill: a SKILL.md playbook that AgenticKit installs at .cursor/skills/stripe-payments. Cursor's agent loads it when the task matches the skill description, instead of stuffing the same rules into every chat.
Stripe payment architecture patterns for SaaS subscriptions, tiered pricing, invoice receipts, and secure webhook signature verification.
Checkout sessions, customer portal, idempotency, and webhook verification. The file is domain knowledge, not a slash macro. You do not type it. The agent reads it when the job is stripe payments.
Why it exists
Default Cursor has no memory of how your team ships code, schema, and tests. Founders paste the same conventions into chat, then watch the model drift on the next turn. This skill exists so those conventions live on disk and load only when relevant.
It ships in the Engineering Kit. It is wired to the Third-Party Integration Lead (integration-engineer) and Senior Backend Architect (backend-architect) agents. It is wired to the /stripe-billing: Stripe Billing & Subscription Setup and /ship: End-to-End Feature Pipeline Shipper commands. That graph is the point: the skill is the standard, the agent is the role, the command is the trigger.
When to use it
- Use Stripe Subscriptions & Webhook Handling when the work is specifically about checkout sessions, customer portal, idempotency, and webhook verification.
- Load it before a long session that will touch this surface more than once. A one-line edit does not need the full playbook.
- Use it on production SaaS work (multi-tenant apps, paid features, anything that will be reviewed) rather than a throwaway prototype.
When not to use it
- Do not treat the skill as a replacement for a slash command. Skills teach. Commands run a pipeline.
- Do not paste the whole SKILL.md into chat. If Cursor is not loading it, fix the description or invoke the matching command.
- Do not use it as a generic 'write better code' rule. Scope is this domain only.
Example workflow
- Install the Engineering Kit so .cursor/skills/stripe-payments lands in the repo.
- Open a new Cursor agent chat pointed at the files this skill governs.
- Ask the Third-Party Integration Lead (integration-engineer) to read the skill, or run /stripe-billing: Stripe Billing & Subscription Setup.
- Review the first artifact against the practices below. If it violates one, stop and correct the file. Do not prompt 'just finish it'.
- Commit the skill-guided files with the rest of the slice so the next session inherits the same standard.
Example usage
Example prompt: "Read .cursor/skills/stripe-payments and apply it to this change. Do not invent extra conventions."
Or trigger the pipeline: /stripe-billing: Stripe Billing & Subscription Setup. That command is written to load this skill.
Check the output against: Always verify Stripe webhook signatures using stripe.webhooks.constructEvent
Example output
- The skill itself does not write a single output file. It changes what the agent is allowed to produce in code, schema, and tests.
- When you run /stripe-billing: Stripe Billing & Subscription Setup, expect repo files plus notes under docs/, not a chat-only answer.
Best practices
- Always verify Stripe webhook signatures using stripe.webhooks.constructEvent
- Process webhooks idempotently by saving event IDs to a processed_events table
- Handle customer.subscription.updated and invoice.payment_failed events explicitly
- Use Stripe Customer Portal for self-serve cancellation and payment method updates
Common mistakes
- Ignoring "Always verify Stripe webhook signatures using stripe.webhooks.constructEvent" and hoping a later prompt will clean it up.
- Copying the skill into .cursor/rules as always-on. That burns context and fights Cursor's load-on-match design.
- Running two overlapping skills that contradict each other in the same turn.
- Letting the agent skip tests or types because 'the skill is about architecture'.
Frequently asked questions
What is the Stripe Subscriptions & Webhook Handling Cursor skill?
Stripe payment architecture patterns for SaaS subscriptions, tiered pricing, invoice receipts, and secure webhook signature verification. It lives at .cursor/skills/stripe-payments after you install the Engineering Kit.When should I use stripe-payments instead of a Cursor rule?
Use a rule for always-on or glob-scoped constraints. Use this skill for the full playbook that should load only when the task matches.Which agents read stripe-payments?
Third-Party Integration Lead (integration-engineer); Senior Backend Architect (backend-architect). Those roles are told to open this file before they edit.Which commands use stripe-payments?
/stripe-billing: Stripe Billing & Subscription Setup; /ship: End-to-End Feature Pipeline Shipper.Does this skill work outside AgenticKit?
Yes. A SKILL.md in .cursor/skills/stripe-payments is a normal Cursor skill. AgenticKit is the packaged version plus the agent and command graph.
Add stripe-payments and the other 48 Cursor skills
AgenticKit installs 61 skills, 46 agents, and 47 slash commands into .cursor/. One license, lifetime updates.