skills/sales-in-app-messaging/SKILL.md
In-app messages and content cards — onboarding, feature announcements, surveys, promotions, persistent content feeds. Covers strategy, design, triggering, and analytics across Braze, Iterable, Intercom, Pendo, Appcues, Customer.io, MoEngage, Whatfix and Chameleon. Use when users aren't completing onboarding, in-app messages have low engagement, not sure which in-app messaging tool to pick, feature announcements go unnoticed, employees aren't adopting enterprise software, or unsure whether to use in-app messages vs push vs email for a use case. Do NOT use for push notifications (use /sales-push-notification), email marketing (use /sales-email-marketing), live chat widgets (use /sales-live-chat), or cold outbound (use /sales-cadence). For Braze-specific help, use /sales-braze.
npx skillsauth add sales-skills/sales sales-in-app-messagingInstall 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.
Help the user with in-app messaging — from strategy and message type selection through trigger design, content cards, onboarding flows, and analytics. This skill is tool-agnostic but includes platform-specific guidance for Braze, Iterable, Intercom, Pendo, Appcues, Customer.io, MoEngage, Whatfix and Chameleon.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What do you need help with?
What type of app?
What tool are you using (or considering)?
If the user's request already provides most of this context, skip directly to the relevant step. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask only the most critical 1-2 clarifying questions at the end.
| Type | Best for | Display | Duration | |---|---|---|---| | Modal | Important announcements, permission requests, promotions | Center of screen, blocks interaction | Until dismissed | | Slideup / Banner | Lightweight notifications, success confirmations | Top or bottom of screen, non-blocking | Auto-dismiss or swipe | | Fullscreen | Major announcements, onboarding steps, surveys | Covers entire screen | Until dismissed | | Tooltip / Hotspot | Feature discovery, contextual help | Points to a specific UI element | Until dismissed or after delay | | Carousel / Tour | Multi-step onboarding, feature walkthroughs | Sequence of screens/modals | Until completed | | Content Card | Persistent promotions, notification inbox, recommendations | In a dedicated feed/section of the app | Until expired or dismissed | | Custom HTML | Complex interactive experiences, mini-games, embedded forms | Custom placement | Custom | | Survey | NPS, CSAT, feature requests, feedback | Modal or fullscreen | Until submitted |
| Scenario | Best channel | Why | |---|---|---| | User is active in the app right now | In-app message | Immediate, contextual, no permission needed | | User hasn't opened the app in days | Push notification | Brings them back to the app | | Long-form content or tutorial | Email | More space, user can read at their pace | | Time-sensitive alert for inactive user | Push + SMS | Reaches them outside the app | | Persistent content they can revisit | Content Card | Stays in their feed until they engage | | Feature announcement for web SaaS | In-app + email | In-app for active users, email for others |
For platform-specific in-app messaging guidance (Braze, Iterable, Intercom, Pendo, Appcues, Customer.io, MoEngage, Whatfix, Chameleon), read references/platforms.md. Answer using only the section relevant to the user's tool.
| Metric | Benchmark | What it tells you | |---|---|---| | Impression rate | 30-60% of eligible users | Trigger design effectiveness | | Click/action rate | 15-30% | Message relevance and CTA quality | | Dismiss rate | 20-40% | Message value vs annoyance | | Onboarding completion | 40-70% | Flow design and motivation | | Feature adoption (post-message) | 10-25% increase | Impact of feature announcements | | Survey response rate | 15-30% | Survey design and timing |
references/learnings.md with today's date.This skill covers a strategy domain across many platforms. Before pointing the user to any specific platform skill (any /sales-{platform} listed in ## Related skills, e.g., /sales-mailshake, /sales-klaviyo, /sales-apollo), read that platform skill's actual SKILL.md first. The 1-line description in ## Related skills is enough to identify a candidate — it's not enough to commit to it or to write a prompt that invokes it well.
How to read it:
~/.claude/skills/{skill-name}/SKILL.md exists locally, Read it.sales-* skills, WebFetch directly from this repo: https://raw.githubusercontent.com/sales-skills/sales/main/skills/{skill-name}/SKILL.md — e.g., for sales-mailshake: https://raw.githubusercontent.com/sales-skills/sales/main/skills/sales-mailshake/SKILL.md.sales-* skills (third-party), look up {org}/{repo} in ~/.claude/skills/sales-do/references/skill-sources.md if installed and fetch the same skills/{skill-name}/SKILL.md path under that repo.After reading, ground your recommendation in something concrete from the SKILL.md (its scope, a sub-flow, its argument-hint shape, or a "Do NOT use for..." negative trigger). Align any generated invocation with the platform skill's argument-hint. If the platform skill turns out not to fit the user's situation, swap to another or handle the question here directly rather than recommending a poor fit.
/sales-chameleon — Chameleon platform help (product tours, tooltips, microsurveys, launchers, HelpBar, A/B testing, AI). Install: npx skills add sales-skills/sales --skill sales-chameleon/sales-whatfix — Whatfix platform help (enterprise DAP, Flows, Smart Tips, Product Analytics, Mirror sandbox). Install: npx skills add sales-skills/sales --skill sales-whatfix/sales-pendo — Pendo platform help (analytics, guides, session replay, NPS, API). Install: npx skills add sales-skills/sales --skill sales-pendo/sales-iterable — Iterable platform help (in-app messages, Mobile Inbox, Embedded Messages, Studio journeys)/sales-braze — Braze platform help (in-app messages, Content Cards, Canvas integration)/sales-customerio — Customer.io platform help (in-app in Journeys)/sales-push-notification — Push notification strategy (complementary channel)/sales-email-marketing — Email marketing strategy (coordinate with in-app)/sales-live-chat — Live chat and chatbot (Intercom combines both)/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: "We're a B2B SaaS app and our activation rate is low. How should we use in-app messages to guide new users?" Skill does: Designs a progressive onboarding flow: Step 1 (first login) → welcome modal with 3-step overview. Step 2 (reaches dashboard) → tooltip pointing at key feature. Step 3 (first feature use) → success slideup + next step tooltip. Checklist widget showing 5 setup tasks with completion tracking. Includes trigger design, display rules, and completion metrics. Result: Onboarding flow with contextual tooltips, checklist, and activation metric tracking
User says: "How do I show an upgrade prompt to free users who've hit their usage limit?" Skill does: Designs a non-intrusive upgrade flow: trigger when user hits limit → show modal explaining what they can unlock on paid plan → action buttons ("Upgrade" deep links to payment screen, "Maybe later" dismisses). Display rule: show once per week max. A/B test: feature-focused vs pricing-focused copy. Fallback: after 3 dismissals, switch to subtle banner instead of modal. Result: Upgrade prompt campaign with A/B test, frequency capping, and escalation strategy
User says: "We want to add a notification inbox in our app using Braze Content Cards" Skill does: Walks through creating Content Card campaigns in Braze: card types (classic for text updates, captioned image for promotions, banner for announcements), expiration settings, pinning important cards, targeting segments, and building a custom Content Card feed UI in the app. Includes API integration for marking cards as read/dismissed. Result: Branded notification center powered by Braze Content Cards with custom UI
Symptom: Message configured but users don't see it Cause: Trigger event not firing, display limits reached, segment targeting too narrow, or SDK not initialized Solution: 1) Verify the trigger event is actually occurring (check event logs in your tool). 2) Check display limits — message may have already been shown to this user. 3) Verify the user matches the target segment. 4) Ensure SDK is properly initialized and user is identified. 5) Test in a debug/preview mode on your own device.
Symptom: Users see the message but don't tap the CTA Cause: Weak CTA, message not relevant to the context, or CTA button not prominent enough Solution: 1) Make the CTA specific and action-oriented ("Start free trial" not "Learn more"). 2) Ensure the message appears at a contextually relevant moment. 3) Make the button visually prominent (contrast, size). 4) A/B test copy, button text, and message design. 5) Consider a slideup instead of a modal if the content is lightweight.
Symptom: High dismiss rate (>50%) on in-app messages Cause: Message appearing at the wrong time, too intrusive, or shown too frequently Solution: 1) Review trigger timing — is the message interrupting a task? 2) Consider less intrusive formats (slideup vs fullscreen). 3) Reduce display frequency. 4) Make the message valuable — does it help the user or just promote something? 5) Add a "remind me later" option instead of just dismiss.
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.