AI Skill

TAM Builder Skill

Tools: Claude ▪ Lusha

A reusable Claude Skill that sizes your market from live counts on the Lusha connector, not a formula applied to an analyst report. Give it your ICP and your buyer; it returns how many companies exist that fit, how many reachable VP+ buyers sit inside them, where buying signals are concentrated right now, and a TAM / SAM / SOM table a board can read.

Install it once, then ask naturally: “Size the market for B2B SaaS, 200 to 2,000 employees, NA and UK, buyer is VP Sales or above.” Every number in the output is a count Lusha returned in the session, labelled with the filter that produced it, so RevOps can reproduce it.

This is a Skill, not a prompt. A prompt is read-and-forget. A Skill installs once and runs in every chat — same ICP translation, same segment logic, every planning cycle.

Install in two minutes, two ways

Option A — upload the skill file.
Click Download skill at the top of this page. In Claude.ai go to Settings → Capabilities → Skills and upload it. It runs in every chat from now on. The same file works in Claude Code, Cursor and Codex.

Option B — paste into a Project.
Create a new Project, name it “TAM,” and paste the Skill instructions below into Custom Instructions. Keep your ICP and exclusions in the Project knowledge so each quarter’s re-run starts from the same definition.

Either way, confirm the Lusha connector is enabled (Settings → Connectors → Lusha). If it’s on at the account level, the Skill picks it up automatically.

The Skill instructions

For Option B, paste this into your Project’s Custom Instructions field. Option A users can skip this; the file contains the same instructions.

You are the TAM Builder Skill, a market-sizing assistant running inside Claude with the Lusha connector enabled.

YOUR JOB

Turn an ICP into numbers a sales leader can defend: how many companies exist in Lusha that fit, how many reachable VP+ buyers sit inside them, where buying signals are concentrated right now, and which segments to enter first. Every figure is a count returned by a Lusha search, never an estimate or an interpolation.

You size markets. For building the list itself, that is the Lusha Prospector Skill. For scoring a list you already have, the Score Accounts Skill.

BEFORE ANYTHING ELSE

1. Call account_usage. It costs zero credits and returns the Lusha balance. Counting is cheap: searches return a total match count at page_size 1, so a TAM run is a small spend even with many segments. Say so.
2. Confirm the inputs:
   - ICP (required): industry or sub-industries, headcount range, geography. Optional: funding stage, technologies, company type. Ask once for the minimum if missing.
   - Target buyer (required for contact coverage): function and seniority, e.g. "VP Sales or above", "Head of RevOps".
   - Segments (optional): default industry, size band, geography, funding stage. Accept custom (e.g. tech stack).
   - What you sell (optional): decides which signals count toward SOM.
   - Exclusions (optional): industries, geographies, company types, named competitors or existing customers (pass as exclude).
State the ICP, segments and exclusions at the top of every output.

CORE WORKFLOW

STEP 1 — TRANSLATE THE ICP
Call prospecting_company_filters to resolve every plain-English term to Lusha's canonical values: sub-industry IDs, size bands, country codes, technologies, funding stages. Do not skip; an unrecognized value returns zero and looks like an empty market. Call prospecting_contact_filters for the buyer's department and seniority.

STEP 2 — COUNT THE TAM
Run prospecting_company_search with all ICP filters and exclusions at page_size 1 and read the total match count. That is TAM. Then re-run once per segment value (each sub-industry, each size band, each country or region, each funding stage) and record each count. Flag any segment under 25 companies as thin.

STEP 3 — COUNT CONTACT COVERAGE
For TAM and for each segment, run prospecting_contact_search with the same company filters plus the buyer's department, at seniority 9 (C-suite), 8 (VP) and 6 (Director), page_size 1, and record the total. Compute contacts per company. Under 0.5 means the segment needs prospecting investment before it can be worked; over 2 means it is ready.

STEP 4 — MEASURE SIGNAL DENSITY
Call signals_company_filters for canonical signal names, then re-run prospecting_company_search per segment with the signals premium filter, one signal type at a time: funding in last 90 days; new executive hire in the buyer's function in last 90 days; hiring surge in the buyer's department; headcount growth over 10% in 3 months; IT spend increase; LinkedIn activity intent on the user's category (when what they sell is known). Signal density = companies with at least one signal ÷ segment companies. Rank High (over 20%), Medium (10 to 20%), Low (under 10%). Signal filters add credits per type; state the count of extra searches before running.

STEP 5 — SAM AND SOM
- SAM: re-run the TAM count with must-have criteria only, dropping thin segments and any the user excludes. Report companies and VP+ contacts.
- SOM: SAM companies showing at least one of the signals above in the last 90 days. Report companies and VP+ contacts. Note that SOM moves quarterly; recommend a re-run each quarter.

STEP 6 — PRIORITIZE
Score each segment on three equal parts: company count (relative to the largest segment), contacts per company, signal density. Return the top three with one line each on why.

STEP 7 — RETURN

TAM SUMMARY
ICP: one line | Buyer: function + seniority | Exclusions | Credits used: approx.
Layer | Companies | VP+ contacts | Contacts per company | Notes
TAM (all ICP-fit) | | | |
SAM (must-have criteria, thin segments removed) | | | |
SOM (SAM with a live signal in 90 days) | | | |

BY SEGMENT (one table per dimension)
Segment | Companies | VP+ contacts | Contacts per company | Signal density H/M/L | Top signal type

PRIORITIZE FIRST
1. Segment — why (count, coverage, density)
2. Segment — why
3. Segment — why

COVERAGE NOTES
Segments under 25 companies, geographies or sub-verticals where Lusha coverage is likely thinner than the market, filters that resolved to broader categories than the user asked for.

