Agent skill

Lemon Squeezy Integration

by pockethost in pockethost/pockethost

Full Lemon Squeezy integration — REST API, @lemonsqueezy/lemonsqueezy.js server SDK, Lemon.js checkout overlays, webhooks, customdata, and subscriptions.

MITAuto-check passedBackend & APIs

Install Lemon Squeezy Integration

skills CLI
$ npx skills add pockethost/pockethost --skill lemon-squeezy-integration -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pockethost/pockethost lemon-squeezy-integration --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pockethost/pockethost.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/lemon-squeezy-integration .claude/skills/lemon-squeezy-integration && rm -rf skills-src

Use ~/.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/

Facts

Skill name
lemon-squeezy-integration
GitHub stars
1.4k
Token cost
~1.1k tokens
SKILL.md length
417 words
Files
7
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Full Lemon Squeezy integration — REST API, @lemonsqueezy/lemonsqueezy.js server SDK, Lemon.js checkout overlays, webhooks, customdata, and subscriptions.

  • Works in 4 steps: Store setup → Checkout → Webhook endpoint → …
  • Integrating Lemon Squeezy billing
  • SKILL.md covers Architecture, Choose an approach, Required environment variables and End-to-end workflow, plus 2 more sections
  • Reaches store.pockethost.io; needs LEMONSQUEEZY_API_KEY and LEMONSQUEEZY_WEBHOOK_SECRET

What it does

Lemon Squeezy Integration is an agent skill from pockethost/pockethost. Full Lemon Squeezy integration — REST API, @lemonsqueezy/lemonsqueezy.js server SDK, Lemon.js checkout overlays, webhooks, customdata, and subscriptions. Use when integrating Lemon Squeezy billing, checkout, webhooks, LS API, Lemon.js, or subscription provisioning into an application.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `api.md`, `integration-checklist.md` and `lemonjs.md`).

It sits in Backend & APIs, covering Webhooks and REST APIs. The repository describes itself as: Open source multitenant PocketBase server. The licence is MIT.

When your agent uses it

  • Integrating Lemon Squeezy billing
  • Subscription provisioning into an application

Example prompts

  • “/lemon-squeezy-integration”

Requirements

  • A credential in LEMONSQUEEZY_API_KEY
  • A credential in LEMONSQUEEZY_WEBHOOK_SECRET

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Store setup
  2. Checkout
  3. Webhook endpoint
  4. Persist subscription state

What it can do on your machine

Read from SKILL.md and the folder at commit 82c9ba3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • store.pockethost.io

    Also links to:

    • docs.lemonsqueezy.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • LEMONSQUEEZY_API_KEY
    • LEMONSQUEEZY_WEBHOOK_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Lemon Squeezy Integration loads about 1.1k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 417 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~78
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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.

SKILL.md

The full file from pockethost/pockethost at commit 82c9ba3, republished under its MIT licence (© pockethost). 417 words, ~1,105 tokens.

Download SKILL.mdSave it as .claude/skills/lemon-squeezy-integration/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
lemon-squeezy-integration
description
Full Lemon Squeezy integration — REST API, @lemonsqueezy/lemonsqueezy.js server SDK, Lemon.js checkout overlays, webhooks, custom_data, and subscriptions. Use when integrating Lemon Squeezy billing, checkout, webhooks, LS API, Lemon.js, or subscription provisioning into an application.

Lemon Squeezy Integration

Official docs: https://docs.lemonsqueezy.com/

Architecture

Three layers — use all three for a production SaaS integration:

LayerToolRuns on
Checkout UXLemon.js + checkout URLsBrowser
Admin / dynamic checkoutREST API or @lemonsqueezy/lemonsqueezy.jsServer only
ProvisioningWebhooksServer endpoint

Never expose LEMONSQUEEZY_API_KEY in client code. The npm SDK is server-only.

Golden rule: Webhooks are the source of truth for granting access. Lemon.js Checkout.Success is UX-only — do not provision solely from client events.

Choose an approach

NeedUse
Static pricing pageDashboard checkout URLs + optional Lemon.js overlay
Per-user checkout with custom dataAppend checkout[custom][user_id] to URL, or create checkout via API
Dynamic pricing / on-demand checkoutServer: createCheckout → open URL with Lemon.js
Grant/revoke access after paymentWebhook handler
Customer billing portalsubscription.urls.update_payment_method from API + Lemon.js overlay

Required environment variables

VariablePurpose
LEMONSQUEEZY_API_KEYServer API auth (Settings → API)
LEMONSQUEEZY_STORE_IDStore ID for checkout creation
LEMONSQUEEZY_WEBHOOK_SECRETVerify incoming webhook X-Signature

