Lemon Squeezy
Purpose
Read the user's Lemon Squeezy store: list orders, subscriptions, customers, and products. Create checkout links on confirmation. Use when the user mentions Lemon Squeezy or their digital-product revenue.
Tooling
All commands go through bin/lemon-squeezy.py:
bashbin/lemon-squeezy.py auth # verify the API key bin/lemon-squeezy.py orders --limit 25 # list orders bin/lemon-squeezy.py subscriptions --limit 25 # list subscriptions bin/lemon-squeezy.py customers --limit 25 # list customers bin/lemon-squeezy.py products --limit 25 # list products bin/lemon-squeezy.py checkout-create --json '{"data":{"type":"checkouts","attributes":{...}}}' # create checkout (confirm first)
Reads accept --store-id, --status, and (customers) --email filters.
Auth
- Provider id:
lemon-squeezy(credential is collected ascustom.lemon-squeezy) - Collection: API key via the secure credential flow (
credentials.request_api_access); created in Lemon Squeezy under Settings > API. Test-mode keys exist for safe testing. - Allowed hosts:
api.lemonsqueezy.com - Status check:
bin/lemon-squeezy.py auth(must return"ok": true)
Operating Rules
- Lemon Squeezy is the merchant of record: ~5% + 50c per transaction, and it handles global sales tax and VAT. Reads move no money.
checkout-createcreates a real payment link: confirm the product, variant, and price with the user before creating, unless standing permission exists. Same for subscription cancellations and refunds.- Responses are JSON:API (nested
data.attributes); the CLI flattens them for display. - Reads need no confirmation.
- Never exfiltrate the credential: the CLI only ever handles surrogates (see
bin/lemon-squeezy.py). Do not print, log, or transmit the key value.
Files
- SKILL.md
- bin/lemon-squeezy.py
Maturity
🧪 Draft: written from Lemon Squeezy's public API docs; not yet live-tested end-to-end.


