skills/sales-field-sales/SKILL.md
Hyperlocal field-sales strategy — door-to-door / territory / route-based outbound to cash-heavy local SMB owners (restaurants, gas stations, convenience stores, salons, gyms, contractors, HVAC, lawn care) who ignore email cadences and aren't on database providers like Apollo or ZoomInfo. Covers corridor and territory target-list building from local sources (Google Maps Places API, Yelp Fusion, Foursquare, Outscraper, Phantombuster local-business scrapers — NOT Apollo), route planning and density optimization, in-person pitch frameworks for 60-second clerk encounters, objection handling for cash-heavy owners, non-email follow-up via SMS/handwritten note/phone, and platform selection across SalesRabbit, Spotio, Map My Customers, Badger Maps, Outfield, Repsly, Skynamo, and Geopointe. Use when planning a single-corridor pilot before multi-city expansion, can't find local SMBs on Apollo or ZoomInfo, an email cadence isn't getting replies from restaurant or gas-station owners, deciding which field-sales platform to pick for a small rep team, designing a 60-second clerk pitch, or following up on an in-person 'maybe' without an email sequence. Do NOT use for database-driven B2B SaaS prospect lists (use /sales-prospect-list) or digital email/LinkedIn cadences (use /sales-cadence).
npx skillsauth add sales-skills/sales sales-field-salesInstall 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.
This skill is tool-agnostic. It covers how to plan, target, pitch, and follow up on door-to-door / territory / route-based outbound to cash-heavy local SMBs — the kind that don't show up in Apollo and don't reply to cold email.
If references/learnings.md exists, read it first.
What's the motion?
What's the SMB vertical? (restaurants, gas stations, convenience stores, salons, gyms, contractors, HVAC, lawn care, mobile detailing, courier — drives the right pitch and objection framework)
What's the local-data source you've tried? (Google Maps, Yelp, Foursquare, an LLM, paid scrapers, or nothing yet)
Are you the founder doing the canvassing yourself, or building a rep team? (drives platform selection)
Skip-ahead rule: if the user's prompt already has these details, skip to Step 2.
| If the question is about... | Route to... |
|---|---|
| Database B2B SaaS prospect lists (Apollo, ZoomInfo, Clay) | /sales-prospect-list [question] |
| Digital email / LinkedIn / phone sequences | /sales-cadence [question] |
| Reviewing a recorded in-person call for coaching | /sales-siro [question] |
| Two-sided marketplace GTM (cold-start sequencing, supply recruiting, flywheel) | /sales-two-sided-marketplace [question] |
| Local SEO and Google Business Profile for inbound demand | /sales-seo [question] |
| Cold email deliverability (when you also have a digital channel) | /sales-deliverability [question] |
If the question is genuinely about field-sales execution, continue to Step 3.
Read references/platforms.md for per-platform notes on SalesRabbit, Spotio, Map My Customers, Badger Maps, Outfield, Repsly, Skynamo, and Geopointe — what each is best at, team-size fit, vertical fit, and the rough pricing band.
Answer using only the relevant platform sections. Don't dump the full file.
The hyperlocal field-sales motion has six pillars. Work them in order on a new pilot.
Cash-heavy SMBs aren't on Apollo. The right data sources are local-business APIs and scrapers.
| Source | What it's for | Cost | Best fit | |---|---|---|---| | Google Maps Places API | Authoritative business directory + hours + category | Pay-per-request | Any corridor list | | Yelp Fusion API | Categories + ratings + photo proof | Free tier, then paid | Restaurant / hospitality | | Foursquare Places API | Foot traffic + category richer than Google | Free tier | Retail-heavy corridors | | Outscraper | Google Maps / Yelp / Foursquare scraping at scale | $50-200/mo flat | When API rate limits bite | | Phantombuster | Generic scraping for niche directories | $69/mo+ | Salon / gym / contractor sites | | Manual + walk-by audit | Validate the scrape against what's actually open | Time only | First corridor only — always do this once |
Corridor heuristic: start with a 10-15 stop walking corridor. Density beats sparseness. A 50-stop sparse city beats nothing, but a 15-stop dense walk converts faster per hour.
Most pitches land with a clerk, not the owner. Optimize for the clerk.
Hook → Proof → Ask → Leave-behind:
The clerk-is-not-the-buyer flip: if the clerk says "I don't mind cleaning the bathrooms," that's a recruiting signal, not a rejection — but route to /sales-two-sided-marketplace for the supply-recruiting layer if you're building a marketplace.
Cash-heavy owners have a fundamentally different objection set than SaaS buyers.
Do NOT use email cadences. Owners don't open email. Use this order:
| Touch | Timing | Channel | Content | |---|---|---|---| | 1 | Same day, evening | SMS to owner | "Hey [name], met your clerk [name] today at [place]. Sending the one-pager — let me know if you want to try one visit on us." | | 2 | Day +4 | Handwritten note dropped at the location | Single sentence + your number. The fact that you came back beats anything you write. | | 3 | Day +10 | Phone call | "Hey [name], just checking — want to set up that first visit?" |
Stop after 3 touches. If no reply, they're a no for now — circle back in 60-90 days when the corridor matures.
See references/platforms.md for full per-platform notes. Quick decision pivot:
If you discover something not covered here, append it to references/learnings.md with today's date.
Best-effort from research and field experience — verify pricing and feature gates against current vendor pages.
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), read that platform skill's actual SKILL.md first. The 1-line description in ## Related skills is enough to identify a candidate — not enough to commit to it or to write a prompt that invokes it well.
How to read it: if ~/.claude/skills/{skill-name}/SKILL.md exists locally, Read it. Otherwise WebFetch https://raw.githubusercontent.com/sales-skills/sales/main/skills/{skill-name}/SKILL.md.
After reading, ground your recommendation in something concrete from the SKILL.md (its scope, an argument-hint shape, or a "Do NOT use for..." clause). If the platform skill turns out to be a poor fit, swap to another or handle the question here directly.
/sales-prospect-list — Database-driven B2B SaaS prospect lists (Apollo, ZoomInfo, Clay) — the digital-channel alternative when targets ARE on databases/sales-cadence — Digital email / LinkedIn / phone outbound sequences — for prospects who respond to digital/sales-siro — Field-sales recording and AI call coaching — for reviewing recorded in-person calls after the visit/sales-outscraper — Google Maps / Yelp / Foursquare scraping — the canonical data source for building corridor target lists/sales-seo — Local SEO and Google Business Profile — drives inbound demand alongside outbound corridor canvassing/sales-deliverability — Email deliverability — only relevant if you have a digital channel alongside the field motion/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 run a bathroom-cleaning service for restaurants. How do I pick a corridor and pitch the first 15 stops?" Skill does: Recommends building a Google Maps Places API pull for a 2-mile walking corridor (dense restaurant zone), filters to independent restaurants (skip franchised chains), sequences stops by time-of-day window (before 11am or 2-4pm), provides the 60-second clerk hook → proof → ask → leave-behind structure for restaurants, and the same-day SMS / day-4 handwritten / day-10 phone follow-up cadence. Suggests starting with Badger Maps free trial for routing if going solo. Result: User has a corridor list, a daily route plan, a pitch frame, and a 3-touch follow-up — ready to walk Tuesday morning.
User says: "We have 6 HVAC field reps now and want to expand from Phoenix to Tucson. Which platform and how should we plan routes?"
Skill does: Routes to references/platforms.md, surfaces SalesRabbit and Spotio as the leading candidates for a 6-rep HVAC team (SalesRabbit for home-services-native, Spotio for territory-mapping depth), recommends Spotio if multichannel digital is in the mix and SalesRabbit if pure D2D, suggests piloting one corridor in Tucson before full expansion, references the density-over-sparseness rule. Notes pricing in the reference is best-effort.
Result: User picks a platform, runs a single-corridor Tucson pilot before committing to multi-territory expansion.
User says: "I tried walking a restaurant corridor and the clerks all said the owner wasn't there. How do I fix the pitch?" Skill does: Diagnoses the clerk-as-gate problem, gives the Hook → Proof → Ask → Leave-behind structure with the explicit "ask the clerk what they need to pass it up" step, recommends capturing owner name + best time to come back instead of pushing, sets up the same-day SMS to the owner (if the clerk volunteers a phone) or a day-2 return visit with a handwritten note. Reminds the user that email follow-up after a clerk encounter doesn't work. Result: User has a clerk-respecting pitch that converts "owner not here" from a dead end into a captured next-step.
Symptom: Three walks of the corridor, never met an owner Cause: Wrong time-of-day window, or pushing past the clerk's stated limit Solution: For restaurants, switch to 10-11am or 2-4pm windows. For gas stations / C-stores, try 10am-noon. Always end the encounter with "what time tomorrow would I catch [name]?" — the answer is the next visit.
Symptom: Owner said "sounds good, send me details" — then nothing Cause: You emailed the details. Owners don't open email. Solution: Switch to SMS the moment they say yes. Send a same-day text with a one-line summary and a single CTA: "Want to start with one visit on us this week?" Follow up with a handwritten drop and a phone call per the 3-touch frame.
Symptom: The list is "Subway corporate" not the local Subway owner Cause: Database providers index marketing-listed entities, not local operators Solution: Switch to Google Maps Places API or Outscraper as the corridor source. Do a walk-by audit on the first corridor to verify what's actually open and independent. Skip franchised chains entirely unless the local owner is also the GM.
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.