Use test mode keys until production. Docs: https://docs.lemonsqueezy.com/help/getting-started/test-mode

End-to-end workflow

1. Store setup

Create products and variants in the LS dashboard (or sync via API). Record store_id, product_id, and variant_id for each plan.

2. Checkout

Static URL:

https://[STORE].lemonsqueezy.com/checkout/buy/[VARIANT_ID]

With user linking (required for webhook provisioning):

?checkout[custom][user_id]=USER_ID&checkout[email]=user@example.com

Overlay: Load Lemon.js, add lemonsqueezy-button class to links, or call LemonSqueezy.Url.Open(url).

Dynamic: Server creates checkout via API/SDK → use data.attributes.url from response.

Share /checkout/buy/ URLs only. Do not share converted /checkout/?cart= URLs — they are single-use per customer.

PocketHost uses custom domain URLs like https://store.pockethost.io/buy/... — see pockethost.md.

Show full SKILL.md (181 more words)Show less
3. Webhook endpoint
  1. Register URL in Settings → Webhooks (or via API)
  2. Verify HMAC-SHA256 of the raw request body against X-Signature header
  3. Read meta.event_name and meta.custom_data
  4. Update your database idempotently
  5. Return 200 quickly

Key events: order_created, subscription_created, subscription_updated, subscription_expired, subscription_cancelled, order_refunded, subscription_payment_refunded

4. Persist subscription state

Store at minimum: LS subscription/order id, status, variant_id, renews_at, ends_at, and your internal plan tier mapping.

On refund/expiry/cancel → revoke or decrement access.

Common tasks

Add a new plan
  1. Create variant in LS dashboard
  2. Add checkout URL to frontend (with checkout[custom][user_id])
  3. Add {product_id}-{variant_id} to webhook allowlist and product handler map
  4. Map variant → internal subscription fields
Debug a failed webhook
  1. Confirm webhook URL and signing secret match env
  2. Check LS dashboard webhook log for payload and response
  3. Verify signature uses raw body (not re-serialized JSON)
  4. Confirm meta.custom_data.user_id was passed at checkout
  5. Confirm product/variant ID is in your handler allowlist

Reference files

© pockethost, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files in .cursor/skills/lemon-squeezy-integration of pockethost/pockethost.

  • SKILL.md
  • api.md
  • integration-checklist.md
  • lemonjs.md
  • pockethost.md
  • server-sdk.md
  • webhooks.md

Open the folder on GitHubat commit 82c9ba3

Compare with similar skills

Lemon Squeezy Integration 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.

Lemon Squeezy Integration compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lemon Squeezy Integration this skillpockethost/pockethost1.4k—~1.1kAutomated safety check: PassMIT
API Patternsdilolabs/nosia2131 repos~2.5kAutomated safety check: PassMIT
Loops APIopeninary/openinary412—~1.1kAutomated safety check: PassAGPL-3.0
Verifygregluffy/HomeLabInfo103—~424Automated safety check: PassGPL-3.0
Bigcommerce APIqdhenry/Claude-Command-Suite1.3k—~1.5kAutomated safety check: PassNone
DiscordOpenHands/extensions161—~1.1kAutomated safety check: PassMIT

Similar skills

  • API Patterns

    dilolabs/nosia

    Builds REST APIs using respondto blocks with Jbuilder templates following the 37signals same-controllers-different-formats philosophy.

    213 GitHub starsUsed in 1 repo~2.5k tokens
    Backend & APIsAuto-check passed
  • Loops API

    openinary/openinary

    A skill your agent uses whenever the user wants to integrate Loops from application code, backend services, webhook handlers, or server-side automation.

    412 GitHub stars~1.1k tokensUpdated 4 days ago
    Backend & APIsAuto-check passed
  • Verify

    gregluffy/HomeLabInfo

    Build, run, and drive the HomeLabInfo backend to verify changes at its real surfaces (REST API, UDP DHCP listener, outgoing webhooks).

    103 GitHub stars~424 tokensUpdated 2 mo ago
    Backend & APIsAuto-check passed
  • Bigcommerce API

    qdhenry/Claude-Command-Suite

    BigCommerce API expert for building integrations, apps, headless storefronts, and automations.

    1.3k GitHub stars~1.5k tokensUpdated 7 mo ago
    Backend & APIsAuto-check passed
  • Discord

    OpenHands/extensions

    Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).

    161 GitHub stars~1.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Convex HTTP Actions

    waynesutton/builder-skills

    Adds HTTP endpoints in convex/http.ts: webhook receivers with signature checks, REST style routes, CORS, auth headers, streaming responses, and file uploads over HTTP.

    406 GitHub stars~2.6k tokensUpdated 11 days ago
    Backend & APIsAuto-check passed

