← Vault Index
Source: business/marketing/campaigns/practice-command-center/02-hidden-revenue-scan-skill.md

name: hidden-revenue-scan description: > Find revenue hiding in your existing client relationships. Paste recent client emails and get back: every signal that this client needs more from you, what each signal means in dollars, and the exact email to open the conversation. Run it monthly per client. The revenue is already there — this skill shows you where. Triggers: "hidden revenue", "revenue scan", "find hidden revenue", "what am I leaving on the table", "client upgrade", "invisible work", "am I undercharging", "revenue signals", or any request to find revenue opportunities in existing client relationships. metadata: author: Kathryn Brown, Advisory OS version: "1.1.0" updated: "2026-04-16"


Hidden Revenue Scan

Find the revenue hiding in relationships you already have. Paste emails, see what you're missing, walk away with the email already written.

Core Principle

Revenue hides in language. Clients don't say "I need to pay you more." They say things that mean that — questions that are buying signals, complaints that are scope gaps, compliments that are upgrade opportunities, silences where there used to be engagement. This skill reads for those signals because most practice owners are too close to the relationship to see them.

What This Skill Does

Step 1: The Interview. Before any scan runs, answer these 5 questions. The skill cannot produce accurate signals without this context — it's not optional.

  1. What does this client pay you, and what does that cover? (e.g., "$2,500/mo for operations system builds — 4 sessions/month plus async support")
  2. How long have you worked together?
  3. When was pricing last set?
  4. What's changed since pricing was last set? (e.g., "Started with one workstream, now running 3. Added AI coaching that wasn't in the original scope.")
  5. What services do you offer that this client doesn't currently buy? (e.g., "I also do hiring process design and team training — she's never asked about either.")

Step 2: Paste 3-5 recent pieces of correspondence from one client — emails from them, to them, session recaps, session transcripts, call notes, any recent correspondence. Raw source material only. Do not paste summaries, briefs, or processed output — the skill needs the original language to detect signals accurately.

The skill reads the input and produces a scan that does 3 jobs:

Job 1: Signal Detection — Every phrase, pattern, or absence in the correspondence that indicates this client needs more from you than they're currently getting. Not guesses. Specific language mapped to specific revenue signal types. The things you'd catch if you read every email asking "where's the money I'm not seeing?" instead of "what do I need to do next?"

Job 2: Revenue Translation — What each signal means in practical terms. Not dollar amounts pulled from thin air — a structured read of what kind of revenue each signal points to (scope expansion, new service line, price adjustment, retention risk that becomes replacement cost) and how to think about sizing it.

Job 3: Upgrade Scripts — The exact email to send for each opportunity identified. Not "consider discussing pricing." The actual message — subject line, body, specific framing tied to what the client said that created the opening. Written so you can send it today.

The Scan: Section by Section

1. Client Snapshot

2-3 sentences. Who is this client, what's the current engagement scope, how long have they been a client. Context so the revenue signals that follow make sense. Pulled directly from the correspondence — don't infer what isn't there.

2. Revenue Signal Map

This is the core of the scan. Every signal detected, categorized by type.

6 signal types to scan for:

Scope Creep Signals — Work being done outside the original agreement. 4 patterns to detect:

Unmet Need Signals — Problems the client mentions that map to services you offer but aren't selling them. Detection patterns:

Upgrade Signals — Language that means "I'm ready for more." Detection patterns:

Price Misalignment Signals — Evidence the engagement has outgrown its pricing. Detection patterns:

Retention Risk Signals — Revenue about to leave. Detection patterns:

Referral Readiness Signals — The client is ready to send you business but nobody's asked. Detection patterns:

Format per signal:

SignalTypeQuote/EvidenceWhat It Means
[What you detected][Which of the 6 types][Exact language or pattern from the input][Plain English: what this tells you about revenue]

3. The Invisible Work Audit

Scan the correspondence for evidence of work being done but not billed. Check each of these 7 hidden value areas:

  1. Pre-project research & diagnostics — Custom prep, building dashboards, reviewing data, setting up tools, scoping work before the engagement officially covers it.
  2. Custom materials & templates — Guides, frameworks, checklists, documents created specifically for this client that weren't part of the original scope.
  3. Between-session support — Questions answered, problems troubleshot, fires put out between scheduled meetings or milestones.
  4. Project management & coordination — Vendor communication, team coordination, scheduling, follow-up that's operational work, not advisory work.
  5. Training & documentation — Onboarding, process documentation, training materials for the client's team. Work that builds client capability but isn't billed as a separate service.
  6. Post-delivery follow-up — Check-ins, troubleshooting, feedback loops after deliverables are handed off. The "making sure it stuck" work.
  7. Strategic thinking & advisory — Expert judgment applied casually in emails — recommendations, warnings, pattern recognition that would be a paid consultation in a formal context.

For each area where evidence exists, add a row to the table:

AreaWork IdentifiedEvidenceFrequencyStatus
[Which of the 7 areas][Specific work][Citation from correspondence][One-time / Weekly / Per session / Every email][Billed / Not billed / Unclear]

One row per item. Keep each cell short — the table should be scannable in a single glance. The Evidence column cites the specific session or email, not a paragraph of context.

If the input doesn't contain enough evidence to identify invisible work in an area, skip it. Don't fabricate. If no invisible work is detected across any area, say: "No invisible work patterns detected from available correspondence — this may mean the engagement is well-scoped or the correspondence doesn't capture the full picture."

4. Revenue Opportunity Summary

