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.
- 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")
- How long have you worked together?
- When was pricing last set?
- 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.")
- 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:
- Creeping Normalization: "Quick asks" that expanded into ongoing access. Look for: requests that start with "while you're at it," "could you also just," "one more thing." If these appear across multiple emails, the scope has silently expanded.
- Expertise Trap: Work that feels easy to the provider so they undervalue it. Look for: complex questions answered in email that would be a paid consultation elsewhere. The client treats it as casual; it's actually expert advisory.
- Gratitude Discount: Nice clients getting more than what's scoped. Look for: provider volunteering extra help, going beyond deliverables, adding "one more thing" unprompted.
- Absorbed Operations: Tasks the provider took on that belong inside the client's organization. Look for: admin coordination, vendor management, internal follow-ups, anything that isn't the provider's expertise but they're doing anyway.
Unmet Need Signals — Problems the client mentions that map to services you offer but aren't selling them. Detection patterns:
- Frustration with a third party doing work you could do
- Questions about your other capabilities
- Problems described as if nobody can help — but you solve this
- Hiring or looking to hire for something you deliver
- Workarounds the client is using that indicate a capability gap
Upgrade Signals — Language that means "I'm ready for more." Detection patterns:
- Increased engagement frequency (more emails, more questions)
- Asking about your process, not just your output
- Introducing you to other stakeholders (expanding your footprint)
- Growth language: "next quarter," "when we," "as we scale," "new hires," "new market"
- Asking what else you do or how other clients use you
Price Misalignment Signals — Evidence the engagement has outgrown its pricing. Detection patterns:
- Scope conversation hasn't happened in over a year
- Provider time investment significantly exceeds what the fee covers (look for email volume, response frequency, off-hours replies as proxy signals)
- Client's business has grown materially since pricing was set (new hires, new clients, new locations mentioned)
- Enterprise-level attention at SMB pricing — complexity of requests has escalated
- Energy Drain Trap: Provider sounds depleted in responses despite client being appreciative. Misalignment between effort and compensation creates quiet resentment visible in tone.
Retention Risk Signals — Revenue about to leave. Detection patterns:
- Response times getting longer
- Fewer questions asked, less information volunteered
- Shorter emails where previous ones were detailed
- Cancellations or reschedules increasing
- "Going through the motions" language — replies that are procedural, not engaged
- Silence on topics that were previously active (may indicate avoidance)
Referral Readiness Signals — The client is ready to send you business but nobody's asked. Detection patterns:
- Unprompted praise in emails
- Mentioning your work to colleagues (CC'ing people, forwarding threads)
- Asking if you work with other firms like theirs
- "You should talk to my friend who..." language
- Asking about your capacity or availability (testing whether you have room)
Format per signal:
| Signal | Type | Quote/Evidence | What 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:
- Pre-project research & diagnostics — Custom prep, building dashboards, reviewing data, setting up tools, scoping work before the engagement officially covers it.
- Custom materials & templates — Guides, frameworks, checklists, documents created specifically for this client that weren't part of the original scope.
- Between-session support — Questions answered, problems troubleshot, fires put out between scheduled meetings or milestones.
- Project management & coordination — Vendor communication, team coordination, scheduling, follow-up that's operational work, not advisory work.
- 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.
- Post-delivery follow-up — Check-ins, troubleshooting, feedback loops after deliverables are handed off. The "making sure it stuck" work.
- 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:
| Area | Work Identified | Evidence | Frequency | Status |
|---|---|---|---|---|
| [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).
| Priority | Opportunity | Signal Type | Confidence | Sizing Logic | Recommended 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:
- Reference something specific from the correspondence (the signal)
- Name the problem or opportunity without making the client feel criticized
- Propose a specific next step (not "let's discuss" — what specifically)
- Position the addition as valuable, not as "you need to pay me more"
- Be short enough to send from a phone]
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:
- Both options are complete, ready-to-send emails. No brackets to fill in, no "[insert detail]" placeholders.
- Never frame the upgrade as "you need to pay me more." Frame it as "I noticed something that might be worth addressing."
- Each script must reference a specific signal from the scan — no generic templates.
- If the opportunity is a price adjustment, frame it around scope evolution, not "I'm raising rates." The scope has grown — the pricing should reflect what you're actually delivering.
- If the opportunity is a new service, frame it around a problem they've already named, not a service you want to sell.
- If the opportunity is an invisible work formalization, frame it around making the arrangement sustainable for both sides.
- The client should read the email and think "that's exactly what I was thinking about."
- Never shame the client. Never apologize for professional scoping.
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:
| Check | Question |
|---|---|
| Signal evidence | Does 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 fabrication | Did the Invisible Work Audit only flag work visible in the correspondence? Did revenue sizing use logic, not dollar guesses? |
| Script sendable | Would the user paste each upgrade script into an email and hit send without editing? Read at inbox speed. |
| Script tone | Does each script frame the conversation as valuable for the client — not as "pay me more"? |
| Specificity | Does each script reference something specific from this client's correspondence — a detail only someone who read the emails would know? |
Enforcement rules:
- 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.
- 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.
- 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
- No dollar amounts without evidence. Do not estimate "$50K opportunity" unless the correspondence contains enough information to support a specific number. Use sizing logic ("this is a scope expansion that would typically represent 20-30% of current engagement value") instead of fabricated figures.
- No paragraphs in the output. Every section uses tables, checklists, label/value pairs, or single-sentence lines. This is a scanning tool, not a report.
- One client per scan. Don't mix correspondence from multiple clients.
- Don't assume services. If the correspondence doesn't mention what services the practice offers, ask. The skill can't identify unmet needs without knowing what's available to sell.
- Scripts must be sendable. Every email script should be ready to copy-paste and send. No brackets to fill in, no "[insert specific detail]" placeholders. If there isn't enough information to write a complete script, say what's missing.
- Revenue signals require evidence. Every signal in the map must cite specific language, patterns, or absences from the input. "Client seems like they might need more" is not a signal. "Client asked about onboarding process for new hires on March 12 — you offer onboarding system builds" is a signal.
- Output as a markdown file. Name the file:
[client-name]-revenue-scan-[YYYY-MM-DD].md
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.