skills/sales-kickofflabs/SKILL.md
KickoffLabs platform help — viral marketing platform for pre-launch waitlists, bonus-entry giveaways, milestone-reward referral programs, leaderboard giveaways, and email opt-in bribes with REST API v1 + v2, server-side webhooks (in/out), KOL.js JavaScript library, AnyForm script for custom pages, fraud detection (duplicate_ip / bounced / duplidate_email flags), SMS verification add-on, native ESP integrations (Klaviyo, Mailchimp, ActiveCampaign, Brevo), website builders (Webflow, Wix, Squarespace, Weebly), Shopify, Facebook Audiences, Slack, Zapier. Use when KickoffLabs viral campaigns aren't tracking referrals correctly, deciding between Hobby $13/mo annual (500 leads/mo no A/B no reward emails) vs Premium $48/mo (2.5K + A/B + reward emails + tracking pixels) vs Business $99/mo (10K + custom email templates + custom domains + advanced reporting + 3 team) vs Enterprise $202/mo (25K + 5 team + SMS included), API key getting rejected because you embedded it in client-side JavaScript instead of server-side, can't decide whether to use v1 /subscribe vs v2 /tags/:TAG_ID/lead for lead creation, webhook payloads firing with `__fraudulent` flag and you need to interpret the duplicate_ip/bounced/duplidate_email reason codes (yes, duplidate is spelled that way in their docs), AnyForm script not posting to KickoffLabs vs native API endpoint, leaderboard endpoint returning more than 50 leads is not allowed, social_id (kid in share URLs) attribution chain breaking between v1 and v2, contest score vs lead count metrics in the webhook payload are confusing, SMS Verification only available on Premium+ as $50/mo add-on (Enterprise includes), per-month lead cap auto-upgrades at $8 per 1000 overage leads, picking between KickoffLabs and Viral Loops / UpViral / Prefinery / ReferralCandy / Voucherify for viral campaign type fit, or rate limit per tier (10-100 calls/minute) is hitting on bulk imports. Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code merge-tag-only newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations + partner network (use /sales-sparkloop), or full-stack referral/affiliate with multi-level Level-1/2/3 tracking (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
UpViral platform help — viral referral marketing and list-building platform (by Emarky) for viral sweepstakes, giveaway/reward campaigns, pre-launch waiting lists, and milestone referral programs, with REST API (app.upviral.com/api/v1/), callback-URL webhooks, PHP SDK, fraud detection (IP-based suspicious-referral flagging), A/B testing, smart leaderboards, unlockable incentives, and 30+ native ESP/CRM integrations (Mailchimp, ActiveCampaign, ConvertKit, AWeber, HubSpot, Klaviyo, Intercom) plus Zapier/Make/Pipedream/Integrately/Pabbly. Use when UpViral campaigns aren't tracking referral points correctly, deciding between Starter $79/mo annual (10K leads, 1 brand, NO API) vs Business $119/mo (25K, 2 brands, API + webhooks unlocked) vs Premium $319/mo (100K, 5 brands, dedicated account manager), the API returns errors because you're on the Starter tier where API/webhooks are gated, building an UpViral→CRM or UpViral→data-warehouse pipeline with add_contact / get_leads / get_leads_points / add_points / get_custom_fields / lists methods (uvapikey + uvmethod form-encoded POST), interpreting fraud flags where same-IP referrals get marked suspicious and you must manually activate/delete/blacklist, setting up the Callback URL (webhook) to fire on reward-unlock events, Zapier New Lead / New Reward Unlocked triggers not firing, ClickFunnels/Shopify/funnel-builder integration breaking, the drag-and-drop page builder showing broken widgets or limited customization, the setup feeling long and complicated for your first campaign, or picking UpViral over Viral Loops / KickoffLabs / Vyper / Prefinery / Gleam / KingSumo / ShortStack for a viral campaign. Do NOT use for general newsletter audience growth strategy across all platforms (use /sales-audience-growth), newsletter monetization (use /sales-newsletter), KickoffLabs-specific help (use /sales-kickofflabs), no-code merge-tag newsletter referrals (use /sales-referralkit), SparkLoop paid recommendations (use /sales-sparkloop), or full-stack multi-level Level-1/2/3 referral/affiliate tracking (use /sales-referralhero).
development
ReferralHero platform help — full-stack referral, affiliate, waitlist, contest, and NPS platform with subscriber API, webhooks, Zapier, Mailchimp/Kit/AWeber/Klaviyo/ActiveCampaign/SendLane connectors, coupon codes, multi-level referral tracking (Level 1/2/3), anti-fraud, and 5,000 calls/hour rate limit. Use when ReferralHero campaigns aren't tracking referrals correctly, deciding between PRO $199/mo (10K members, includes API + webhooks) and PREMIUM $399/mo (50K members, adds ReCaptcha + SMS verification), authentication is failing with no_token or X-API-Key header is being ignored, multi-level referral counts (Level 2/3) aren't appearing for downline subscribers, coupon group endpoints return 404 or coupon arrays max out, hitting the 5,000 calls/hour soft limit and getting too_many_calls 429s, the Mailchimp/Kit native integration is double-adding subscribers, webhook payloads aren't firing on confirmation events, importing Stripe customer IDs through transaction tracking, generating reward fulfillment when subscribers cross milestone thresholds (promote/unlock_promoted_reward), comparing ReferralHero against SparkLoop/ReferralKit/Viral Loops/GrowSurf/KickoffLabs for referral marketing, or routing referral data via add_bulk_transactions (500-transaction batch limit). Do NOT use for general newsletter audience growth strategy (use /sales-audience-growth), general newsletter monetization (use /sales-newsletter), no-code newsletter-only referral with merge-tag insertion (use /sales-referralkit), SparkLoop's paid recommendations or partner network (use /sales-sparkloop), or affiliate program strategy across many platforms (use /sales-affiliate-program).
development
Routes any sales, marketing, ad, or GTM objective to the right specialized skill and outputs the install command for that skill plus a ready-to-paste prompt packed with the user's context. Asks clarifying questions when the objective is ambiguous, then hands back a copy-paste-runnable next step. Covers prospecting, outbound cadences, deals, proposals, forecasting, deliverability, enrichment, intent, content, coaching, CRO, SEO, launch directories, newsletters, email/SMS/push marketing, chatbots, influencer marketing, social media, employee advocacy, media relations, reviews, data hygiene, B2B advertising, retargeting, affiliate, loyalty, digital products, memberships, webinars, checkout, and platform-specific help. Use when the user has a sales or marketing question and isn't sure which skill to use, or wants a multi-skill sequence with a batch install command. Do NOT use to solve problems directly — this skill only routes.
testing
Grows an email list or newsletter audience — lead magnets, content upgrades, cross-promotion, referral programs, social-to-email conversion, SEO-to-email, viral loops, opt-in optimization. Use when subscriber growth has stalled, lead magnets aren't converting, referral program isn't driving signups, opt-in forms have low conversion rates, or social followers aren't joining your email list. Do NOT use for sending emails to your list (use /sales-email-marketing), monetizing your newsletter (use /sales-newsletter), or platform-specific setup (use /sales-kit, /sales-mailchimp, etc.).