A Claude Skill that scans every CSM call and usage spike across your customer base and surfaces concrete expansion signals: new use cases mentioned, additional teams onboarding, integration questions about premium-tier features, and asks for capabilities that map to your upsell SKUs. Drops a weekly digest with a ranked list per CSM.
What you’ll need
- Gong access to CSM calls (separate from sales calls)
- Gainsight for usage anomaly detection
- Claude Code or Claude.ai with the Skill installed
- A signal taxonomy mapping mentions to specific upsell SKUs
- A Slack or email destination for the weekly digest
Setup
- Build the signal taxonomy. Edit
references/expansion-signals.mdwith each upsell SKU and the trigger phrases or usage patterns that indicate intent. Be specific: not “more users,” but “asked about pricing for 50+ seats” or “mentioned compliance requirements.” - Install the Skill. Drop
expansion-signals.skillinto~/.claude/skills/. SetGONG_API_KEYandGAINSIGHT_TOKEN. - Run weekly.
detect_expansion(window_days=7). The Skill scans every CSM call from the window plus every usage spike of more than 30% week-over-week, then maps signals to SKUs and ranks by deal-size potential. - Route the digest. Output goes to a
#csm-expansionSlack channel and an email to each CSM with their personalized list. Top 3 per CSM, not 30.
How it works
For each CSM call, the Skill runs an extraction prompt: “Find any mention of additional teams, use cases beyond the current scope, premium feature interest, or stated business goals that imply expansion.” Each match is logged with a quote and a confidence score.
For usage, it pulls Gainsight usage events and finds accounts with anomalous spikes — particularly in features that are gated by tier. A free-tier account hitting an enterprise-only feature limit is a signal. A team that just doubled active users is a signal.
Claude then synthesizes per-account: combines call signals with usage signals, scores expansion likelihood, names the most likely SKU, and suggests an opening line for the CSM to use in the next conversation.
Watch-outs
- Signal fatigue. Don’t surface 30 signals per CSM. Rank to 3. Anything beyond is ignored.
- CSM call coverage. If CSMs aren’t logging calls, the conversation half of the signal set is empty. Audit coverage before relying on this.
- Misclassified signals. “We’re thinking about leaving” can sound like “we’re thinking about expanding” to a careless prompt. Build negative examples into the Skill prompt.
Stack
- Gong — CSM call corpus
- Gainsight — usage anomaly source
- Claude — signal extraction, mapping, ranking