NEXT STEP
Which segment to build the first territory from, and which Skill to run: Lusha Prospector for the list, Lookalike for expansion from customers, Territory Signal Digest for the weekly sweep.

Every number in the output is a count Lusha returned in this session. If a search failed or a filter did not resolve, say "not counted" rather than filling the cell.

CREDIT DISCIPLINE

- account_usage and all *_filters are free.
- Each prospecting_company_search and prospecting_contact_search at page_size 1 is one search; a four-dimension TAM with signal density is typically 40 to 80 searches. State the number before step 4.
- Never enrich. TAM needs counts, not contact details. If the user wants the companies behind a number, hand off to the Lusha Prospector Skill.

COMMUNICATION STYLE

- Plain English. Short sentences. No buzzwords.
- Lead with the three-layer table. The board slide is the summary.
- Label every count with the filter it came from so a RevOps lead can reproduce it in Lusha.
- Say what Lusha probably undercounts (small private companies in some geographies, niche sub-verticals) rather than presenting counts as the whole world.

WHAT YOU DO NOT DO

- Do not estimate, extrapolate or apply growth rates. Counts only.
- Do not build the list. That is the Lusha Prospector Skill.
- Do not score named accounts. That is the Score Accounts Skill.
- Do not reveal any contact. Counts only.
- Do not pull from analyst reports or the web. Lusha only.

If a user asks for something outside this scope, point them to the relevant Lusha play: https://www.lusha.com/campus/plays/

What you’ll get back

The Skill works against the same Lusha search tools used in the prompt gallery. You see the three-layer table, the segment tables and the ranking; the filter resolution and the dozens of count queries stay out of view.

Sample user request: “Size our market. B2B SaaS, 200 to 2,000 employees, US, UK and DACH. Buyer is VP Sales or above. We sell sales intelligence. Exclude our 140 current customers.”

What the Skill does invisibly:

  1. Calls account_usage; estimates roughly 60 count searches, gets a yes
  2. Resolves “B2B SaaS” to the Software Development sub-industry, the size bands, and country codes for US, GB, DE, AT, CH
  3. Counts TAM with the customer domains excluded, then one count per segment across industry, size, geography and funding stage
  4. Counts VP+ Sales contacts per segment and computes contacts per company
  5. Re-counts each segment with one signal filter at a time; computes density; derives SAM and SOM; ranks

Returned (excerpt):

  • TAM: 6,840 companies | 19,200 VP+ Sales contacts | 2.8 per company
  • SAM: 5,910 companies (dropped the 51–200 overlap band and two sub-verticals under 25) | 17,100 contacts
  • SOM: 1,130 companies with a live signal in 90 days | 3,600 contacts
  • By geography: US 4,420 cos, 3.1/co, density High (funding, Sales hiring surge) · UK 1,280, 2.4/co, Medium · DACH 1,140, 1.9/co, Low
  • Prioritize first: 1. US, 501–1,000 employees, Series B–C (largest count with High density) · 2. US, 201–500, Series A–B (strong coverage, Medium density) · 3. UK, 501–1,000 (Medium density, ready to work)
  • Coverage note: DACH counts likely undercount private mid-market software companies; treat as a floor.

Example output in this play is illustrative — it reflects the structure, fields and format of real Lusha connector output, but was not pulled from a live session. Run the Skill with your own ICP and connector to see live counts.

Try these once it’s installed

Three requests to run once the Skill is live.

1. Annual planning and board prep

“Size our market: [industry], [size range], [geographies]. Buyer is [function, seniority]. Exclude our current customers. Give me TAM, SAM and SOM with the segment tables.”

2. New vertical entry

“We’re considering [vertical]. How many companies at [size range] in [geography], how many [buyer] contacts does Lusha have, and how dense are the signals right now?”

3. Territory design

“Same ICP, break it down by country and by US region. Where is company count and contact coverage strongest, so we can draw fair territories?”

The Skill handles each request without any prompt syntax. You describe the market; it returns the counts.

FAQ

How accurate are the company and contact counts?

They are exact counts of what exists in Lusha’s database for the filters applied, returned by the same search your reps use. They are not the whole world: Lusha covers 30M+ companies and 300M+ contacts, but small private companies in some geographies and niche sub-verticals are thinner. The Skill names those segments in the coverage notes, so read the counts as a defensible floor for reachable market, not a ceiling.

How is SOM calculated and how often does it change?

SOM is the part of SAM showing at least one live buying signal in the last 90 days: funding, a new exec in the buying function, a hiring surge in that department, headcount growth, IT spend increase, or LinkedIn intent on your category. Signals expire, so SOM moves every quarter. Re-run it at the start of each planning cycle; TAM and SAM shift far more slowly.

Can I use this for a specific geography only?

Yes. Name the country, region or metro and the Skill resolves it to Lusha’s location filters and counts inside it. Ask for a breakdown by country or by US region to see where company density and contact coverage are strongest before drawing territory lines.

How is this different from the Build a List by Geography play?

Build a list of companies in a specific geography returns the companies themselves, a working list. This Skill returns the counts behind the list across every segment at once, plus contact coverage and signal density, and never reveals a contact. Size the market here; build the list with the Lusha Prospector Skill.

Can I present the output directly to a board or investor?

The three-layer table is built for that slide, and every count is labelled with the filter that produced it so anyone can reproduce it in Lusha. Add the coverage notes as a footnote; a board that sees you know where the data is thin trusts the rest of the number more.

Can I share the Skill with my team?

Yes. Send teammates the skill file and each uploads it under Settings → Capabilities → Skills, or share this page and they download it themselves. On Claude Team or Enterprise you can also share a Project with the instructions and the company ICP pasted in, so every re-run starts from the same definition.

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.