ooligo
claude-skill

Detect expansion signals in CSM calls and usage

Difficulty
intermediate
Setup time
45min
For
revops · csm
RevOps

Stack

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

  1. Build the signal taxonomy. Edit references/expansion-signals.md with 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.”
  2. Install the Skill. Drop expansion-signals.skill into ~/.claude/skills/. Set GONG_API_KEY and GAINSIGHT_TOKEN.
  3. 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.
  4. Route the digest. Output goes to a #csm-expansion Slack 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