skills/sales-memberstack/SKILL.md
Memberstack platform help — no-code membership, auth, and Stripe-payments layer for sites you build yourself (memberstack.com): add login (email/password, passwordless, social, 2FA), paid memberships, and content gating to Webflow, WordPress, or any custom site via a script tag + data attributes. Developer surface: a front-end DOM package (public key) plus an Admin REST API (base admin.memberstack.com, X-API-KEY secret key, member CRUD, verify-token, cursor pagination, 25 req/s) and 8 webhooks (member.created/updated/deleted, member.plan.*, team.*). Use when building a Memberstack Admin API or webhook integration, syncing members from your backend, verifying a member JWT to gate your own API, webhook signatures can't be verified via REST, a PATCH wiped the json field, or transaction-fee/plan questions. Do NOT use for course/membership-platform strategy or comparison (use /sales-membership), checkout-conversion optimization across tools (use /sales-checkout), or email marketing (use /sales-email-marketing).
npx skillsauth add sales-skills/sales sales-memberstackInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
If references/learnings.md exists, read it first for accumulated platform knowledge.
What are you trying to do?
Front-end or back-end? Browser auth/gating/checkout = DOM package (public key). Server-side member ops + token/webhook verification = Admin REST/Node (secret key). This decides everything.
Skip-ahead rule: if the user's prompt already provides enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| Choosing or comparing membership/course platforms | /sales-membership {question} |
| Checkout-conversion / order-bump / upsell strategy across tools | /sales-checkout {question} |
| Email sequences and broadcasts (Memberstack doesn't send email) | /sales-email-marketing {question} |
| Wiring Memberstack into a CRM/warehouse or other tools | /sales-integration {question} |
| Membership/community structure, pricing, and retention strategy | /sales-membership {question} |
When routing, give the exact command, e.g. "Platform comparison — run: /sales-membership Memberstack vs a hosted course platform".
Read references/platform-guide.md for the full reference — the module map (DOM vs Admin, what's front-end vs server-side vs webhook), the plan/transaction-fee gates, the member data model with JSON shapes, and quick-start recipes (create a member server-side; verify a member JWT to gate your API; sync member.created to a CRM via webhook).
Read references/memberstack-api-reference.md for the Admin REST API — base https://admin.memberstack.com, X-API-KEY auth (sk_sb_ test / sk_live_ live, server-side only), the member CRUD + verify-token + add/remove-plan endpoints, cursor pagination, the 25 req/s limit, the 8 webhook events, and the webhook-signature-verification caveat.
Answer the user's question using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
POST /members/verify-token turns a logged-in Memberstack session into a trusted member ID for your API.json PATCH trap. customFields/metaData shallow-merge, but json is fully replaced — read-modify-write to avoid wiping it.after/endCursor (max 100).If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research (2026-06) — review these, especially plan-gated features and pricing, which change frequently.
json is fully replaced on PATCH (while customFields/metaData shallow-merge). Read-modify-write the json object or you'll silently wipe data.sk_* key in client code or a public repo is a breach.sk_sb_) caps at 50 test members.data: null, not 404 — handle it explicitly./sales-membership — Membership/course platform strategy, pricing, and retention, and choosing Memberstack vs a hosted course platform/sales-memberful — Memberful (the closest membership-first alternative: own-your-audience subscriptions, private podcasts/newsletters, GraphQL API + signed webhooks + OAuth, on your own Stripe)/sales-checkout — Checkout, subscription, and upsell optimization (Memberstack runs payments through Stripe)/sales-integration — Wiring Memberstack's API/webhooks into a CRM, warehouse, or other tools/sales-email-marketing — Email sequences for members (Memberstack doesn't send email — connect an ESP)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skill. Install: npx skills add sales-skills/sales --skill sales-do -a claude-codeUser says: "When someone signs up through my own form, how do I create them in Memberstack from my server?"
Skill does: Shows POST https://admin.memberstack.com/members with the X-API-KEY secret key (server-side only), sending email + password (+ customFields) — Recipe 1 in references/platform-guide.md. Notes the 25 req/s limit, that the response returns a mem_* id, and that paid plans go through Stripe checkout on the front-end while free plans use the add-plan endpoint.
Result: User creates members server-side and understands key safety + the free-vs-paid-plan split.
User says: "My Webflow front-end uses Memberstack. How do I protect my custom API so only logged-in members can call it?"
Skill does: Points to POST /members/verify-token (Recipe 2) — the front-end sends the member's Memberstack JWT to your backend, which verifies it via the Admin API and gets the member ID before serving data. Explains the public-key (browser) vs secret-key (server) split.
Result: User validates Memberstack sessions server-side to authorize API calls.
User says: "I'm syncing member.created to my CRM but can't verify the signature, and a PATCH erased my custom json."
Skill does: Explains webhook signature verification isn't supported via REST — use the Node package or re-fetch the member by ID to confirm (Recipe 3 + Gotcha 1). For the data loss, explains json is fully replaced on PATCH (unlike customFields/metaData) and to read-modify-write it (Gotcha 2).
Result: User hardens webhook trust and stops overwriting json.
Symptom: No way to validate that a webhook POST really came from Memberstack via the REST API.
Cause: Webhook signature verification is only implemented in the Node.js Admin Package, not the REST API.
Solution: Use the Node Admin package for verification, or on a REST-only stack verify out-of-band — treat the payload as a hint and re-fetch the member with GET /members/:id before acting. Lock your webhook endpoint to a secret path and validate the member exists.
Symptom: Updating a member erased fields you didn't send.
Cause: On PATCH /members/:id, customFields and metaData are shallow-merged, but json is fully replaced.
Solution: For json, read the current value first, merge your changes in app code, then send the complete object. Use customFields/metaData when you want partial updates.
Symptom: GET /members/:id_or_email returns 200 and you expected a 404 for a missing member.
Cause: Memberstack returns 200 with "data": null for a non-existent member.
Solution: Check data === null rather than relying on the status code. URL-encode emails when looking up by email.
Symptom: Bulk member operations start returning 429.
Cause: You've exceeded the 25 requests/second limit.
Solution: Throttle to ≤25 req/s, add exponential backoff on 429, and paginate reads with after + endCursor (max 100 per page) instead of hammering the list endpoint.
tools
Wizlogo (wizlogo.com) platform help — a budget online logo maker (template/style-variation, marketed as "AI") plus a hub of FREE branding tools (business-name, blog-name and slogan generators, business-card maker, invoice generator, color converter, domain search). The pricing traps: the FREE logo is PERSONAL-USE-ONLY; the two cheap paid tiers are RASTER PNG/JPG only — Single (~€39.99 one-time) and Unlimited (~€3.99 per WEEK, recurring) — and VECTOR (SVG/PDF/EPS) is gated to the ~€299.99 Enterprise tier, which also bundles human designer edits and a social kit. Transparent PNG is on all paid plans. Use when making a Wizlogo logo, understanding free-vs-paid or personal-vs-commercial use, which tier unlocks vector/SVG for print, the weekly-subscription billing trap, its free name/slogan generators, or whether it has an API (UI-only — no public API, webhooks, Zapier or MCP). Do NOT use to just generate the business name (use /sales-namelix) or to compare/validate branding tools (use /sales-idea-validation).
tools
VistaPrint platform help (vistaprint.com, a Cimpress company) — the small-business design + print + digital-marketing platform: a free AI Logomaker (4 generations, 60 more after free sign-up) exporting SVG/PNG/PDF at 4000x4000 with no watermark, a free Brand Kit, business cards/flyers/signage/apparel/promo print, and a website builder. THE RIGHTS TRAP: VistaPrint states NO intellectual-property rights transfer on an AI-generated logo — you get usage rights but CANNOT register it for trademark or copyright; only its human designer service transfers full IP. Use when making a VistaPrint logo, asking if you own or can trademark it, running out of AI logo credits, printed colors not matching the screen, bleed/DPI/font file-prep rejections, or asking whether VistaPrint has an API (the consumer site does not — automation runs through the parent Cimpress Open partner-fulfilment API). Do NOT use for Vista Social scheduling (use /sales-vistasocial) or comparing logo tools market-wide (use /sales-idea-validation).
tools
Turbologo (turbologo.com) platform help — a budget AI/DIY logo maker: enter a business name + industry, pick icons and colors, and it proposes logo concepts you refine in an in-browser editor, then pay a one-time fee to download (designing is free, previews are watermarked, downloading is the paywall). Vector SVG/PDF is gated to the mid tier and up; the top tier adds a brand kit (business cards, letterheads, email signatures, social assets). Use when generating a logo in Turbologo, choosing which download tier to buy, vector SVG vs raster PNG, removing the free watermark, the time-limited edit-after-purchase window, pay-to-download pricing questions, whether an AI logo is yours to trademark, or whether Turbologo has an API to bulk-generate logos (it is UI-only — no public API, webhooks, Zapier, or MCP). Do NOT use to generate the business name (use /sales-namelix), compare or validate branding tools across the market (use /sales-idea-validation), or build wider marketing creative (use /sales-canva).
tools
Online Logo Maker (onlinelogomaker.com) platform help — a long-standing free/freemium DIY logo maker: build the mark yourself from icons, shapes, text, and fonts — MANUAL/template-based, NOT enter-a-name-get-AI-concepts. The free pack downloads a LOW-RES 300px PNG with a background; vector SVG, transparent PNG, and 2000px high-res are gated to a one-time lifetime Premium pack (not a subscription). The free tier's commercial-use rights are disputed by reviewers — clean ownership effectively needs Premium, and a shared-icon mark can be non-distinctive. Use for building/editing a logo here, free download vs Premium, vector SVG or transparent PNG, one-time pricing, commercial-use/trademark terms, near-namesake confusion (NOT LogoMaker.com / LogoMakr / Logomakerr.ai), or whether it has an API (UI-only — no API, webhooks, Zapier, MCP). Do NOT use to generate the business name (use /sales-namelix), compare branding tools across the market (use /sales-idea-validation), or build wider creative (use /sales-canva).