Billing Dunning, Seats & Portal

.cursor/skills/billing-dunning

Failed cards, proration, seats, customer portal.

Where it installs

# .claude/skills/billing-dunning/SKILL.md
---
name: billing-dunning
description: ...
---
# identical content, skills are the same file in both editors

What it does

Billing Dunning, Seats & Portal is a Cursor skill: a SKILL.md playbook that AgenticKit installs at .cursor/skills/billing-dunning. Cursor's agent loads it when the task matches the skill description, instead of stuffing the same rules into every chat.

Stripe lifecycle after first checkout: payment_failed, retries, proration, seat math, portal. No silent price edits.

Failed cards, proration, seats, customer portal. The file is domain knowledge, not a slash macro. You do not type it. The agent reads it when the job is billing dunning.

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 Billing & Dunning Engineer (billing-engineer) and Third-Party Integration Lead (integration-engineer) agents. It is wired to the /billing-fix: Stripe Dunning, Seats, and Portal Fixes and /stripe-billing: Stripe Billing & Subscription Setup 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 Billing Dunning, Seats & Portal when the work is specifically about failed cards, proration, seats, customer portal.
  • 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

  1. Install the Engineering Kit so .cursor/skills/billing-dunning lands in the repo.
  2. Open a new Cursor agent chat pointed at the files this skill governs.
  3. Ask the Billing & Dunning Engineer (billing-engineer) to read the skill, or run /billing-fix: Stripe Dunning, Seats, and Portal Fixes.
  4. Review the first artifact against the practices below. If it violates one, stop and correct the file. Do not prompt 'just finish it'.
  5. 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/billing-dunning and apply it to this change. Do not invent extra conventions."

Or trigger the pipeline: /billing-fix: Stripe Dunning, Seats, and Portal Fixes. That command is written to load this skill.

Check the output against: Handle invoice.payment_failed explicitly

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 /billing-fix: Stripe Dunning, Seats, and Portal Fixes, expect repo files plus notes under docs/, not a chat-only answer.

Best practices

  • Handle invoice.payment_failed explicitly
  • Idempotent webhooks by event id
  • Seat and proration math in tests
  • Never change live Stripe prices without a human confirm

Common mistakes

  • Ignoring "Handle invoice.payment_failed explicitly" 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 Billing Dunning, Seats & Portal Cursor skill?
    Stripe lifecycle after first checkout: payment_failed, retries, proration, seat math, portal. No silent price edits. It lives at .cursor/skills/billing-dunning after you install the Engineering Kit.
  • When should I use billing-dunning 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 billing-dunning?
    Billing & Dunning Engineer (billing-engineer); Third-Party Integration Lead (integration-engineer). Those roles are told to open this file before they edit.
  • Which commands use billing-dunning?
    /billing-fix: Stripe Dunning, Seats, and Portal Fixes; /stripe-billing: Stripe Billing & Subscription Setup.
  • Does this skill work outside AgenticKit?
    Yes. A SKILL.md in .cursor/skills/billing-dunning is a normal Cursor skill. AgenticKit is the packaged version plus the agent and command graph.

Add billing-dunning and the other 48 Cursor skills

AgenticKit installs 61 skills, 46 agents, and 47 slash commands into .cursor/. One license, lifetime updates.