ICP Deep Scanner
Deep-scan any tools you connect (CRM, email, support, reviews, analytics, billing, database) to produce a data-grounded Ideal Customer Profile and a reusable persona library. Read-only by default. Use when you need to define or refresh your ICP, build buyer personas from real data instead of guesses, or generate the persona inputs that the customer-panel-of-experts and prospect-panel-simulator skills consume.
What it does
# ICP Deep Scanner
Turn the data already sitting in your connected tools into a rigorous, evidence-backed Ideal Customer Profile (ICP) and a library of buyer personas. Most ICPs are invented in a slide deck. This one is reverse-engineered from your actual best customers, your won/lost deals, your support tickets, and your reviews — then written so it can drive real decisions and feed the panel skills.
This skill is the data layer beneath `customer-panel-of-experts`, `prospect-panel-simulator`, and `product-launch-war-room`. Run it first; those skills read the persona library it writes.
## Operating principles (read first)
- **Read-only by default.** You may query and read connected sources. You must NOT create, update, delete, send, or move anything in any connected tool unless the user explicitly asks in this session. Before any write or outbound action, stop and confirm.
- **Least data necessary.** Pull aggregates and representative samples, not entire databases. You are building a profile, not exfiltrating a CRM.
- **PII minimization.** Persona artifacts are archetypes, not dossiers. Do not write real customer names, emails, phone numbers, or account IDs into the output files. Reference real records only as anonymized counts and quotes (quotes scrubbed of identifying detail).
- **Secrets via environment only.** Never read, print, or write credentials. Assume tokens live in environment variables (e.g. `$SUPABASE_TOKEN`, `$OPENAI_API_KEY`) or in the MCP connection itself. If a source needs auth that isn't present, list it under "Sources I could not reach" and continue.
- **Cite the evidence.** Every claim in the ICP must trace to a source. "Buyers are mostly ops leaders" is worthless; "14 of the last 20 closed-won champions held an Operations title (CRM, trailing 12 mo)" is usable.
## Step 1 — Inventory connectable sources
Ask the user which tools to scan, or detect what's available. Map each to what it tells you:
| Source (examples) | What to extract | How to reach it |
|---|---|---|
| CRM (HubSpot, Salesforce, internal) | Closed-won vs closed-lost firmographics, titles of champions/buyers, deal size, sales cycle, win reasons | MCP connector or read-only API |
| Email / calendar | Who actually engages, meeting cadence, recurring objection language | Gmail/Calendar MCP, read-only |
| Support / tickets / chat | Top pain themes, words customers use, where they get stuck | Intercom/Zendesk export, logs |
| Reviews (G2, Capterra, Trustpilot, App Store) | Verbatim value language, switching triggers, deal-breakers | WebFetch / `customer-review-aggregator` |
| Product analytics (GA4, Clarity, Mixpanel) | Activation paths, who sticks, drop-off points | Analytics MCP / API |
| Billing (Stripe, Mercury) | Real revenue concentration, expansion vs churn by segment | Read-only API |
| Database (Supabase/Postgres) | Ground-truth usage and cohort behavior | Read-only SQL via `$SUPABASE_TOKEN` |
| Public web | Firmographic enrichment, market sizing, competitor positioning | WebSearch / WebFetch |
Present the list, mark which are reachable now, and confirm scope before scanning. For a wide scan across many sources, dispatch parallel read-only sub-agents (one per source) and merge their findings — see `/agent-army`.
## Step 2 — Extract signal from each source
For each reachable source, pull:
- **Firmographics** — industry/vertical, company size, geography, business model, tech stack.
- **Who buys** — economic buyer, champion, blocker, end user (titles + seniority, from real deals).
- **Why they buy** — the trigger event, the job-to-be-done, the alternative they abandoned.
- **Why they don't** — top closed-lost reasons, top objections, top churn reasons.
- **Language** — the exact words customers use (mine reviews and tickets; do not paraphrase into marketing-speak).
- **Economics** — ACV, CAC signals, sales-cycle length, expansion behavior, concentration risk.
Record sample sizes and date ranges for everything. Flag anything based on fewer than ~5 data points as "thin signal."
## Step 3 — Synthesize the ICP
Write `icp-profile.md`:
```markdown
# Ideal Customer Profile — {COMPANY}
Generated: {timestamp} · Sources scanned: {list} · Confidence: {High/Med/Low}
## The ICP in one sentence
{Vertical} companies of {size} who {trigger}, evaluated against {alternative}, where the champion is a {title} and the economic buyer is a {title}.
## Firmographic fit (with evidence)
- Industry: ... (evidence: N of M closed-won)
- Size: ...
- Geography / model / stack: ...
## Anti-ICP — who to disqualify
- {Segment} — closes slow, churns fast, low ACV (evidence)
## Buying committee
- Economic buyer · Champion · Blocker · End user — each with real titles + what they care about
## Triggers & jobs-to-be-done
## Top buy reasons / top no-buy reasons (ranked, with counts)
## The customer's own language (verbatim, scrubbed)
## Economics — ACV, cycle, expansion, concentration risk
## Confidence & gaps — what's thin, what to instrument next
```
## Step 4 — Build the persona library
Write `personas/` — one file per persona (3–6 personas: typically the champion, the economic buyer, the blocker, and 1–2 key end users or segment variants). Each persona file is structured so the panel skills can load it directly:
```markdown
---
persona_id: ops-leader-champion
role: Champion
archetype: "VP of Operations at a 50–200 person services firm"
based_on: "12 closed-won champions, CRM trailing 12 mo"
---
# {Archetype name}
- Goals / success metrics:
- Pains (verbatim language):
- What earns trust / what triggers skepticism:
- Buying authority & budget reality:
- Objections they raise (real, from lost deals):
- How they talk (tone, vocabulary, 2–3 scrubbed quotes):
- What would make them a hard NO:
```
Also write `personas/index.md` listing every persona, its role in the committee, and its evidence base.
## Step 5 — Handoff
End with:
- A 5-line ICP summary the user can paste anywhere.
- "Sources I could not reach" and what auth/access would unlock them.
- "Confidence ledger" — which conclusions are strong vs. thin.
- The exact command to run next: `customer-panel-of-experts` (debate a decision with these personas) or `prospect-panel-simulator` (pressure-test a pitch against them).
## Guardrails recap
Read-only unless told otherwise · no secrets in output · personas are archetypes, never dossiers · every claim cites its source and sample size · thin signal is labeled, not hidden.More sales skills
Champion Identifier
Analyze LinkedIn profiles in target accounts to identify potential internal champions. Evaluates role, career path, mutual connections, interests, and suggests personalization approach. Use when you need to find who will champion your solution internally.
Cold Email Sequence Generator
Generate personalized cold email sequences (7-14 emails) with A/B test subject lines, follow-up timing recommendations, and integrated social proof. Creates multi-touch campaigns optimized for response rates. Use when users need outbound email campaigns, sales sequences, or lead generation emails.
Contact Hunter
Search and extract contact information for people or companies including names, phone numbers, emails, job titles, and LinkedIn profiles. Aggregates data from multiple sources and provides enriched contact details. Use when users need to find contact information, build prospect lists, or enrich existing contact data.
Customer Panel Of Experts
Build a panel of your real buyer personas (from a deep scan of any tools you allow it to connect to) and have them debate any decision you bring — a marketing launch, a price increase, a new product, a positioning change, a feature cut. Returns a structured debate, the strongest objections, and a clear recommendation. Use when you want your actual customers in the room before you commit.