Skip to content

Guide · Agent skill

How to use the Stripe billing operations agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The Stripe skill is a packaged set of instructions and scripts that lets an AI agent answer questions about your Stripe billing account and, when you approve it, make changes such as refunds or new prices. It is for founders, small teams and developers who bill customers through Stripe and want revenue and subscriber answers without opening the dashboard. By the end of this guide you will know what the skill does, how to install it, how to phrase requests so it triggers, and what it needs and touches on your machine.

Stripe Billing Operationsdanielmiessler/LifeOS · MIT

Quick start

  1. 1Download the ZIP. Download the Stripe skill ZIP from this page.
  2. 2Unzip into a skills folder. Unzip into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, upload it under Settings → Capabilities → Skills.
  3. 3Install Bun and the stripe package. Install the Bun runtime and the Node stripe npm package (v20+) in the folder named by STRIPE_SDK_DIR.
  4. 4Add your keys to ~/.claude/.env. Store STRIPE_SECRET_KEY, and STRIPE_SECRET_KEY_<ALIAS> for any extra account, in that file. Do not paste keys into chat.
  5. 5Create Config.md. Create LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Stripe/Config.md with the SDK folder, API version and account aliases, following Setup.md.
  6. 6Ask a test question. Ask how many subscribers you have. If the setup is missing, the skill will point you to Setup.md.

What the Stripe skill makes the agent do

Once installed, the agent can answer questions about your Stripe account: how many subscribers you have, monthly recurring revenue (MRR), revenue, recent payments, customers, products, prices and coupons. It reads these through the Stripe SDK using your secret key. If you configure an admin dashboard that exposes cached Stripe endpoints, the skill prefers those for quick overview answers and tells you when the cached data may be minutes old.

Writes are possible but gated. The skill can create products or prices, issue refunds, cancel subscriptions, and create invoices and payment links, but only after you explicitly approve each write. Every write reports the resulting Stripe object back to you.

  • Read: subscriptions, MRR and revenue, customers, payments, products with subscriber counts, promotion codes and coupons
  • Write (with approval): create products, prices, invoices, refunds, coupons and payment links; change a price; cancel subscriptions
  • Not covered: newsletter-platform subscribers billed outside Stripe

Install the skill: download the ZIP and unzip it

Download the Stripe skill ZIP from this page. Then choose one of two locations. For a personal skill available in all your projects, unzip it into ~/.claude/skills/. For a skill that only one project uses, unzip it into that project's .claude/skills/ folder.

If you use the Claude apps instead of Claude Code files, you can upload the ZIP there: open Settings, go to Capabilities, then Skills, and upload it.

  • Personal: ~/.claude/skills/
  • Single project: .claude/skills/ inside the project folder
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Complete the setup before the first query

The skill needs a few things in place before it can answer anything. Its setup guide, Setup.md, walks through them. If the required configuration is missing, the skill stops and points you to that guide rather than guessing an account or product list.

You need the Bun runtime, and the Node stripe npm package (version 20 or later) installed in a folder named by STRIPE_SDK_DIR. Your Stripe secret key goes in ~/.claude/.env as STRIPE_SECRET_KEY. Extra accounts each get their own variable, STRIPE_SECRET_KEY_<ALIAS>. You also need a Config.md file under LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Stripe/ that names the SDK folder, the API version and your account aliases. The key values live only in .env; Config.md holds variable names.

  • Bun runtime
  • stripe npm package v20+ in the folder named by STRIPE_SDK_DIR
  • STRIPE_SECRET_KEY in ~/.claude/.env (plus STRIPE_SECRET_KEY_<ALIAS> for each extra account)
  • LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Stripe/Config.md with SDK folder, API version and account aliases
  • Optional: an admin dashboard base URL exposing cached Stripe endpoints

Trigger the skill with natural requests

You do not run the skill by name. The agent loads it when your request matches its trigger words: Stripe, subscriptions, billing, MRR, revenue, customers, invoices, refund, coupon, payment link, charges, subscriber count and earnings. Ask in plain language and say which account you mean if you have more than one.

Read requests are answered directly. Write requests, such as a refund, will be shown to you for approval before anything changes in Stripe.

  • "How many active subscribers do we have on Stripe?"
  • "What is our MRR this month?"
  • "List recent payments over 100 dollars."
  • "Show me the coupons on the test account."
  • "Refund the last charge for this customer." (you will be asked to approve it first)

Safety notes: scripts and network access

The skill runs scripts and uses the network. Reads go through a read-only command-line tool that has no write path. Writes and computed reports run inline Bun and Stripe SDK code, which calls the Stripe API with your key. Because that inline code can execute arbitrary commands, some agent harnesses ask for permission before running it, and an unattended session may stop there.

Keys are loaded through Bun's --env-file option so the secret is not printed or typed into the shell. A restricted key (rk_live_*) can only perform the operations its scopes allow, so writes fail unless that scope was granted. Use a test-mode key on a separate account alias when you want to try writes safely.

  • Reads: read-only CLI with no write path
  • Writes and reports: inline Bun and Stripe SDK scripts that call the network
  • Live keys can move real money or change live prices; treat write approvals seriously
  • Restricted keys limit what the agent can do

Tips for reliable answers

Name the account in every request if you have several, because using the wrong key returns wrong numbers without an error. Ask whether a figure came from the admin dashboard cache or from the live API when freshness matters. For financial reporting, check the figures against your Stripe dashboard before relying on them.

Counts are taken over every page of results, but the read-only CLI stops at 1,000 rows, so a count of exactly 1,000 is a minimum and the skill re-reads the full list.

  • Name the account (for example, the test alias) in each request
  • Ask for the data source when freshness matters
  • Cross-check important numbers in the Stripe dashboard

What people use it for

  • Checking how many active subscribers you have and how that changed after a price update
  • Reviewing MRR and monthly revenue for a founder or finance meeting
  • Listing recent payments and finding a specific customer by email
  • Auditing active coupons and promotion codes on the main or a test account
  • Preparing a refund or payment link, with the agent showing the object for approval first

Frequently asked questions

How do I install the Stripe agent skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, you can upload the ZIP under Settings → Capabilities → Skills.

What do I need before the Stripe skill works?

You need the Bun runtime, the Node stripe npm package v20 or later in the folder named by STRIPE_SDK_DIR, a secret key in ~/.claude/.env as STRIPE_SECRET_KEY, and a Config.md file under LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Stripe/. The optional admin dashboard is not required.

Is the Stripe skill free to use?

The skill is released under the MIT licence, according to its listing. Stripe itself charges its own fees for its services, which are separate from the skill.

Can the agent change my Stripe account or move money?

It can perform writes such as refunds, cancellations and new prices, but only after you explicitly approve each one, and it reports the resulting object. A restricted key limits what writes are possible. Writes on live keys affect real customers, so review each approval carefully.

Does it work with newsletter platforms like Substack?

No. The skill excludes newsletter-platform subscribers who are billed outside Stripe, because that data lives in another system.

Why does the skill say my configuration is missing?

It stops rather than guessing when Config.md is absent or does not name STRIPE_SDK_DIR, or when the required keys are not set. Follow Setup.md to create Config.md, install the stripe package and add your keys to ~/.claude/.env.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you bill through Stripe and want an agent to answer subscriber, MRR, payment and coupon questions, and you are comfortable giving it a secret key with write approval gates. Pick something else if you need audited financial reporting, if your subscribers are billed outside Stripe, or if you do not want an agent holding a live key.

Download the skill