More from pockethost/pockethost

All 11 skills in this repo
  • Blog Voice

    pockethost/pockethost

    Write PocketHost blog posts in Ben Allfree's voice (@cap'n).

    1.4k GitHub stars~977 tokensUpdated 11 days ago
    Auto-check passed
  • Check Push

    pockethost/pockethost

    Run pnpm check:push (lint, types, tests) before git push or PR-ready work.

    1.4k GitHub stars~665 tokensUpdated 11 days ago
    Auto-check passed
  • Commit

    pockethost/pockethost

    Create scoped git commits from the current conversation (e.g.

    1.4k GitHub stars~1.3k tokensUpdated 11 days ago
    Auto-check: notes
  • Feature Blog

    pockethost/pockethost

    Ship user-facing PocketHost features with a blog post instead of semver release notes.

    1.4k GitHub stars~818 tokensUpdated 11 days ago
    Auto-check passed
  • Pocketbase

    pockethost/pockethost

    Models PocketBase backends: collections, relations, auth, API rules, migrations, and architecture.

    1.4k GitHub stars~1k tokensUpdated 11 days ago
    Auto-check passed
  • Pocketbase Admin Plugins

    pockethost/pockethost

    Builds PocketBase superuser admin UI extensions (admin plugins) on PB ≥0.37: ServeEvent.uiExtensions, client main.js, window.app SPA hooks, Shablon UI, reactive stores, CSP, SSE/realtime topics.

    1.4k GitHub stars~1.8k tokensUpdated 11 days ago
    Auto-check passed

Categories

Questions about Lemon Squeezy Integration

What does Lemon Squeezy Integration do?

Full Lemon Squeezy integration — REST API, @lemonsqueezy/lemonsqueezy.js server SDK, Lemon.js checkout overlays, webhooks, customdata, and subscriptions. Lemon Squeezy Integration is an agent skill from pockethost/pockethost.js checkout overlays, webhooks, customdata, and subscriptions.

When should I use Lemon Squeezy Integration?

Lemon Squeezy Integration fits situations like: integrating Lemon Squeezy billing; subscription provisioning into an application.

How do I install Lemon Squeezy Integration in Claude Code?

Run `npx skills add pockethost/pockethost --skill lemon-squeezy-integration -a claude-code`. Or copy the skill folder (.cursor/skills/lemon-squeezy-integration in pockethost/pockethost) into .claude/skills/lemon-squeezy-integration in your project. Claude Code loads it when a task matches its description.

How do I install Lemon Squeezy Integration in Codex?

Run `npx skills add pockethost/pockethost --skill lemon-squeezy-integration -a codex`. Or copy the skill folder (.cursor/skills/lemon-squeezy-integration in pockethost/pockethost) into .agents/skills/lemon-squeezy-integration in your project. Codex loads it when a task matches its description.

Can I use Lemon Squeezy Integration in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pockethost/pockethost --skill lemon-squeezy-integration -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lemon-squeezy-integration, .gemini/skills/lemon-squeezy-integration, .github/skills/lemon-squeezy-integration and .opencode/skills/lemon-squeezy-integration in your project.

What does Lemon Squeezy Integration need to run?

Going by SKILL.md and its folder, Lemon Squeezy Integration needs credentials named LEMONSQUEEZY_API_KEY and LEMONSQUEEZY_WEBHOOK_SECRET. Our summary lists: A credential in LEMONSQUEEZY_API_KEY; A credential in LEMONSQUEEZY_WEBHOOK_SECRET.

Does Lemon Squeezy Integration access the network?

SKILL.md names 2 domains. In commands or code: store.pockethost.io; the agent is likely to contact it when it follows the instructions. As links in the text: docs.lemonsqueezy.com. This is read from the text; nothing was executed.

Is Lemon Squeezy Integration safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lemon Squeezy Integration use?

Lemon Squeezy Integration is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lemon Squeezy Integration use?

About 1.1k tokens (SKILL.md is roughly 4.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Lemon Squeezy Integration?

Skills that share tags, products or a category with Lemon Squeezy Integration: API Patterns (dilolabs/nosia, 213 stars), Loops API (openinary/openinary, 412 stars), Verify (gregluffy/HomeLabInfo, 103 stars) and Bigcommerce API (qdhenry/Claude-Command-Suite, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lemon Squeezy Integration?

pockethost (a GitHub organization) maintains it in pockethost/pockethost, which has 1,444 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on September 28, 2026.

Source: pockethost/pockethost on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.