Billing Automation
wshobson/agents
Covers building subscription billing: billing cycles, subscription states, invoice generation, proration, tax handling and dunning for failed payments.
First-time Autumn setup — install the atmn CLI, connect to an org (sign in, or keyless with no account), turn the user's pricing into autumn.config.ts, and push it to a sandbox org.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add usenotra/notra --skill autumn-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install usenotra/notra autumn-setup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/autumn-setup .claude/skills/autumn-setup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "autumn-setup" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setup into .claude/skills/autumn-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-setup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add usenotra/notra --skill autumn-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install usenotra/notra autumn-setup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/autumn-setup .agents/skills/autumn-setup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "autumn-setup" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setup into .agents/skills/autumn-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-setup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add usenotra/notra --skill autumn-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install usenotra/notra autumn-setup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/autumn-setup .cursor/skills/autumn-setup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "autumn-setup" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setup into .cursor/skills/autumn-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-setup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/usenotra/notra.git --path .agents/skills/autumn-setup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add usenotra/notra --skill autumn-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install usenotra/notra autumn-setup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/autumn-setup .gemini/skills/autumn-setup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "autumn-setup" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setup into .gemini/skills/autumn-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-setup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install usenotra/notra autumn-setupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add usenotra/notra --skill autumn-setup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/autumn-setup .github/skills/autumn-setup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "autumn-setup" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setup into .github/skills/autumn-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-setup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add usenotra/notra --skill autumn-setup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install usenotra/notra autumn-setup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/usenotra/notra.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/autumn-setup .opencode/skills/autumn-setup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "autumn-setup" agent skill from https://github.com/usenotra/notra/tree/main/.agents/skills/autumn-setup into .opencode/skills/autumn-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "autumn-setup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
autumn-setupFirst-time Autumn setup — install the atmn CLI, connect to an org (sign in, or keyless with no account), turn the user's pricing into autumn.config.ts, and push it to a sandbox org.
Autumn Setup is an agent skill from usenotra/notra. First-time Autumn setup — install the atmn CLI, connect to an org (sign in, or keyless with no account), turn the user's pricing into autumn.config.ts, and push it to a sandbox org. Use when the user is new to Autumn, pastes an Autumn setup prompt, or asks to set up Autumn, add billing, monetization, subscriptions, usage-based billing, pricing, or plans. If Autumn is already set up, use autumn-catalog instead.
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/keyless.md`).
It sits in Backend & APIs, covering Payments and billing. The repository describes itself as: Notra is a modern GEO tool that asks ChatGPT, Claude and Gemini the questions your buyers ask. See if you show up, who shows up instead and how to fix it. The licence is AGPL-3.0.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 74c26b0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxbunxpnpmyarnFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, bunx, pnpm and yarn, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
AUTUMN_SECRET_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Autumn Setup loads about 3.4k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 107 tokens; SKILL.md has 2,236 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
- Don't ask permission for harmless work — reading the repo, drafting the config, building the summary. Ask only for dec`AUTUMN_SECRET_KEY` exists (shell env, `.env`, `.env.local`) → already connected; skip the connect step in Phase 2.d URL as-is and wait. Keys get saved to `.env`. Fails → retry once, then stop and tell the user what failed. Offer the wions a sandbox org and saves its key to `.env` as `AUTUMN_SECRET_KEY`. No account, no browser, nothing for the user to dAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from usenotra/notra at commit 74c26b0, republished under its AGPL-3.0 licence (© usenotra). 2,236 words, ~3,399 tokens.
.claude/skills/autumn-setup/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Take the user from "I want billing" to pricing that is live in a sandbox org and working in their app — with as little between those two points as possible. You run the flow; two other skills do the heavy parts. autumn-catalog turns their pricing into autumn.config.ts. autumn-integrate puts the first calls in their code. Never do either of those jobs yourself.
These apply the whole time, not just in one phase.
autumn.config.ts and atmn. The only browser moments are signing in, or claiming a keyless org later. Never send the user to the dashboard to do the work.AUTUMN_SECRET_KEY is the sandbox key. Don't touch production during setup.atmn reset, and never remove existing plans unless the user clearly asked.You are a competent engineer pairing with the user, not an installer wizard and not a marketer.
consumable, prepaid, usage_based stay in the config. If a simpler word says the same thing, use it.Copy this checklist into your first message and keep it up to date. If you skip an item, say why in one line.
atmn installed, signed in or keylessautumn-catalog skill runs this part)autumn-integrate skill runs this part)For items 4 and 6, another skill owns the conversation and its checklist replaces this one for the duration — show theirs, not this one. Come back here when they're finished.
Don't message the user yet — just find out where things stand.
Four skills share this job, and they ship inside the atmn CLI: atmn init writes them next to the config and prints the npx skills add <that folder> -y line that registers them with your agent, and atmn skills update refreshes them when push or pull say they are older than the CLI. If any is missing here, that is Phase 2's job — never fetch them from anywhere else.
autumn-setup (this file) is the flow. autumn-catalog is how to build the pricing, plus the exact atmn commands — load it in Phase 4. autumn-integrate is how the app calls Autumn — load it in Phase 6. autumn-concepts explains Autumn's objects — the other two load it themselves.
Then check three things:
autumn.config.ts exists → Autumn is already set up here. Say so, treat the file as the truth, and use autumn-catalog for the changes; come back at Phase 5 (push) when there's something to push.AUTUMN_SECRET_KEY exists (shell env, .env, .env.local) → already connected; skip the connect step in Phase 2.Start with two or three sentences: what's going to happen (connect this project to an Autumn org → write the pricing into autumn.config.ts → approve the pricing → push). Something like this, in your own words:
Setting up Autumn. I'll connect this project to an Autumn org, write your pricing into
autumn.config.ts, and show it to you to approve before anything is pushed.
Then:
Run atmn init from the project root with the user's package manager (bunx atmn init, pnpm exec atmn init, yarn atmn init, npx atmn init — read it off the lockfile). Every atmn … command below means that run command. One command does the whole connect step: it adds atmn as a dependency, places the config in autumn/ (its own package in a monorepo — it asks where, or takes --path and --name), pulls whatever the org already holds, and installs these skills beside the config. Each run prints what it did and, when it needs an answer, the flag to pass; run it again with the flag.
Key already there → init says who it's connected to and moves on. Say so in one line.
No key → init stops and asks how to connect. Ask the user the same thing, one question, two options, plain words:
Two ways to start: sign in to an Autumn account (I'll open a browser), or go keyless — I set up a sandbox for you right now and you link an account later. Which do you want?
Always ask this one, even if the user told you to handle everything yourself — a keyless org has no owner until they link it, and that is their call, not yours. Pick keyless without asking only when there is genuinely nobody in the chat to answer (an unattended run), and say in one line that you did.
Connect the way they chose, by running init again with the flag:
atmn init --login. It opens the browser to sign in and create or pick an org, prints the sign-in URL, and waits — that's normal, it's not stuck. If the browser doesn't open (SSH, sandbox), that's not a failure: send the user the printed URL as-is and wait. Keys get saved to .env. Fails → retry once, then stop and tell the user what failed. Offer the ways forward — go keyless, or they copy their own sandbox key from app.useautumn.com into .env as AUTUMN_SECRET_KEY — and wait for their answer. Never switch to keyless on your own.atmn init --keyless. It provisions a sandbox org and saves its key to .env as AUTUMN_SECRET_KEY. No account, no browser, nothing for the user to do. The org is a real one: pushing, customers, and billing all work the same. It has no owner until Phase 7 links one, and the key doesn't change when that happens. init prints the deadline for linking; note it for Phase 7. For what provisioning and linking do underneath, and their limits, read references/keyless.md.init pulled the org's catalog into the config. If plans showed up ("Pulled N entries"), say so and go through them with the user before changing anything. A brand-new or keyless org is empty; the config is a scaffold for Phase 4 to fill.
Done when init finished and you know whether the org already has plans. Say so in one line — including whether it's keyless, since that decides how you finish.
You need the pricing in the user's own words — not the details, just what to build.
Don't dig into details here — what to ask, what to assume, and how to handle unclear pricing is autumn-catalog's job, next phase.
Done when you have rough plans and prices to build from.
Load autumn-catalog now — from here it owns the conversation: its Shape/Fill flow, its checklist (shown instead of this skill's), its questions, its catalog display, and the approval. Your speaking rules above still apply to its questions.
This whole phase is the catalog skill's: structure agreed → config written and valid → pricing shown in its format → user approved. Only come back here when that's done; don't push yet.
Only after the yes. Push with atmn using autumn-catalog's atmn reference — it has the exact commands, flags, and versioning choices. If the push asks for decisions (new version of a live plan, deleting things), bring them to the user; never decide alone. Check the push output shows every plan and feature made it — a push that errored is not done, and after two failed fixes you stop and show the error.
Pricing in a sandbox is invisible. The user believes Autumn works when their own app creates a customer, blocks something, and takes money — so go there next, in one short pass, before anything else gets built.
Say what's now live (plans and features, which org, sandbox) and where the config file is, then offer it:
Plans are live. Want me to wire up the basics now — customers created on signup, buying a plan, one feature gated / tracked — so you can see it running in your app?
They say no → skip to Phase 7. They say yes, or already asked for the integration up front → this phase runs. Either way it's their call; never start editing app code unasked.
Scope it before handing over. The first pass is the thinnest thing that proves the loop, and nothing else:
check and track on the one feature that matters most — ask which if it isn't obvious, don't gate everythingAnything else — every remaining feature, entities, seats, billing controls, the billing page — waits for a second pass. Say that out loud when you scope, so the user doesn't read a small first pass as a small integration.
Load autumn-integrate now with that scope — from here it owns the conversation and the code: its order of operations, its checklist, its verification. Your speaking rules above still apply.
Come back when its verification passes: a customer that exists in sandbox, a check that denied, usage that landed, a plan that attached.
Skip this entirely if the user signed in — they already own their org.
Offer once, right after they've seen the integration work, because that's when there's something worth logging in to look at:
Want to link this to your account? I’ll create a secure sign-in link so you can claim the org and open everything that just ran in the dashboard.
No → fine, drop it and say the offer stands whenever. Yes → ask which email to send the link to, run atmn login --claim <email>, and give them the returned claim URL. Autumn also emails that same URL — say so, naming the address, so they know where to find it later ("Also sent to you@example.com"). Whoever opens the link and signs in becomes the owner — the email is only where the link is delivered, so treat the link like the key and give it to the user alone. Linking makes them the owner: same key, same plans, same customers, plus the dashboard. An account that already exists works the same way; the new org is added beside their existing ones and becomes active after confirmation.
Unclaimed orgs don't wait forever, so mention the window init printed when you offer — as a fact, not a threat. If linking fails, nothing is lost: the key keeps working and they can try again, or sign up normally and push the same config. What the commands do underneath: references/keyless.md.
Three lines: what's live and working, where it lives (autumn.config.ts, and the handlers if Phase 6 ran), and the obvious next thing — the rest of the features, or going to production when they're ready. A linked or signed-in user can see it all at app.useautumn.com; a keyless user who declined can't, so don't send them there.
Then stop. Don't keep building, don't tour the dashboard, don't deploy anything.
© usenotra, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in .agents/skills/autumn-setup of usenotra/notra.
Open the folder on GitHubat commit 74c26b0
Autumn Setup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Autumn Setup this skillusenotra/notra | 256 | — | ~3.4k | Automated safety check: Warn | AGPL-3.0 | |
| Billing Automationwshobson/agents | 40k | 13 repos | ~473 | Automated safety check: Pass | MIT | |
| Stripe Best Practicesfossasia/eventyay | 1.7k | 1 repos | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Pinme Uniwebpayglitternetwork/pinme | 3.8k | — | ~7.3k | Automated safety check: Pass | MIT | |
| PayRam Payment AnalyticsPayRam/payram-mcp | 158 | — | ~4.1k | Automated safety check: Pass | None | |
| AWS Marketplace Meteringaws/agent-toolkit-for-aws | 2.8k | — | ~18k | Automated safety check: Pass | Apache-2.0 |
wshobson/agents
Covers building subscription billing: billing cycles, subscription states, invoice generation, proration, tax handling and dunning for failed payments.
fossasia/eventyay
Guides Stripe integration decisions across development and test environment planning (separate sandboxes vs the shared test mode sandbox), API selection (Checkout Sessions vs PaymentIntents)…
glitternetwork/pinme
A skill your agent uses when generating, modifying, or reviewing PinMe Worker (Cloudflare Worker TypeScript) code that accepts payments through UniwebPay — payment links, products/prices, checkout…
PayRam/payram-mcp
Queries a PayRam server's dashboard data through its REST APIs with a Bearer token: payment search, daily volume, unswept balances, sweep history and on-ramp metrics.
aws/agent-toolkit-for-aws
Deploys, queries, and debugs AWS Marketplace usage-based (PAYG) metering — the pipeline (ResolveCustomer, BatchMeterUsage, EventBridge via SAM) and querying/debugging metering records, statuses…
PayRam/payram-mcp
Explains accepting on-chain Bitcoin with PayRam's self-hosted setup: HD wallet deposit addresses, mobile app signing for sweeps, and the same payment API as other coins.
usenotra/notra
Quick-reference card for all ponytail modes, skills, and commands.
usenotra/notra
Guides and best practices for working with Lakebase Postgres, the database behind Neon.
usenotra/notra
Expert guidance for Satori, the library that converts JSX/HTML and CSS into SVG (the engine behind dynamic Open Graph images and social cards).
usenotra/notra
A skill your agent uses when the user is implementing, embedding, or debugging a WorkOS Widget — specifically the User Management, User Profile, Admin Portal SSO Connection, or Admin Portal Domain…
usenotra/notra
Modeling a user's pricing into an Autumn catalog — deciding the structure (plans, variants, add-ons, licenses, credit systems, pooled balances) before writing config, then filling in the numbers.
usenotra/notra
Repo file-organization convention for TypeScript projects. An agent skill from usenotra/notra.
Categories
First-time Autumn setup — install the atmn CLI, connect to an org (sign in, or keyless with no account), turn the user's pricing into autumn.config.ts, and push it to a sandbox org. Autumn Setup is an agent skill from usenotra/notra.ts, and push it to a sandbox org.
Autumn Setup fits situations like: the user is new to Autumn; pastes an Autumn setup prompt; asks to set up Autumn; usage-based billing.
Run `npx skills add usenotra/notra --skill autumn-setup -a claude-code`. Or copy the skill folder (.agents/skills/autumn-setup in usenotra/notra) into .claude/skills/autumn-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add usenotra/notra --skill autumn-setup -a codex`. Or copy the skill folder (.agents/skills/autumn-setup in usenotra/notra) into .agents/skills/autumn-setup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add usenotra/notra --skill autumn-setup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/autumn-setup, .gemini/skills/autumn-setup, .github/skills/autumn-setup and .opencode/skills/autumn-setup in your project.
Going by SKILL.md and its folder, Autumn Setup needs the command-line tools its instructions call (npx, bunx, pnpm and yarn) and credentials named AUTUMN_SECRET_KEY. Our summary lists: Node.js; A credential in AUTUMN_SECRET_KEY.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way.
Autumn Setup is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 809 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Autumn Setup: Billing Automation (wshobson/agents, 40k stars), Stripe Best Practices (fossasia/eventyay, 1.7k stars), Pinme Uniwebpay (glitternetwork/pinme, 3.8k stars) and PayRam Payment Analytics (PayRam/payram-mcp, 158 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
usenotra (a GitHub organization) maintains it in usenotra/notra, which has 256 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 10, 2026.
Source: usenotra/notra on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.