skills/sales-crm-selection/SKILL.md
CRM comparison, selection, and migration strategy for startups — evaluates Attio, HubSpot, Salesforce, Folk, Pipedrive, Close, Zoho, and spreadsheets. Use when choosing a first CRM, deciding if you've outgrown spreadsheets, comparing CRMs for a small team, planning a CRM migration, figuring out when to upgrade from free tier, or evaluating whether you need Salesforce yet. Do NOT use for Attio-specific config or API (use /sales-attio), CRM data cleanup (use /sales-data-hygiene), or outbound sequences (use /sales-cadence).
npx skillsauth add sales-skills/sales sales-crm-selectionInstall 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 startups choose, evaluate, and migrate to the right CRM — from spreadsheets through Attio, HubSpot, Folk, Pipedrive, Close, Zoho, and Salesforce.
If references/learnings.md exists, read it first for accumulated knowledge.
Ask the user:
What's your situation?
Team and stage?
Sales motion?
Budget per user/month?
Skip-ahead rule: if the user's prompt already provides most context, skip to Step 2. Lead with your best-effort answer using reasonable assumptions (stated explicitly), then ask 1-2 critical clarifying questions.
| Problem domain | Route to |
|---|---|
| Attio-specific setup, config, API, or troubleshooting | /sales-attio {user's question} |
| HubSpot-specific setup, config, workflows, API, or pricing | /sales-hubspot {user's question} |
| Salesforce-specific setup, Flows, Apex, admin, API, or editions | /sales-salesforce {user's question} |
| CRM data cleanup, deduplication, record matching | /sales-data-hygiene {user's question} |
| Building outbound sequences across platforms | /sales-cadence {user's question} |
| Contact enrichment for CRM records | /sales-enrich {user's question} |
| Connecting CRM to other tools | /sales-integration {user's question} |
When routing, provide the exact command.
Read references/platforms.md for the full CRM comparison — positioning, feature matrices, pricing guidance, decision frameworks, migration paths.
Answer the user's question using only the relevant section. Don't dump the full reference.
You no longer need the comparison reference — focus on the user's specific situation.
You need a CRM when any of these are true:
Most startups switch 3-6 months after raising initial capital. Start with a free tier to build habits before paying.
/sales-data-hygiene)If you discover a gotcha, workaround, or tip not covered in references/learnings.md, append it there.
Best-effort from research — review these, especially pricing which changes frequently.
70% of CRM implementations fail — the #1 cause is unclear goals, not bad software. Define what you need before evaluating tools.
HubSpot's free tier is genuinely useful, but the jump to paid is steep. The free plan covers unlimited users and contacts. But the moment you need marketing automation, custom reporting, or sequences, you're looking at $45-$800+/mo depending on tier. Plan for this before you're locked in.
"We'll need Salesforce eventually" is usually wrong for startups. Most SaaS startups don't need Salesforce until past $5M ARR and 50+ employees. Starting on Salesforce too early means paying for admin overhead you can't afford and complexity you don't need.
CRM data quality degrades ~30% per year. People change jobs, emails bounce, companies rebrand. Budget for ongoing enrichment and cleanup regardless of which CRM you pick.
Switching CRMs is painful but not as painful as staying on the wrong one. The real cost isn't data migration — it's retraining workflows and losing historical context. Export notes and activity history, not just contact records.
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-hubspot — HubSpot platform help — Smart CRM, Marketing/Sales/Service Hubs, workflows, sequences, API/sales-salesforce — Salesforce platform help — Sales/Service/Marketing Cloud, Flows, Apex, AppExchange, API/sales-attio — Attio platform help — custom objects, deal pipelines, automations, email sequences, AI, API/sales-data-hygiene — CRM data quality — deduplication, record matching, enrichment automation/sales-enrich — Contact enrichment — emails, phones, company data, bulk enrichment/sales-cadence — Outbound sequence design — multi-channel cadences across platforms/sales-integration — Connecting CRM to other tools — webhooks, Zapier, Make, native connectors/sales-lead-score — Lead scoring model design — dimensions, weights, MQL/SQL thresholds/sales-lead-routing — Lead routing and assignment — round-robin, territory, score-based/sales-forecast — Revenue forecasting — pipeline coverage, commit validation/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 4-person SaaS startup, just raised seed, doing mostly inbound from content marketing. Currently tracking leads in Google Sheets. Budget is tight." Skill does: Recommends starting with HubSpot Free (unlimited users, visual pipeline, email logging, live chat) or Attio Free (3 users, custom objects). Explains the spreadsheet-to-CRM transition signals and provides a 2-week migration plan. Notes that HubSpot is better if they want marketing+sales in one tool later; Attio is better if they want flexibility and API-first design. Result: User has a clear recommendation with migration steps and understands the growth path for each option.
User says: "We've been on Pipedrive for 2 years, now 25 people, and it feels limiting. Should we move to HubSpot or Salesforce?" Skill does: Asks about pain points with Pipedrive, budget, and whether they need marketing automation. For a 25-person team, recommends HubSpot Professional if they need marketing+sales integration, or Attio Pro if they want flexibility and modern UX without the HubSpot tax. Flags that Salesforce is likely overkill at this stage. Provides migration checklist. Result: User understands the trade-offs and has a migration plan.
User says: "I'm a solo founder with 30 customers. Do I even need a CRM?" Skill does: Explains that with 30 customers and 1 person, spreadsheets can still work — but recommends starting a free CRM now to build habits. At 50-100 accounts or when hiring the first sales/CS person, a CRM becomes essential. Suggests HubSpot Free or Attio Free as zero-cost starting points. Result: User knows the inflection point and has a no-risk way to start.
Symptom: Low adoption, reps still using spreadsheets or email Cause: Usually insufficient training or the CRM doesn't match the actual sales workflow Solution: Pick the CRM that matches how the team already works (pipeline-first for deal-centric teams, inbox-first for relationship-centric teams). Schedule a 1-hour hands-on session, not a slide deck. Make CRM the single source of truth by requiring it for forecasting and commission tracking.
Symptom: Fear of steep pricing jump when outgrowing free tier Cause: HubSpot's paid tiers jump significantly ($0 → $45-$800+/mo) Solution: Export contacts and deals regularly. Avoid building critical workflows in HubSpot-specific features you can't replicate elsewhere. If budget is a real constraint at scale, evaluate Attio or Zoho before upgrading to HubSpot paid.
Symptom: Contacts in CRM, deals in spreadsheets, emails in Gmail, notes in Slack
Cause: CRM wasn't set up as the single source of truth from the start
Solution: Use /sales-integration to connect systems. Prioritize email sync (bidirectional) and calendar sync first. Then use /sales-data-hygiene to deduplicate and clean records across systems.
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.