skills/sales-cadence/SKILL.md
Designs multi-channel outbound cadences with timing, A/B testing, and content. Use when outbound sequences getting low reply rates, unsure how many touchpoints or what spacing to use, cadence emails sound generic, prospects ignoring calls, A/B tests not moving the needle, sequence performance plateauing, or not sure which channels to include in outreach. Do NOT use for general outreach message writing (use /sales-outreach), marketing cold email (use /cold-email), automated email flows (use /email-sequence), or general Salesloft platform help (use /sales-salesloft).
npx skillsauth add sales-skills/sales sales-cadenceInstall 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 design a complete outbound cadence for Salesloft, Mailshake, Smartlead, Lemlist, Yesware, or Hunter.io — from architecture and timing through full content for every step, A/B testing, and optimization benchmarks.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What's the campaign goal?
Who is the target persona? (title, seniority, industry, company size)
What channels are available?
What constraints should I know about?
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 — don't gate your response behind gathering complete context.
Design the cadence structure as a table:
| Day | Step | Channel | Action | Notes | |-----|------|---------|--------|-------| | 1 | 1 | Email | Intro email (A/B subject lines) | Personalization Level 3+ | | 1 | 2 | LinkedIn | Profile view + connection request | Same day as email | | 3 | 3 | Phone | Call attempt #1 + voicemail | Reference email | | 4 | 4 | Email | Follow-up email (value-add) | Different angle from Step 1 | | ... | ... | ... | ... | ... |
For each step in the cadence, write the actual content:
For each email:
{{brackets}}For each call step:
For platform-specific cadence implementation (Salesloft, Mailshake, Lemlist, Smartlead, Mixmax, Reply.io, Woodpecker, Hunter.io, Seamless.AI, Closum, Minelead, GetProspect, ZoomInfo, Snov.io, 6sense, Clay, BrandJet, AiSDR, Nooks, Orum, Amplemarket, Sendr, LeadIQ), see references/platforms.md.
Recommend Level 3+ for all touches in a cold outbound cadence. Level 2 is acceptable for re-engagement at scale.
For Level 3+ at scale (100+ prospects), consider AI personalization: Smartlead SmartAgents, Clay, or custom GPT workflows to research each prospect and generate personalized snippets for {{custom_field}} merge variables. This automates the research step that makes Level 3-4 feasible at volume.
Design an A/B testing strategy:
| Test # | What to test | Variant A | Variant B | Metric | Min sample size | |--------|-------------|-----------|-----------|--------|-----------------| | 1 | Subject line (Step 1) | Pain-focused | Curiosity-based | Open rate | 100 sends each | | 2 | CTA style (Step 1) | Specific time ask | Open-ended question | Reply rate | 100 sends each | | 3 | Email length (Step 4) | Short (75 words) | Medium (125 words) | Reply rate | 100 sends each |
Provide a benchmarks table:
| Metric | Good | Great | If below "Good"... | |--------|------|-------|---------------------| | Open rate | 40-50% | 50%+ | Fix subject lines, check deliverability, verify email addresses | | Reply rate (total) | 8-12% | 15%+ | Improve personalization, test different angles, check targeting | | Positive reply rate | 3-5% | 7%+ | Revisit value prop, check ICP fit, strengthen the ask | | Meeting booked rate | 2-4% | 5%+ | Improve CTA clarity, offer more flexibility, add social proof | | Bounce rate | <3% | <1% | Clean your list, use email verification tools, check domain health | | Unsubscribe rate | <1% | <0.5% | Reduce frequency, improve relevance, check compliance | | Call connect rate | 5-10% | 12%+ | Try different times of day, use local presence dialing, vary call days |
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-salesloft — General Salesloft platform help (Rhythm, Analytics, Drift, admin)/sales-deliverability — Email deliverability — SPF/DKIM/DMARC, warmup, inbox placement/sales-mailshake — Mailshake platform help (campaigns, Lead Catcher, settings)/sales-smartlead — Smartlead platform help (campaigns, SmartSenders, SmartAgents, API)/sales-lemlist — Lemlist platform help (sequences, Lemwarm, LinkedIn automation, enrichment, API)/sales-call-review — Review calls from your cadence to improve scripts/sales-email-tracking — Email engagement tracking — open/click/attachment signals for follow-up timing/sales-brandjet — BrandJet AI platform help — multi-channel outreach, brand intelligence, AI monitoring/sales-revenue-io — Revenue.io platform help (Salesforce-native Guided Selling cadences, RingDNA dialer, Moments coaching)/sales-nooks — Nooks platform help (AI parallel dialer, multi-channel sequencing, coaching, waterfall enrichment)/sales-orum — Orum platform help (AI parallel dialer, coaching suite, virtual salesfloor)/sales-outreach-io — Outreach platform help (sequences, Kaia CI, deal management, forecasting, coaching)/sales-amplemarket — Amplemarket platform help (all-in-one: data + sequences + signals + deliverability + Duo AI)/sales-sendr — Sendr platform help (lipsync video, dynamic pages, Lead Finder, campaign sequencing)/sales-leadiq — LeadIQ platform help (Scribe AI outreach writer, Chrome extension prospecting, champion tracking)/sales-do — Not sure which skill to use? The router matches any sales objective to the right skillDon't make all touches email-only. Claude defaults to generating email-heavy cadences. A real cadence needs channel mixing — if the user has phone and LinkedIn available, use them from the start, not as afterthoughts.
Don't space touches too close together. Avoid scheduling touches less than 2 business days apart (except same-day email + LinkedIn on Day 1). Prospects need time to engage before you follow up.
Don't write generic "just checking in" follow-ups. Every touch must add new value or a new angle. If you catch yourself writing "I wanted to follow up on my last email," rewrite it with a new hook.
Don't ignore timezone for call steps. Phone calls placed outside business hours are wasted touches. If you know the prospect's timezone, note the best call windows (typically 8-10am and 4-6pm local time).
Don't generate a cadence without confirming channel availability first. If the user didn't specify channels, ask — don't assume they have LinkedIn Sales Navigator or a phone dialer.
Self-improving: If you discover something not covered here, append it to references/learnings.md with today's date.
User says: "Build a 21-day cold outbound cadence for VP Engineering at Series B SaaS companies. We have email, phone, and LinkedIn." Skill does:
User says: "My cadence has 35% open rate but only 2% reply rate. What's wrong?" Skill does:
Cause: Subject lines aren't compelling, or deliverability issues Solution: Test pain-focused vs. curiosity-based subject lines. Check domain reputation, SPF/DKIM records, and bounce rate. If bounce rate >3%, clean your list first.
Cause: Email body doesn't deliver on the subject line promise, CTA is weak or unclear, or personalization is too generic Solution: Ensure the first sentence connects to the prospect's world. Make the CTA specific ("15 minutes Thursday?") not vague ("let me know if interested"). Increase personalization to Level 3+.
Cause: Too many touchpoints before the ask, or the ask is buried Solution: Include a clear meeting CTA by Step 3. Use the phone step within 24 hours of an email open. Offer a specific time, not an open question.
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.