← All skills

icp-definer

core strategy

Define an Ideal Customer Profile from observed paying-customer data, churn data, and qualitative signals. Use when defining or tightening ICP, when sales efficiency drops (rising CAC, falling close rate), or when support load suggests wrong-fit customers.


ICP Definer

An ICP describes the customer who gets the most value, fastest, with the lowest support cost, and stays longest. It is data-driven, not aspirational. Written ICPs that read like marketing personas ("Marketing Mary, 32, loves coffee") fail — they describe the human, not the buying conditions.

When to use

When NOT to use

Use this instead

Required inputs

Ask the user for these before running. If missing, name what's missing in the artifact.

  1. Customer list — paying customers with: company, plan/MRR, signup date, activation date, churn date (if churned), support ticket volume, NPS/CSAT if available
  2. Top 10 healthiest accounts — the user's gut pick (cross-check against data later)
  3. Top 5 worst-fit accounts — high support, low usage, churned, refund requests
  4. Lost-deal notes if available — common reasons prospects didn't buy
  5. Win-call recordings or notes if available — exact words customers use

If the user has fewer than 20 paying customers, mark the ICP provisional — the data is too thin for statistical confidence.

The 6-dimension framework

Each dimension answers a different sales/marketing question.

1. Firmographics (who they are)

Rule: only include a dimension if your healthiest cohort clusters on it AND your worst cohort doesn't. Otherwise it's noise.

2. Trigger events (when they buy)

What changed that made the problem urgent? Examples:

If no triggers are identifiable, the product is probably a "vitamin not painkiller" — flag this.

3. Jobs-to-be-Done (why they hire the product)

Use Christensen's JTBD form:

When [situation], I want to [motivation], so I can [expected outcome].

Pull exact phrases from win-call recordings if possible. Customer's words > marketing language.

4. Disqualifiers (who this is NOT for)

The most under-done part of most ICPs. Name segments that look adjacent but aren't:

A good ICP doc has at least 3 explicit disqualifiers.

5. Buying signals (how to find them)

Externally-visible signals that correlate with fit — these power outbound:

6. Buyer / champion / user (who matters in the deal)

These are often three different people. Messaging must address each.

Process

  1. Pull the data. Get the customer list with metrics. Read CSV/sheet if supplied.
  2. Rank accounts by composite health. Default formula: (MRR × tenure_months × NPS_score) / (support_tickets + 1). Tune with user.
  3. Compare top quartile vs bottom quartile across each firmographic dimension. Note where they diverge — those are your ICP signals.
  4. Run JTBD interviews if the user has time — 5 wins, 5 losses, 5 churns. If not, extract from existing call notes / support tickets.
  5. Draft the ICP in the output format below.
  6. Stress-test: pick 3 of the user's "best gut accounts" and 3 "worst gut accounts" — does the ICP correctly predict them? If not, dimensions are wrong.
  7. Score new prospects: provide a simple 0-10 scoring rubric for inbound/outbound lists.

Output format

ICP: [Product] — [Audience version if multi]
Date: [YYYY-MM-DD]
Confidence: [Strong / Moderate / Provisional]

1. ONE-LINER
   [Company type] in [stage/situation] who [JTBD] when [trigger event].

2. FIRMOGRAPHICS
   - Industry: [...]
   - Size: [...]
   - Stage: [...]
   - Tech stack signal: [...]

3. TRIGGER EVENTS
   - [Event] → why it creates urgency

4. JOBS-TO-BE-DONE
   When [situation], I want to [motivation], so I can [outcome].

5. BUYING SIGNALS (for outbound)
   - [Signal + where to find it]

6. DEAL ROLES
   - Economic buyer: [title]
   - Champion: [title]
   - End user: [title]

7. DISQUALIFIERS — DO NOT TARGET
   - [Segment + why]

8. ICP SCORECARD (apply to any prospect)
   [10-question rubric, each 0-1, score >=7 = ICP]

9. EVIDENCE
   [Citations: which customers / data points support each claim]

Quality checks

Common failure modes

Handoffs

Install

Claude Code

/plugin marketplace add ReachRobin/skills
/plugin install skills

Prompt-pack (ChatGPT / Cursor / Claude.ai)

Copy the skill file and paste it into any LLM tool as a system prompt or custom instruction.

Download icp-definer.md

MCP config (other clients)

{
  "mcpServers": {
    "rr": {
      "transport": "http",
      "url": "https://mcp.reachrobin.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Get your token at app.reachrobin.com/dashboard/settings/mcp-tokens.

Maintained by @jarektkaczyk · v1.0.0