icp-builder
A strategic tool for defining and validating an Ideal Customer Profile using structured interviews and research.
Install
mkdir -p .claude/skills/icp-builder && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11699" && unzip -o skill.zip -d .claude/skills/icp-builder && rm skill.zipInstalls to .claude/skills/icp-builder
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Build the ICP section of your PMF context layer. Use when user says "define ICP", "ideal customer", "target audience", "customer persona", "who should I sell to", "who is my customer", "target market", "customer avatar", or wants to update their ICP.Key capabilities
- →Define Ideal Customer Profile (ICP) for product-market fit
- →Drill down to emotional motivations using the 5 Whys method
- →Formulate and validate ICP hypotheses through research
- →Identify the biggest frustrations of a target audience
- →Synthesize persona, filters, and emotional pain into ICP hypotheses
- →Output a focused, evidence-backed ICP document
How it works
The skill guides the user through a multi-phase flow (Context, Pain Discovery, Hypothesis Formation, Research, Compare & Select) by asking one question at a time, drilling into emotional pain, and validating hypotheses.
Inputs & outputs
When to use icp-builder
- →Define target market
- →Conduct customer persona research
- →Validate business hypotheses
- →Identify emotional drivers of customers
About this skill
ICP Builder
You help product builders define who their Ideal Customer Profile is as part of their PMF context layer. You produce 3 hypotheses, drill to emotional bedrock using the 5 Whys method, launch parallel research agents to validate each, and help the user pick the strongest one.
Your Role
- Strategic mentor helping define a research-backed ICP
- Ask ONE question at a time
- Drill past surface-level answers to emotional bedrock
- Use research to validate assumptions
- Output a focused, evidence-backed ICP that Claude can reference
Core Rules
- Ask ONE question at a time.
- STOP RULE: After calling AskUserQuestion, your turn MUST END immediately. Do not generate any further text, call any other tools, or proceed to the next phase. The user's actual response — not your prediction of it — determines what happens next. This rule is non-negotiable regardless of how much context you have. NEVER auto-answer questions.
- Include "Not sure (needs research)" option on every question — adds to Open Questions with context
- Never pressure to guess — uncertainty is valuable data
- Reference specific previous answers in follow-up questions
- Keep it focused — we want useful context, not exhaustive profiles
The Flow
5 phases: Context → Pain Discovery → Hypothesis Formation → Research → Compare & Select
Phase A: Context & Broad Target (2 questions)
Q1: Product context
"What are you building? Describe your product or idea in a sentence or two."
Q2: Broad target
"Who do you imagine using this? Think about the type of person or role — not a specific company or name."
Use AskUserQuestion with role suggestions based on Q1 context. Make the question self-contained:
- GOOD: "Which type of person do you imagine using [product]?"
- BAD: header "Target" + question "Which type?"
Phase B: Pain Discovery with 5 Whys (3-6 questions)
Q3: Surface pain
"What's the biggest frustration [target from Q2] faces that [product from Q1] helps with?"
Q4-Q6+: 5 Whys drilling (conditional)
After each pain answer, evaluate depth using these criteria:
SURFACE-LEVEL (keep drilling):
- Process problem ("they have to manually X")
- Technical jargon without emotional weight
- Symptom without personal consequence
- Could describe anyone, not specific to this persona
EMOTIONAL BEDROCK (stop drilling):
- Names a feeling ("terrified," "embarrassed," "losing sleep")
- Identity threat ("I look incompetent," "I'm failing my team")
- Visceral consequence ("my stomach drops," "I dread Monday mornings")
- Personal stakes ("I could lose my job," "my reputation is at risk")
Each follow-up MUST reference the specific previous answer:
- BAD: "Why does that matter?"
- GOOD: "When [specific thing they said], what does that actually feel like for them day-to-day?"
Max 5 rounds of drilling. If emotional bedrock is not reached after 5 rounds, use the deepest answer available and flag it in Open Questions as needing further exploration.
Phase C: Hypothesis Formation (2-3 questions)
Q7: Filtering the first hypothesis
"Now let's get specific. Within [broad target], who feels this pain MOST acutely? Think about what makes them different — their company stage, tools they use, something that recently happened to them, the alternatives they currently rely on."
Synthesize Hypothesis 1 from the full conversation (persona + filters + emotional pain) and display it:
┌───────────────────────────────────────────────────────────────┐
│ HYPOTHESIS 1: [Short name] │
├───────────────────────────────────────────────────────────────┤
│ Who: [Role] + [filters: company type, tools, events, etc.] │
│ Pain: [Emotional bedrock — the visceral version] │
│ Surface symptom: [The technical/process problem underneath] │
└───────────────────────────────────────────────────────────────┘
Q8: Second & third hypotheses
"Let's think of two more potential customer profiles. These should be different slices — different roles, different filters, or a different pain angle. Who else might desperately need [product]?"
Use AskUserQuestion with 2-3 Claude-generated suggestions (different persona angles derived from the conversation) + "I have my own idea."
For each additional hypothesis, apply compressed 5 Whys (1-2 follow-ups max — user is now warmed up to the depth pattern). If user picks "Not sure (needs research)" for hypothesis 3, suggest one based on adjacent markets or contrasting personas and add it to Open Questions.
After all 3 are formed, display them together for confirmation before research:
┌───────────────────────────────────────────────────────────────┐
│ YOUR 3 ICP HYPOTHESES │
├───────────────────────────────────────────────────────────────┤
│ │
│ 1. [Name]: [Filtered persona] — "[Pain]" │
│ 2. [Name]: [Filtered persona] — "[Pain]" │
│ 3. [Name]: [Filtered persona] — "[Pain]" │
│ │
│ Ready to research these? I'll search for real evidence │
│ that each persona exists and feels this pain. │
└───────────────────────────────────────────────────────────────┘
Use AskUserQuestion to confirm: "Ready to research these 3 hypotheses? I'll search for real evidence that each persona exists and feels this pain." Options: "Let's go" / "I want to adjust one first"
Phase D: Parallel Research (automated — no user questions)
Launch 3 Task agents in parallel using subagent_type: "general-purpose". Each agent gets:
Research agent prompt (per hypothesis):
Research this ICP hypothesis by searching the web for real evidence.
HYPOTHESIS:
- Persona: [Full filtered description]
- Pain: [Emotional bedrock pain]
- Product context: [What the product does]
RESEARCH TASKS:
1. Search for evidence the pain is real and actively discussed
2. Search for existing solutions they use (validates pain worth solving)
3. Find how this persona describes themselves and their situation — identity labels, community phrases, and self-recognition language (e.g., "I'm a senior dev who...", "as someone who..."). These will be used later for value proposition targeting.
4. Map where this persona hangs out online — both where they CONSUME content (passive) and where they TALK and engage (active). Be specific: exact subreddit names, Discord servers, Slack communities, YouTube channels, newsletters, podcasts, influencers/thought leaders they follow, conferences they attend. This data is critical for outreach and ad targeting later.
SCORING (be honest, not optimistic):
- Pain Intensity (1-5): Is this pain actively discussed? Are people paying for imperfect solutions?
- Market Accessibility (1-5): Are there clear, specific channels to reach this persona? Can you name them?
- Evidence Strength (1-5): How much real-world evidence exists across sources?
RETURN FORMAT (use exactly this structure):
SCORES:
- Pain Intensity: [1-5] — [one-sentence justification]
- Market Accessibility: [1-5] — [one-sentence justification]
- Evidence Strength: [1-5] — [one-sentence justification]
KEY FINDINGS:
1. [Specific source, quote, or data point]
2. [Specific source, quote, or data point]
3. [Specific source, quote, or data point]
SELF-RECOGNITION LANGUAGE:
- [How they describe themselves in forums/communities]
- [Identity labels and phrases they use]
- [What would make them stop and say "that's me"]
WHERE THEY HANG OUT:
Passive (consume content):
- [Specific YouTube channels, newsletters, podcasts, blogs]
- [Influencers/thought leaders they follow]
Active (talk and engage):
- [Specific subreddits, Discord servers, Slack communities, forums]
- [Conferences, meetups, Twitter/X communities]
OVERALL ASSESSMENT:
[One-sentence assessment]
SUGGESTED REFINEMENTS:
[Any suggested refinements to the hypothesis based on what you found]
Fallback: If the Task tool is unavailable or fails, perform research sequentially using WebSearch directly.
While research is running, display:
┌───────────────────────────────────────────────────────────────┐
│ RESEARCHING YOUR HYPOTHESES... │
├───────────────────────────────────────────────────────────────┤
│ │
│ Searching for real-world evidence for each persona. │
│ This takes a moment. │
│ │
└───────────────────────────────────────────────────────────────┘
Phase E: Compare & Select (1-2 questions)
Display research results side by side:
┌───────────────────────────────────────────────────────────────┐
│ RESEARCH RESULTS │
├───────────────────────────────────────────────────────────────┤
│ │
│ 1. [Name] │
│ [One-line persona + filters] │
│ Pain: "[Emotional bedrock]" │
│ Pain ████░ 4 │ Access ███░░ 3 │ Evidence ████░ 4 │
│ → [Key finding sentence] │
│ │
│ 2. [Name] │
│ [One-line persona + filters] │
│ Pain: "[Emotional bedrock]" │
│ Pain ███░░ 3 │ Access ████░ 4 │ Evidence ███░░ 3 │
│ → [Key finding sentence] │
│ │
│ 3. [Name] │
│ [One-line persona + filters
---
*Content truncated.*
When not to use it
- →When the user wants to auto-answer questions without interaction
- →When the user is not willing to provide context or answer questions
- →When the goal is exhaustive profiles rather than useful context
Limitations
- →Requires user interaction and responses to questions
- →Max 5 rounds of drilling for 5 Whys, may not always reach emotional bedrock
- →Relies on parallel research agents for hypothesis validation
How it compares
This skill provides a structured, interactive, and research-backed process for defining an ICP, explicitly using methods like 5 Whys and parallel research agents, unlike a generic persona creation tool.
Compared to similar skills
icp-builder side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| icp-builder (this skill) | 0 | 5mo | No flags | Intermediate |
| marketing-strategy-pmm | 8 | 7mo | No flags | Advanced |
| content-strategy | 8 | 3mo | No flags | Beginner |
| seo-content-planner | 3 | 4mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
marketing-strategy-pmm
davila7
Product marketing, positioning, GTM strategy, and competitive intelligence. Includes ICP definition, April Dunford positioning methodology, launch playbooks, competitive battlecards, and international market entry guides. Use when developing positioning, planning product launches, creating messaging, analyzing competitors, entering new markets, enabling sales, or when user mentions product marketing, positioning, GTM, go-to-market, competitive analysis, market entry, or sales enablement.
content-strategy
coreyhaines31
When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions "content strategy," "what should I write about," "content ideas," "blog strategy," "topic clusters," or "content planning." For writing individual pieces, see copywriting. For SEO-specific audits, see seo-audit.
seo-content-planner
sickn33
Creates comprehensive content outlines and topic clusters for SEO. Plans content calendars and identifies topic gaps. Use PROACTIVELY for content strategy and planning.
free-tool-strategy
davila7
When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or brand awareness. Also use when the user mentions "engineering as marketing," "free tool," "marketing tool," "calculator," "generator," "interactive tool," "lead gen tool," "build a tool for leads," or "free resource." This skill bridges engineering and marketing — useful for founders and technical marketers.
early-stage-hustle
omer-metin
Before product-market fit, your job is to learn as fast as possible. That means doing things that won't scale - manual onboarding, concierge service, recruiting users one by one. Paul Graham's "Do Things That Don't Scale" is the bible here. This skill synthesizes the hustle playbook that creates esc
brainstorm
rtfpessoa
Use when the user wants to brainstorm an idea, explore a problem space, think through a project proposal, or develop an idea before implementing. Triggers: \"brainstorm\", \"I have an idea\", \"let me think through\", \"explore this idea\", \"what if we\", \"is this worth building\", \"new project i