$npx -y skills add matteotitta/claude-code-marketing-quickstart --skill icp-researchBuild structured ICP documentation by scraping case studies, testimonials, and solutions pages from your website. Produces firmographics, champion + economic buyer personas, pain points, decision criteria, anti-ICP, customer proof points, and voice-of-customer synthesis. Writes t
| 1 | # icp-research — Stage 1 + 2 research skill |
| 2 | |
| 3 | The article's Example 1 Day 5 skill. Reads your website + win-loss patterns (if available) + competitor outputs (if locked) and writes a structured ICP to `marketing/icp/ICP.md`. This file is canonical from creation — every downstream skill reads it. |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## When to use |
| 8 | |
| 9 | - Day 5 of Example 1: after competitor research + win-loss data exist, build the ICP synthesis |
| 10 | - Quarterly refresh of ICP (markets shift) |
| 11 | - New segment exploration ("we're adding a healthcare vertical — re-run ICP for that segment") |
| 12 | - After major win-loss shift (5+ recent losses in a segment → re-run ICP) |
| 13 | |
| 14 | ## When NOT to use |
| 15 | |
| 16 | - For behavioural simulation of an ICP buyer (use `/icp-behavioural` — not in V2 quickstart) |
| 17 | - For interview prep against a single account (use `/customer-interviews` — not in V2 quickstart) |
| 18 | - For competitor research (use `/competitor-research`) |
| 19 | - For positioning strategy (use `/positioning` after ICP locks) |
| 20 | |
| 21 | ## How it works |
| 22 | |
| 23 | 1. Inputs: your website URL (required). Optional: list of representative customer URLs, win-loss patterns from prior cycle, competitor aggregate. |
| 24 | 2. Reads (Exa MCP for fresh data): website case studies, customer pages, testimonials, blog posts, About / Solutions pages. |
| 25 | 3. Optionally reads: `marketing/competitors/aggregate.md` (if locked) to inform "anti-ICP" framing; recent win-loss data from `marketing/win-loss/win-loss.md` (if `/win-loss-analysis` has run). |
| 26 | 4. Produces a structured ICP with these sections (matches the PulseAnalytics example at `marketing/icp/ICP.md`): |
| 27 | - **Firmographics** — company type, revenue stage, team size, funding, geography, industry |
| 28 | - **Champion persona** — title, tenure, reporting, owns, their week, JTBD, job-context triggers, pain points (priority order), decision criteria |
| 29 | - **Economic buyer persona** — title, motivation, decision criteria |
| 30 | - **Anti-ICP** — who NOT to sell to + why |
| 31 | - **Where they hang out** — acquisition channels with rationale |
| 32 | - **Customer proof points** — populate as real customers ship (start empty with `[UNAVAILABLE]` notation) |
| 33 | - **Voice of customer** — verbatim quotes by theme (populate from `/win-loss-analysis` over time) |
| 34 | 5. Every claim tagged with confidence per `.claude/rules/ontology.md`. Invented metrics forbidden — use `[UNAVAILABLE]` instead. |
| 35 | 6. Writes to `marketing/icp/ICP.md` (overwrites prior canonical; git history preserves prior versions). |
| 36 | |
| 37 | ## Invoke |
| 38 | |
| 39 | ``` |
| 40 | /icp-research https://yourdomain.com |
| 41 | ``` |
| 42 | |
| 43 | Or with optional inputs: |
| 44 | ``` |
| 45 | /icp-research https://yourdomain.com + read these 3 case studies: [URLs] |
| 46 | ``` |
| 47 | |
| 48 | ## Example output |
| 49 | |
| 50 | See [`marketing/icp/ICP.md`](../../../marketing/icp/ICP.md) for the PulseAnalytics example seed. Notice the structure repeats per persona (champion + economic buyer); pain points are priority-ordered; anti-ICP is explicit; VoC + proof points start `[UNAVAILABLE]` and fill as data lands. |
| 51 | |
| 52 | ## Dependencies |
| 53 | |
| 54 | - **Reads from:** your website URL (required); `marketing/competitors/aggregate.md` (optional, recommended); `marketing/win-loss/win-loss.md` (optional, recommended — produced by `/win-loss-analysis`) |
| 55 | - **Reads via Exa MCP (optional):** website + recent customer-facing pages |
| 56 | - **Writes to:** `marketing/icp/ICP.md` (canonical, every downstream skill reads here) |
| 57 | |
| 58 | ## Customization |
| 59 | |
| 60 | Add a custom segment (e.g., "Enterprise tier") by extending the firmographics section with a segment-table — different revenue/team-size cuts get different champion personas. The Genesys-internal version supports segment-by-segment ICPs; the quickstart simplifies to one ICP and one champion. |
| 61 | |
| 62 | Edit pain-point priority order based on real customer conversations as they happen. Pain priority drives messaging hierarchy downstream. |
| 63 | |
| 64 | ## Where this fits in the Example 1 chain |
| 65 | |
| 66 | ` |