market-researchlisted
Install: claude install-skill harveylegacygtm/icp-market-research
# ICP Mapping: Build Their Ideal Customer Profile
Do not summarize this. Build the user's ICP with them from real data. What they
walk away holding: a one-paragraph ICP and anti-ICP, the 4-layer profile, their
pains and language in real customer words, the Signal-to-Offer Map, a 0 to 100
scoring rubric with tiers, and the two campaign lists. ICP is the leverage point.
Same offer plus a different ICP is a different business.
Work one step at a time. Ask, research, decide, confirm, move on.
## Step 0: Did they upload a customer CSV? Run the import layer
If the user hands over a customer list as a CSV (won customers with columns like
Domain, Job title, Company LinkedIn, Company News), do not start the manual
interview. Reverse-engineer the ICP from the real customers instead. This is the
highest-signal path.
Keep two inputs separate. The CSV is the customer evidence (identity + news, one
row per customer). The user's ICP, service offering, and price point are the
user's OWN baseline, collected once by asking, not columns in the CSV. You compare
the customer patterns against that baseline.
Parse the CSV first:
```
node ${CLAUDE_PLUGIN_ROOT}/scripts/marketresearch/customers.mjs customers.csv --json work.json
```
A ready-made example list is in examples/sample-customers.csv if the user wants to
try it before uploading their own. The parser maps the customer columns, reports
how many cells are filled vs blank, and writes a per-row research worklist. Then
follow references/cu