skills/sales-kickofflabs/SKILL.md
KickoffLabs platform help — viral marketing for pre-launch waitlists, bonus-entry giveaways, milestone-reward referral programs, and leaderboard giveaways with REST API v1 + v2, server-side webhooks (`__fraudulent`/`__referral`), AnyForm + KOL.js, and native ESP/Shopify/Zapier integrations. Use when viral campaigns aren't tracking referrers, deciding between Hobby (lead-capped, no A/B, no reward emails) vs Premium (A/B + reward emails) vs Business vs Enterprise tiers, the API key is rejected for being embedded client-side, webhook `__fraudulent` codes (`duplidate_email`/`duplicate_ip`/`bounced`) need a triage workflow, choosing v1 vs v2 endpoints, leaderboard capped at 50, lead-cap auto-upgrade inflating bills, or comparing to Viral Loops/UpViral/Prefinery. Do NOT use for newsletter audience growth (use /sales-audience-growth), merge-tag referrals (use /sales-referralkit), SparkLoop paid recommendations (use /sales-sparkloop), or multi-level Level 1/2/3 referrals (use /sales-referralhero).
npx skillsauth add sales-skills/sales sales-kickofflabsInstall 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?
/subscribe vs v2 /v2/{CAMPAIGN_ID}/...__fraudulent reasons (duplicate_ip / bounced / duplidate_email)What's your campaign type? Waitlist / giveaway / milestone-reward / leaderboard / opt-in — drives which scoring + reward + verification settings matter.
What's your ESP and website stack? Drives whether native ESP integration is enough or you need API/webhooks/Zapier glue.
Skip-ahead rule: if the user's prompt already contains enough context, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| General newsletter audience growth strategy across all platforms | /sales-audience-growth [question] |
| Newsletter monetization | /sales-newsletter [question] |
| No-code newsletter-only referrals with merge-tag insertion | /sales-referralkit [question] |
| SparkLoop paid recommendations + partner network | /sales-sparkloop [question] |
| Full-stack referral/affiliate with multi-level Level 1/2/3 + coupon groups + REST API | /sales-referralhero [question] |
| Affiliate program strategy across many tools | /sales-affiliate-program [question] |
| ESP setup (Klaviyo, Mailchimp, ActiveCampaign, Brevo) | /sales-klaviyo, /sales-mailchimp, /sales-activecampaign, /sales-brevo |
If the question is KickoffLabs-specific, continue to Step 3.
Read references/platform-guide.md for the full reference — feature gating per tier, campaign type selection (waitlist / giveaway / milestone / leaderboard / opt-in), AnyForm vs direct-API, fraud detection signals, SMS verification, ESP integrations, and comparisons with Viral Loops / UpViral / Prefinery / ReferralCandy / Voucherify.
Read references/kickofflabs-api-reference.md for the REST API documentation — v1 (/subscribe, /info) + v2 (/v2/{CAMPAIGN_ID}/... for tags, leads, actions, leaderboard, approve, block, waitlist, verify, SMS, bulk-tags), authentication via api_key + CAMPAIGN_ID, webhook payload schemas (including __fraudulent, __referral, __reward_level, __score_change, __tagged), and rate limits by tier.
Answer the user's question using only the relevant section. Don't dump the full reference.
Focus on the user's specific situation:
/subscribe, /info) is form-encoded and still active for simple adds. v2 (/v2/{CAMPAIGN_ID}/...) is JSON and covers tags, approve/block, bulk operations, leaderboard, waitlist, SMS verification. Use v2 for new integrations.?kid= parsing), referrer cookies, and lead deduplication automatically. Reserve direct API for server-to-server flows your AnyForm can't capture.duplicate_ip (same IP signing up multiple times), bounced (email bounced on verify), duplidate_email (their typo — duplicate email). Treat them as advisory; combine with approve / block endpoints for manual review.If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research — review these, especially items about plan-gated features that may shift.
duplidate_email is spelled with a typo in KickoffLabs's own webhook payload docs. When parsing the __fraudulent array, match against the literal string duplidate_email as well as duplicate_email if KickoffLabs ever fixes it. Don't "correct" the typo client-side./subscribe is form-encoded; v2 /v2/... is JSON-first. Mixing them in one integration confuses parameter parsing. Pick one path per campaign workflow./leaderboard itself — pull more via the leads endpoints and rank client-side./sales-audience-growth — Newsletter audience growth strategy (referrals + cross-promotion + lead magnets across all platforms)/sales-newsletter — Newsletter monetization (paid subs, sponsorships, ad networks)/sales-referralkit — ReferralKit (no-code merge-tag-driven newsletter referrals, free up to 10K leads)/sales-sparkloop — SparkLoop (newsletter referrals + paid recommendations + partner network)/sales-referralhero — ReferralHero (full-stack referral/affiliate/waitlist/contest with multi-level Level 1/2/3 + coupon groups + REST API + webhooks + Zapier)/sales-affiliate-program — General affiliate program strategy and platform selection/sales-klaviyo — Klaviyo platform help (native ESP integration)/sales-mailchimp — Mailchimp platform help (native ESP integration)/sales-activecampaign — ActiveCampaign platform help (native ESP integration)/sales-brevo — Brevo platform help (native ESP integration)/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'm launching on Product Hunt next month and want a viral waitlist with milestone rewards. Hobby or Premium?" Skill does: Recommends Premium ($48/mo annual, 2,500 leads/mo) because reward-level emails are Premium+, A/B testing is Premium+, and a Product Hunt feature can spike well past Hobby's 500-leads cap. Warns about $8-per-1,000 auto-upgrade billing on spike and suggests setting a campaign cap if budget is tight. Mentions SMS Verification add-on ($50/mo extra) if fraud risk is high. Recommends Business ($99/mo) only if custom email templates/domains matter from day one. Result: User picks Premium with annual billing, sets a 10K-lead campaign cap, plans SMS verification only if first 1K signups show fraud signals.
__fraudulent interpretationUser says: "I'm getting webhooks with __fraudulent arrays containing duplidate_email and bounced — what do these mean and what should I do?"
Skill does: Confirms duplidate_email is verbatim from KickoffLabs docs (yes, with the typo — match the literal string). duplicate_ip means another lead signed up from the same IP recently. bounced means the verification email bounced. Suggests a triage workflow: auto-block on bounced, manual-review on duplicate_ip/duplidate_email, and use POST /v2/{CAMPAIGN_ID}/approve (supports up to 200 emails per bulk call) to override after review.
Result: User builds a webhook handler that routes by fraud reason and queues borderline cases for human review with batch approve.
User says: "Give me a cURL example to add a subscriber via the API with referrer attribution. I'm on Premium."
Skill does: Provides POST https://api.kickofflabs.com/v1/{CAMPAIGN_ID}/subscribe with email, api_key, social_id (the referrer's social_id, found in ?kid= query param), ip, __url, and __ref. Notes the key must be server-side. Mentions v2 /tags/{TAG_ID}/lead as the JSON-based alternative for tag-based workflows. Reminds user to consider AnyForm + KOL.js if the signup happens in browser instead.
Result: User has a working server-side subscribe call with proper attribution and knows when to switch to AnyForm.
Symptom: Calls fail with auth errors despite copying the key from Setup > Advanced Settings > API Access
Cause: Either the key was embedded in client-side JavaScript (which KickoffLabs explicitly disallows and may rotate-invalidate on detection), or the request is hitting a different campaign's API endpoint, or v1/v2 path mismatch
Solution: Verify the request comes from your server, not browser. Confirm the CAMPAIGN_ID in the URL matches the campaign whose key you copied. If you suspect key compromise, rotate it in Setup > Advanced Settings > API Access and update your backend env vars. Don't mix v1 and v2 in one call (v1 wants form-encoded, v2 wants JSON).
__fraudulent field is empty when I expected fraudSymptom: A lead clearly looks fraudulent (same IP repeating, disposable email) but the webhook arrives without a __fraudulent array
Cause: KickoffLabs's fraud detection runs heuristics — duplicate_ip only fires if signups come from the same IP within KickoffLabs's window; bounced requires a verification bounce, which only happens if double-opt-in / verify is configured; duplidate_email catches exact duplicates, not lookalikes
Solution: Enable email verification / double-opt-in on the campaign for bounced flags. Use the POST /v2/{CAMPAIGN_ID}/leads/verify endpoint as a programmatic verification trigger. For weaker fraud signals (disposable domains, lookalike emails), add a server-side check before forwarding to KickoffLabs.
Symptom: GET /v2/{CAMPAIGN_ID}/leaderboard caps at 50 results
Cause: The endpoint enforces limit ≤ 50 by design — pagination is not supported on /leaderboard
Solution: Pull more leads via GET /v2/{CAMPAIGN_ID}/leads/... (or use the leaderboard 50, then call individual leads beyond rank 50 via lead-by-ID endpoints), and rank client-side by contest_score. For most campaigns, top 50 is the meaningful slice — verify whether you actually need 100+.
Symptom: Monthly bill jumped after a Product Hunt feature pushed leads above the plan cap Cause: KickoffLabs auto-upgrades plans at $8 per 1,000 overage leads — by default this is silent Solution: Set a campaign-level lead cap in dashboard settings (where supported per plan). Configure billing alerts via your payment processor. Upgrade to the next plan tier proactively if you're consistently within 20% of the cap — annual billing at the higher tier is often cheaper than per-overage charges.
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).