A table that consolidates everything from the Signal Map into actionable opportunities, ranked by a combination of confidence (how clear the signal is) and size (how much revenue it likely represents).

PriorityOpportunitySignal TypeConfidenceSizing LogicRecommended Action
1[What the opportunity is][Type]High/Medium/Low[Why you think this is significant — not a dollar guess, but the reasoning][One line: what to do]
2...

3-5 opportunities maximum. If the scan surfaces more, prioritize: highest confidence first, largest likely impact second, easiest conversation third.

5. Upgrade Scripts

For each opportunity in the summary, two response options. This is where the scan becomes money.

Format per opportunity:


Opportunity: [Name from summary] Signal: [Which signal triggered this — cite evidence]

Option A: Open the Conversation (Billable Upgrade)

Subject: [Ready to send]

[Complete email body. First person. Natural language. Ties directly to something the client said or did. The email should:

Option B: Strategic Bookmark

[A shorter message that flags the opportunity for a future conversation without pushing now. Use when: the relationship is new, the client is already stretched, timing isn't right, or you want to plant the seed before opening the door. This option keeps the door open without creating pressure.]


Rules for scripts:

Quality Check (Internal — never shown to the user)

This section is an internal gate. Run it silently before presenting. Use it to correct the scan. Do not include the Quality Check in the output. The user should never see a Pass/Fail table or a "weakest script rewrite" note — they should see a finished scan with scripts that have already been through the gate.

This skill produces emails the user may send to paying clients — the QC bar is higher than an internal analysis.

Before presenting, verify internally against five checks:

CheckQuestion
Signal evidenceDoes every signal in the Revenue Signal Map cite a specific quote or pattern from the emails? "Client seems ready for more" fails. "Client asked about onboarding process on March 12" passes.
No fabricationDid the Invisible Work Audit only flag work visible in the correspondence? Did revenue sizing use logic, not dollar guesses?
Script sendableWould the user paste each upgrade script into an email and hit send without editing? Read at inbox speed.
Script toneDoes each script frame the conversation as valuable for the client — not as "pay me more"?
SpecificityDoes each script reference something specific from this client's correspondence — a detail only someone who read the emails would know?

Enforcement rules:

  1. Failed checks: If any script fails a check, rewrite it before presenting. The output contains only the corrected script — no flag, no note about what was fixed.
  1. Weakest script: If there are 2+ opportunities with scripts, rank them internally and rewrite the weakest before presenting. Verify the rewrite internally: quote the original line(s) and replacement to yourself, then confirm the replacement is in the final output.
  1. Missing data: If the emails don't contain enough information to support a signal, do not include it in the Signal Map. If a signal type has no evidence, skip it. "No [signal type] signals detected in this correspondence" is an honest result that appears in the output.

What the user sees: The Client Snapshot, Revenue Signal Map, Invisible Work Audit, Revenue Opportunity Summary, and Upgrade Scripts. No Quality Check section.


Rules

Output Format

# Hidden Revenue Scan

| | |
|---|---|
| **Client** | [Name or identifier] |
| **Date** | [Today's date] |
| **Based on** | [X emails/transcripts/notes from/to client, date range] |
| **Current engagement** | [Scope summary if identifiable] |

---

## Revenue Signal Map

| Signal | Type | Quote/Evidence | What It Means |
|--------|------|---------------|---------------|
| [Signal] | [Type] | [Quote] | [Translation] |
| [Signal] | [Type] | [Quote] | [Translation] |

**[X] signals detected across [Y] signal types.**

---

## Invisible Work Audit

| Area | Work | Evidence | Frequency | Status |
|------|------|----------|-----------|--------|
| [Area] | [Specific work] | [Citation] | [Estimate] | [Billed / Not billed / Unclear] |
| [Area] | [Specific work] | [Citation] | [Estimate] | [Billed / Not billed / Unclear] |

**[X] items identified across [Y] of 7 value areas. [If none: "No invisible work patterns detected from available correspondence."]**

---

## Revenue Opportunity Summary

| Priority | Opportunity | Signal Type | Confidence | Sizing Logic | Action |
|----------|------------|-------------|------------|-------------|--------|
| 1 | [Opportunity] | [Type] | [H/M/L] | [Reasoning] | [One line] |
| 2 | [Opportunity] | [Type] | [H/M/L] | [Reasoning] | [One line] |
| 3 | [Opportunity] | [Type] | [H/M/L] | [Reasoning] | [One line] |

---

## Upgrade Scripts

### [Opportunity 1 Name]

**Signal:** [Evidence citation]

**Option A: Open the Conversation**
**Subject:** [Subject line]
[Complete email — ready to send]

**Option B: Strategic Bookmark**
[Complete email — ready to send]

---

### [Opportunity 2 Name]

**Signal:** [Evidence citation]

**Option A: Open the Conversation**
**Subject:** [Subject line]
[Complete email — ready to send]

**Option B: Strategic Bookmark**
[Complete email — ready to send]

What Makes This Different

Most "upsell" tools tell you to upsell. This skill tells you what specific signal in the last email your client sent means they're ready for a conversation they're hoping you'll start.

The difference between "you should raise your prices" and "your client mentioned hiring two new team members on Tuesday — that's an onboarding system build, and here's the email to open that conversation."

Practice owners with 10-30 clients have revenue hiding in plain sight. Not in their pipeline. Not in their prospects. In the emails they're already reading. They just aren't reading them with a revenue lens. Now a skill does it.

Pair this with the Client Intelligence Brief skill: that skill tells you how to show up for the call. This skill tells you what the call is worth.