skills/sales-rudderstack/SKILL.md
RudderStack platform help — warehouse-native CDP, Event Streams, Reverse ETL, Transformations, Profiles, 200+ destinations, open-source. Use when setting up RudderStack SDKs or HTTP API, events not reaching destinations, Reverse ETL syncs failing or returning stale data, transformations throwing errors or dropping events, visitor profiles not merging across channels, choosing between RudderStack and Segment, or working with the RudderStack API. Do NOT use for general CDP comparison (use /sales-cdp) or CRM data dedup without RudderStack (use /sales-data-hygiene).
npx skillsauth add sales-skills/sales sales-rudderstackInstall 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 do you need help with?
What's your role?
Which RudderStack products are you using?
Skip-ahead rule: if the user's prompt already contains enough context, skip to Step 2.
| Problem domain | Route to |
|---|---|
| Choosing between CDPs | /sales-cdp {user's question} |
| CRM data dedup without RudderStack | /sales-data-hygiene {user's question} |
| Email marketing strategy | /sales-email-marketing {user's question} |
| Retargeting ad strategy | /sales-retargeting {user's question} |
| Contact enrichment | /sales-enrich {user's question} |
| Connecting RudderStack to other tools via Zapier/Make | /sales-integration {user's question} |
When routing, provide the exact command: "This is a {problem domain} question — run: /sales-{skill} {user's question}"
Read references/platform-guide.md for the full platform reference — modules, pricing, integrations, data model, SDK setup, API endpoints, deployment options.
Answer the user's question using only the relevant section. Don't dump the full reference.
You no longer need the platform guide — focus on the user's specific situation.
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 and integration gotchas that may be outdated.
HTTP API max payload is 32 KB per call, 4 MB per batch — exceeding silently drops events. Monitor payload sizes for events with large properties objects.
Server degraded/maintenance mode stops processing — if the server enters "degraded" mode it only logs events, doesn't process them. Fix by updating recovery_data.json and setting Mode to "normal", then restart.
Destinations only support specific event types — sending a track call to Salesforce (which only supports identify) returns "Message type not supported". Check destination docs for supported call types before configuring.
Warehouse destination retries expire after 3 hours — if a warehouse (Snowflake, BigQuery) is down for longer, staging files are stored but may need manual replay.
Open-source lacks Profiles and some connectors — identity resolution (Profiles) and certain premium connectors are cloud-only. Self-hosted users get Event Streams and Reverse ETL core.
Steep learning curve for non-technical teams — RudderStack is developer-first. Marketing teams needing no-code audience building may prefer BlueConic or Tealium AudienceStream.
/sales-cdp — CDP comparison and selection strategy across Tealium, Segment, BlueConic, mParticle, Treasure Data, RudderStack/sales-tealium — Tealium platform help — enterprise CDP, iQ Tag Management, 1300+ connectors/sales-blueconic — BlueConic CDP — profile unification, segmentation, audience activation/sales-treasuredata — Treasure Data enterprise CDP — 400+ connectors, AI Marketing Cloud/sales-integration — Connect sales tools with webhooks, Zapier/Make, APIs/sales-data-hygiene — CRM data quality, deduplication, enrichment automation/sales-retargeting — Retargeting strategy — activate CDP audiences to ad platforms/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-doUser says: "I set up Google Analytics as a destination but no events are showing up." Skill does: Walks through debugging — check Live Events for delivery status, verify GA tracking ID in destination config, confirm the source is sending the right event types GA supports, check for transformation errors filtering events. Result: User identifies the misconfigured tracking ID and gets events flowing.
User says: "I have customer data in Snowflake and want to sync segments to Braze for marketing campaigns." Skill does: Walks through Reverse ETL setup — connect Snowflake as a source, write a SQL model defining the audience segment, configure Braze as a Reverse ETL destination, map fields, set sync schedule. Result: User has a working Reverse ETL pipeline syncing warehouse audiences to Braze.
User says: "We're a 20-person engineering team evaluating RudderStack and Segment. We care about cost and data ownership."
Skill does: Routes to /sales-cdp for cross-platform comparison, noting RudderStack's 50-80% cost savings, open-source option for full control, and warehouse-native architecture vs Segment's larger ecosystem and marketer-friendly UI.
Result: User has a clear comparison framework for their evaluation.
Symptom: Events are sent from the SDK but never appear in the destination tool
Cause: Common causes — destination not enabled, wrong API key/tracking ID, event type not supported by destination, transformation filtering events, server in degraded mode
Solution: Check Live Events in the RudderStack dashboard for delivery status and error messages. Verify destination is enabled and credentials are correct. Check if the destination supports the event type you're sending (e.g., Salesforce only supports identify). Review any active transformations for filtering logic. Check server mode in recovery_data.json.
Symptom: Reverse ETL sync completes but no records are sent to the destination Cause: SQL model query returns empty results, or the diff detection finds no changed records since last sync Solution: Test the SQL model query directly in your warehouse to verify it returns results. For first syncs, ensure "full sync" mode is selected (not incremental). Check column mapping — the destination may require specific field names or formats.
Symptom: RudderStack SDK loads but no events are captured
Cause: Missing or incorrect write key, wrong data plane URL, content security policy blocking requests
Solution: Verify the write key matches the source in your RudderStack dashboard. Confirm the data plane URL is correct (cloud: https://<your-dataplane>.dataplane.rudderstack.com, self-hosted: your server URL). Check browser console for CSP violations or network errors. For mobile SDKs, ensure the SDK is initialized before any track/identify calls.
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).
tools
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).
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.