# Upsell Detection **Skill:** `/upsell-check ` **Type:** Claude Code skill (analysis pattern) --- ## What It Does Analyzes a customer's current engagement to identify natural expansion opportunities. It reads the customer profile, the full service menu, the latest performance report, and meeting notes, then scores potential upsell opportunities based on fit, timing, and signals. The core rule: never recommend expansion if the current services are not performing yet. Upsells should come from success, not from a gap the current engagement has not addressed. --- ## How It Works ``` /upsell-check | v +---------------------------+ | Read customer profile | | (current scope, goals) | +-------------+-------------+ | v +---------------------------+ | Read full service menu | | (all available services) | +-------------+-------------+ | v +---------------------------+ | Read latest performance | | report (results so far) | +-------------+-------------+ | v +---------------------------+ | Read meeting notes | | (signals, complaints, | | questions, requests) | +-------------+-------------+ | v +----------------------------------------------+ | ANALYSIS ENGINE | | | | 1. Map current scope vs available services | | 2. Check: are current services performing? | | 3. Scan meeting notes for expansion signals | | 4. Score each opportunity (fit + timing) | | 5. Draft approach for top opportunities | +----------------------------------------------+ | v Upsell Opportunity Report ``` --- ## Usage ```bash # Run upsell check for a customer /upsell-check acme # The skill reads from: # customers/acme/profile.md # customers/acme/reports/ (latest report) # customers/acme/meetings/ (all meeting notes) # services/service-menu.md (full service catalog) ``` --- ## Signal Detection The skill looks for these types of expansion signals in meeting notes and reports: | Signal Type | Examples | |-------------|----------| | **Direct request** | "Can you also help with LinkedIn?" / "We need help with HubSpot" | | **Pain mention** | "Our CRM is a mess" / "We don't track any of this" | | **Capacity signal** | "We're hiring 3 more SDRs" / "Expanding to EMEA" | | **Results signal** | Current campaigns hitting >5% reply rate (ready for volume increase) | | **Tool mention** | "We just bought Clay" / "We're evaluating HubSpot" | | **Frustration signal** | "Our current [tool/process] is not working" | | **Growth signal** | "We just raised a round" / "Revenue is up 40%" | --- ## Scoring Framework Each opportunity is scored on two axes: ### Fit Score (1-5) | Score | Criteria | |-------|----------| | 5 | Customer explicitly asked for this service | | 4 | Strong signal + natural extension of current work | | 3 | Moderate signal + we have proven capability | | 2 | Weak signal but logical next step | | 1 | No signal, just available in our menu | ### Timing Score (1-5) | Score | Criteria | |-------|----------| | 5 | Current services performing well + customer asked now | | 4 | Current services performing well + clear near-term need | | 3 | Current services performing adequately + opportunity exists | | 2 | Current services still ramping -- wait for results first | | 1 | Current services underperforming -- fix first, upsell later | ### Priority = Fit x Timing | Priority | Score Range | Action | |----------|------------|--------| | High | 16-25 | Bring up in next meeting | | Medium | 9-15 | Mention casually, gauge interest | | Low | 1-8 | Note for future, do not raise yet | --- ## The Core Rule **Do not recommend expansion if current services are not performing.** If the latest report shows below-benchmark results, the upsell check will: 1. Flag the underperformance 2. Recommend fixing current scope first 3. Only surface opportunities with Timing Score of 1-2 4. Explicitly state: "Resolve current performance gaps before proposing expansion" This protects the relationship. Customers trust you more when you fix what you sold them before trying to sell them more. --- ## Output Format ```markdown # Upsell Opportunity Report: Customer Name **Generated:** 2026-02-22 **Current Scope:** LinkedIn outreach (4 campaigns), weekly reporting **Current Performance:** On track (4.8% reply rate, 3 meetings/week) --- ## Current Scope Assessment | Service | Status | Notes | |---------|--------|-------| | LinkedIn Outreach (4 campaigns) | Performing | 4.8% reply rate, above benchmark | | Weekly Reporting | Active | Delivered on schedule | **Verdict:** Current services are performing well. Safe to explore expansion. --- ## Opportunities Identified ### 1. Email Outreach (SmartLead) **Fit:** 5/5 -- Customer asked about email in last meeting **Timing:** 5/5 -- LinkedIn performing, ready for second channel **Priority:** HIGH (25) **Signals:** - Meeting note (Feb 15): "We should add email to complement LinkedIn" - Current LinkedIn reply rate supports adding a parallel channel - Customer already has domain infrastructure **Approach:** In next meeting, present a proposal for 2 email campaigns mirroring the top-performing LinkedIn angles. Frame it as amplifying what is already working. **Estimated scope:** 8-12 hours setup + ongoing management --- ### 2. CRM Cleanup (HubSpot) **Fit:** 3/5 -- Customer mentioned CRM issues but did not ask for help **Timing:** 3/5 -- Current services performing, but this is adjacent work **Priority:** MEDIUM (9) **Signals:** - Meeting note (Feb 8): "Our HubSpot is a disaster, nothing is tagged" - Replies from campaigns are not being tracked in CRM **Approach:** Do not pitch directly. Instead, show them a quick example of how campaign replies could flow into HubSpot automatically. Let them ask for it. **Estimated scope:** 15-20 hours one-time cleanup --- ### 3. Content Creation (LinkedIn Posts) **Fit:** 2/5 -- No direct signal, but logical brand play **Timing:** 2/5 -- Not urgent, current focus should stay on outbound **Priority:** LOW (4) **Signals:** - CEO's LinkedIn profile has low activity - No direct request or mention **Approach:** Do not raise yet. Revisit in 4-6 weeks if outbound performance sustains and customer has bandwidth. --- ## Summary | Opportunity | Fit | Timing | Priority | Action | |------------|-----|--------|----------|--------| | Email Outreach | 5 | 5 | HIGH (25) | Propose in next meeting | | CRM Cleanup | 3 | 3 | MEDIUM (9) | Show value, let them ask | | Content Creation | 2 | 2 | LOW (4) | Revisit in 4-6 weeks | ``` --- ## Key Files | File | Purpose | |------|---------| | `SKILL.md` | This file -- skill documentation | The analysis is performed directly by Claude Code. There is no standalone script -- Claude Code reads customer data, applies the scoring framework, and writes the opportunity report in a single session.