skills/sales-referlist/SKILL.md
Referlist platform help — no-code pre-launch waitlist with gamified Dropbox/Robinhood-style referrals (referlist.co): visitors join, see their place in line, and move up the queue by sharing a unique referral link. Use when adding a viral referral waitlist to a landing page without coding, embedding Referlist on Webflow/Squarespace/Wix or in a React/Next.js app via the npm SDK, fixing a Next.js 'window is not defined' SSR error from the SDK, the manual window.referlist.addToWaitlist(domain, email, referralCode) call not crediting referrals or moving people up, using the REST API (Pro plan) to add signups / look up an email's place in line / list the whole waitlist, exporting signups to Mailchimp/Airtable/CSV, seeding a waitlist so it doesn't look empty, or choosing between the Free, Growth, Pro, and Enterprise plans. Do NOT use for general list-growth strategy across platforms (use /sales-audience-growth) or picking the ESP you broadcast the launch from (use /sales-email-marketing).
npx skillsauth add sales-skills/sales sales-referlistInstall 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?
addToWaitlist call, REST API)window workaround)Where will the form live? Hosted Referlist page / a no-code builder (Webflow, Squarespace, Wix) / a React/Next.js app — drives embed vs SDK vs API.
Where do signups need to end up? Stay in Referlist / Mailchimp / Airtable / your own backend — drives export vs the Pro REST API.
Skip-ahead rule: if the user's prompt already contains enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| General audience/list-growth strategy across platforms | /sales-audience-growth [question] |
| A waitlist with built-in email broadcasts + HMAC-signed webhooks | /sales-waitlister [question] |
| A developer waitlist with an unauthenticated signup API + censored leaderboard | /sales-getwaitlist [question] |
| One-time-pricing waitlist (form POST + webhooks, no API) | /sales-launchlist [question] |
| Waitlists + giveaways/contests with fraud webhooks | /sales-kickofflabs [question] |
| Sending the actual launch/nurture campaign to the list | /sales-email-marketing [question] |
When routing, give the exact command, e.g.: "This is a list-growth-strategy question — run: /sales-audience-growth [your question]."
If the question is Referlist-specific, continue to Step 3.
Read references/platform-guide.md for the full reference — the 5 install methods, capabilities tagged by automation surface, pricing and plan gates, referral/seeding mechanics, export integrations, quick-start recipes (Next.js SDK with SSR workaround; manual addToWaitlist with referral attribution; signups→Mailchimp), and a fit comparison vs Waitlister / GetWaitlist / LaunchList / Viral Loops.
Read references/referlist-api-reference.md for the programmatic surface — the client-side SDK (referlist.initialize({ domain }), element IDs referlistemail/referlistbutton, window.referlist.addToWaitlist(domain, email, referralCode)) verbatim, plus the Pro-gated REST API capabilities (add signup, get an email's place in line, list signups, referral code). The REST base URL, auth, and exact paths are not in the public docs index (docs.referlist.co is JS-rendered) — they're listed under ## Gaps to verify, not invented.
Answer the user's question using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
dynamic(import, { ssr: false }) — the library touches window. This is the single most common integration failure.addToWaitlist (or let the snippet handle it) — omit it and the referrer never moves up./sales-waitlister / /sales-kickofflabs.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 that may shift. Referlist's docs site is JS-rendered, so REST API specifics below are flagged for verification.
dynamic(() => import(...), { ssr: false }) or guard on typeof window !== 'undefined'.addToWaitlist(domain, email, referralCode) calls that omit the code, or pages that don't capture the inbound ?ref param, record the signup but credit no one — so positions never move./sales-audience-growth — List-growth strategy (lead magnets, referral design, cross-promotion across all platforms)/sales-waitlister — Waitlister (built-in email broadcasts, documented REST API + HMAC-signed webhooks)/sales-getwaitlist — GetWaitlist (developer widget, unauthenticated signup API, censored public leaderboard)/sales-launchlist — LaunchList (one-time-pricing waitlists, form POST + webhooks, no API)/sales-kickofflabs — KickoffLabs (waitlists + giveaways with REST API + fraud webhooks)/sales-email-marketing — Email marketing strategy (what to send once you have the list)/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: "I have a Webflow landing page and want a waitlist where people move up by referring friends, without writing code. How do I set it up with Referlist?"
Skill does: Recommends the embedded signup form or the JS-snippet method (add the snippet, then put id="referlistemail" on the email input and id="referlistbutton" on the button). Explains the visitor sees their place in line + a unique referral link, and each referred join moves them up. Notes Free covers 100 signups (Growth $29 for 500 + no watermark), and that confirmation emails come from a Referlist domain until Pro.
Result: User has a gamified referral waitlist live on Webflow with no code.
User says: "I'm adding Referlist to my Next.js app via the npm package but I get 'window is not defined', and when I call addToWaitlist manually nobody gets referral credit."
Skill does: Fixes the SSR error by loading the SDK with dynamic(() => import('referlist'), { ssr: false }) (or a useEffect mount guard), then calling referlist.initialize({ domain: 'YOUR_DOMAIN' }). For attribution, shows reading the inbound ?ref= code from the URL and passing it as the 3rd arg: window.referlist.addToWaitlist('YOUR_DOMAIN', email, referralCode) — omitting it is why no one moved up. Points to Recipe 1/2 in references/platform-guide.md.
Result: SDK initializes client-side and referral codes credit the right referrer.
User says: "I expect ~2,000 signups and need them all in Mailchimp. Which Referlist plan, and how do I sync?"
Skill does: Recommends Pro ($59/mo, 3,000 signups) since Growth caps at 500; notes Pro also unlocks the REST API and branded email domains. For Mailchimp, points to the native export (CSV/Mailchimp/Airtable) for a one-shot/manual sync, or the Pro REST API to pull the list programmatically on a schedule. Hands off the launch broadcast itself to /sales-email-marketing.
Result: User picks Pro and has a path to keep Mailchimp in sync with the waitlist.
Symptom: Importing or initializing the Referlist SDK crashes during SSR/build.
Cause: The SDK accesses the browser window object and must run client-side.
Solution: Load it with dynamic(() => import('referlist'), { ssr: false }), or import inside a useEffect/componentDidMount that only runs in the browser, then call referlist.initialize({ domain: 'YOUR_DOMAIN' }). Don't import it at module top level in a server component.
Symptom: People share their link and friends join, but no one moves up the queue and referral counts stay flat.
Cause: The referral code isn't being captured/forwarded — either the inbound ?ref param isn't read, or the manual addToWaitlist call omits the 3rd referralCode argument.
Solution: If using the auto element-ID method, confirm referlistemail/referlistbutton are set and the page is loaded with the referral URL. If calling the API manually, capture the referral code from the visitor's URL and pass it: window.referlist.addToWaitlist('YOUR_DOMAIN', email, referralCode). Verify in the dashboard that the referrer's position updates.
Symptom: Export is blocked, or you can't collect/export beyond a certain number. Cause: Plan caps — Free is 100 signups and export beyond 100 is gated; Growth is 500; Pro is 3,000. Solution: Upgrade to the tier that covers your volume (Growth $29 / Pro $59 / Enterprise usage-based), then export to CSV, Mailchimp, or Airtable. For ongoing programmatic sync, use the REST API on Pro rather than repeated manual exports.
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).