Claude-skill-registry autumn-create-customer
Skill for setting up Autumn billing integration and creating customers.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/autumn-create-customer" ~/.claude/skills/majiayu000-claude-skill-registry-autumn-create-customer && rm -rf "$T"
manifest:
skills/data/autumn-create-customer/SKILL.mdsource content
Autumn Customer Setup
Always consult docs.useautumn.com for code examples and latest API.
Quick Reference
Environment Variables
- Required. Get one at app.useautumn.comAUTUMN_SECRET_KEY
Installation
npm install autumn-js # Node.js pip install autumn-py # Python
Integration Paths
| Stack | Path |
|---|---|
| React + Node.js | Mount handler + AutumnProvider |
| Backend only | Initialize client + call API |
Path A: React + Node.js
Handler Setup
| Framework | File | Import |
|---|---|---|
| Next.js App Router | | |
| React Router | | |
| Hono | Any file | |
| Express | Any file | |
| Fastify | Any file | |
import { autumnHandler } from "autumn-js/next"; export const { GET, POST } = autumnHandler({ identify: async (request) => { const session = await getSession(request); return { customerId: session.user.id, // or session.org.id for B2B customerData: { name: session.user.name, email: session.user.email }, }; }, });
Client Setup
import { AutumnProvider } from "autumn-js/react"; <AutumnProvider>{children}</AutumnProvider> // Different backend URL: <AutumnProvider backendUrl={process.env.NEXT_PUBLIC_API_URL} />
Verify
import { useCustomer } from "autumn-js/react"; const { customer } = useCustomer(); console.log("Autumn customer:", customer);
Path B: Backend Only
Initialize
import { Autumn } from "autumn-js"; const autumn = new Autumn({ secretKey: process.env.AUTUMN_SECRET_KEY });
from autumn import Autumn autumn = Autumn('am_sk_test_xxx')
Create Customer
const { data } = await autumn.customers.create({ id: "user_id_from_auth", name: "Test User", email: "test@example.com", });
Common Gotchas
- B2C vs B2B - Decide if
is user ID or org ID before integratingcustomerId - Idempotent -
returns existing customer if ID existscustomers.create - Backend URL - Pass
to provider if API is on different domainbackendUrl - Secret key - Keep
server-side onlyAUTUMN_SECRET_KEY