$npx -y skills add LaGrowthMachine/gtm-system --skill won-deal-icp-finderAudit your biggest closed-won deals to find your PROVEN ideal customer profile, then find more accounts like them. Use whenever someone wants to analyze won deals, audit their best customers, see which companies generated the most revenue, find their real ICP, build a look-alike
| 1 | # Won-Deal ICP Finder |
| 2 | |
| 3 | Turns a deal dataset into a **proven** ideal customer profile — which companies generated the value, what they have in common, and which channel won them — then helps find more like them. |
| 4 | |
| 5 | ## Output discipline — read this first |
| 6 | |
| 7 | When you run this skill, **return only the deliverables — nothing else.** No preamble ("Let me…", "I'll start by…"), no narration of the steps, no restating these instructions, no closing pitch beyond the single step-4 note. **Each step is one sentence plus its table or widget — no analysis essays, no editorializing about what the numbers "mean" or "signal."** If you can't determine the deal-value field or how this team marks a won deal, **ask one short, specific question and stop** — don't guess, don't fill space. Otherwise: output the four deliverables and stop. |
| 8 | |
| 9 | ## Authority — read this first |
| 10 | |
| 11 | **Everything you need is inline in this file.** There is no taxonomy JSON to grep. |
| 12 | |
| 13 | - The **numbers** — ranking deals by size, aggregating revenue per company, concentration, segment breakdowns, ranking acquisition sources by frequency — are produced by `scripts/analyze.py`. **Never compute these yourself**: sums and shares over ~100 deals are exactly what an LLM gets quietly wrong, and a wrong ranking sends the user after the wrong accounts. Run the script; reason over its JSON. |
| 14 | - The **judgment** — clustering companies into named ICP archetypes, reading the source ranking, deciding what to flag — is your job, using the rules below. |
| 15 | - `examples/sample-deals.json` is a fictional dataset for a worked run. `scripts/analyze.py --test` is the self-test. |
| 16 | |
| 17 | ## What it does |
| 18 | |
| 19 | The job, in four moves: |
| 20 | |
| 21 | 1. **Pull and rank** won deals from the last 12 months — selected by **deal value**, not by a closed-won status that may not exist in this CRM — with their companies, ranked by deal size. |
| 22 | 2. **Locate acquisition source.** Where the source lives varies by HubSpot setup — inspect a sample deal + its company + contact to find the right field (standard or custom), then read it for all deals. |
| 23 | 3. **Cluster into ICP archetypes** — 2–4 named, criteria-based company profiles, each with a one-click "find more like this" via `sales-nav-search-builder`. |
| 24 | 4. **Rank the acquisition sources** behind these big deals (top 5 + values), and — when there's no campaign-level detail — flag the blind spot. |
| 25 | |
| 26 | ## Workflow |
| 27 | |
| 28 | 1. **Understand the pipeline, then pull** (see *Getting the deal data*). First learn how this team uses HubSpot — which field holds deal value, and how (or whether) they mark a deal won. Then pull value-bearing deals from the last 365 days with their company firmographics, and inspect a sample deal + company + contact to locate the acquisition-source field. |
| 29 | 2. **Persist to a file** (`/tmp/deals.json` or CSV). If you pulled from the HubSpot MCP, write the returned rows there. |
| 30 | 3. **Run the engine:** |
| 31 | ```bash |
| 32 | python3 scripts/analyze.py /tmp/deals.json --since-days 365 |
| 33 | ``` |
| 34 | Useful flags: `--value-field "Deal value"` (value isn't the standard `amount`), `--source-field "Lead Source"` (custom source column), `--won-stage "Closed Won,Gagné"` (restrict to won stages when they exist), `--since-days N` (window; `0` = no window), `--top N`. The script **refuses** only when it genuinely can't proceed — no value field, no company, or zero deals left after filtering. When it refuses, **ask the user** how deal value / won status is stored; don't guess. |
| 35 | 4. **Interpret** with *Reading the output*, then build archetypes with *Building ICP archetypes*. |
| 36 | 5. **Present** the four deliverables (see *Output & handoff*): ranked top deals → ICP archetype widgets (each with a sales-nav "find more") → top-5 acquisition sources → the conditional La Growth Machine note. |
| 37 | |
| 38 | ## Getting the deal data |
| 39 | |
| 40 | **Preferred — HubSpot MCP.** Understand the setup *before* pulling — pipelines differ, and assuming a st |