ICP Architect
Build a comprehensive Ideal Customer Profile through an interactive discovery process. This skill asks questions, pressure-tests assumptions, and produces a reference-ready docs/icp.md that other skills in the playbook can consume.
Activation
When the user triggers this skill, follow the steps below in order. Do NOT skip the discovery interview. Do NOT produce output before gathering all answers.
Step 0 — Check for Existing ICP
Use Read to check if docs/icp.md already exists in the current working directory.
- If it exists: Read the file, present a summary to the user, and ask: "You already have an ICP on file. Do you want to (A) refine it, (B) start fresh, or (C) add a new segment?"
- If refine: Load the existing content as context. During the discovery interview, pre-fill answers from the existing file and only ask about gaps or changes.
- If start fresh: Proceed with the full interview from scratch. The old file will be overwritten at the end.
- If add segment: Skip to Step 2 (ICP Segmentation) and ask only the questions needed to define the new segment and its personas. Append to the existing file.
- If it does not exist: Proceed to Step 1.
Step 1 — Discovery Interview (Interactive)
Present these questions to the user all at once in a numbered list. Tell the user they can answer inline (numbered) or paste a block of text and you will extract the answers.
Ask exactly these questions:
I need to understand your business before building your ICP. Answer these 10 questions — be as specific as possible. One-word answers are fine where they fit; paragraphs are fine where they don't.
1. What does your product do? (one sentence)
2. Who is your current best customer? Why are they your best?
3. What's your ACV or typical deal size range?
4. How long is your typical sales cycle? (days/weeks/months)
5. Who signs the check? (job title, not a person's name)
6. What's the trigger event that makes someone start looking for your solution?
7. What were they doing before your product? (the "old way" — spreadsheets, manual process, a competitor, nothing?)
8. What happens if they do nothing? (cost of inaction — lost revenue, compliance risk, wasted time?)
9. What's your unfair advantage vs. the next best alternative?
10. (Optional) Paste 3-5 LinkedIn profile URLs of your best customers. I'll extract patterns from their titles, industries, and company sizes.
Rules for this step:
- Wait for the user to respond before proceeding. Do NOT generate placeholder answers.
- If any critical answer is vague (especially questions 1, 2, 5, 6), ask a focused follow-up before moving on. At most 2 follow-up rounds.
- If the user provides LinkedIn URLs (question 10), use
WebSearch to look up those profiles and extract: job title, company size, industry, and any patterns across the set.
Step 2 — ICP Segmentation
From the user's answers, define 2-3 ICP segments. Present them to the user in a table for validation before going deeper.
For each segment, define:
| Field |
Description |
| Segment name |
Short label (e.g., "Mid-Market SaaS", "Enterprise Financial Services") |
| Company stage |
Seed / Series A / Series B / Growth / Enterprise |
| Company size |
Employee count range and/or revenue range |
| Industries |
2-5 specific verticals |
| Budget range |
What they typically spend on solutions like this |
| Sales cycle |
Expected length for this segment |
| Decision maker(s) |
Title(s) of the person who signs or champions |
| Core problem |
One sentence describing why they buy |
| Pain points |
3-5 specific, concrete pains (not generic fluff) |
Rules for this step:
- Ground every segment in the user's actual answers. Do not invent segments that contradict what the user told you.
- If the user's answers suggest only 1 clear segment, define that one plus a plausible adjacent segment and ask if it resonates.
- After presenting the segments, ask: "Do these segments look right? Should I adjust, merge, or add any?"
- Wait for confirmation before proceeding to Step 3.
Step 3 — Persona Deep-Dive
For each confirmed ICP segment, build 1-2 personas. Each persona is a fictional archetype representing a real buyer.
For each persona, define:
| Field |
Description |
| Archetype name |
A memorable label (e.g., "The Overwhelmed VP of Ops", "The Data-Driven CRO") |
| Job title |
Exact title(s) this persona holds |
| Reports to |
Who they report to (affects how they justify purchases) |
| Company context |
What kind of company they work at (size, stage, situation) |
| Daily frustrations |
3-5 things that make their job hard right now |
| Goals & success metrics |
What they are measured on / what "good" looks like for them |
| Buying behavior |
How they research solutions (Google, Reddit, peer referrals, analyst reports, etc.) |
| Trust triggers |
What makes them believe a vendor (case studies, free trials, peer recommendations, etc.) |
| Red flags |
What makes them walk away (long contracts, no integrations, pushy sales, etc.) |
| Language patterns |
5-10 actual phrases they use to describe their problem — the words they type into Google, say on sales calls, or post on Reddit. These should sound like real speech, not marketing copy. |
Rules for this step:
- Language patterns are the most important field. Get these right. They drive content, ads, and outreach messaging downstream.
- Present personas to the user and ask for corrections before proceeding.
Step 4 — Community & Channel Discovery
For each persona, identify where they spend time online and offline. Use WebSearch to validate every community you suggest. Do not guess subreddit names or Slack community names -- verify they exist.
For each persona, produce:
Online Communities
| Channel Type |
Specific Communities |
| Subreddits |
5-8 subreddits (use WebSearch: search reddit.com {topic} {persona role} to find active, relevant subs). Include subscriber count if available. |
| LinkedIn groups & hashtags |
3-5 groups, 5-8 hashtags |
| Slack / Discord communities |
2-4 (use WebSearch to find open communities in the persona's space) |
| Newsletters |
3-5 newsletters they likely subscribe to |
| Podcasts |
3-5 podcasts relevant to their role and problems |
| Events / Conferences |
2-4 industry events (in-person or virtual) |
| Thought leaders |
5-8 people this persona follows or respects (with LinkedIn or Twitter handles where findable) |
Rules for this step:
- Every subreddit must be verified via WebSearch. If a search returns no evidence the subreddit exists and is active, drop it and find one that does.
- Prefer communities with actual activity (posts in the last 30 days, >1K members for subreddits) over theoretical matches.
- Include at least 1-2 non-obvious or "hidden gem" communities per persona -- places competitors are unlikely to be watching.
Step 5 — Buying Signals Mapping
Define 8-12 signals that indicate a company or person matching the ICP is in a buying window.
For each signal:
| Field |
Options / Description |
| Signal |
What happened (e.g., "Posted a job listing for their first RevOps hire") |
| Where to find it |
LinkedIn, job boards, press releases, G2 reviews, Reddit, SEC filings, tech stack tools, etc. |
| Signal strength |
Strong (high intent, act now) / Moderate (worth monitoring) / Weak (early awareness) |
| Recommended action |
What to do when you spot this signal (e.g., "Send a personalized cold email referencing the hire", "Add to nurture sequence", "Flag for SDR review") |
Rules for this step:
- At least 3 signals must be "Strong."
- Signals should be observable and actionable -- not vague ("they seem interested"). Every signal must answer: where exactly would I see this?
- Include a mix of digital signals (job posts, tech installs, content engagement) and real-world signals (funding rounds, leadership changes, regulatory shifts).
Step 6 — Disqualification Criteria
Define 3-5 hard disqualifiers -- characteristics that mean a prospect is NOT a fit, no matter how interested they seem.
For each disqualifier:
| Field |
Description |
| Criterion |
What makes them a non-fit (e.g., "Company has fewer than 10 employees") |
| Why |
Why this is a dealbreaker (e.g., "ACV too small to justify sales cycle length") |
| How to detect early |
Where / when in the process you can spot this before wasting time |
Rules for this step:
- These should be based on the user's actual experience (from the discovery interview) plus logical inference from the ICP segments.
- Ask the user: "Are there any other dealbreakers I'm missing from your experience?" before finalizing.
Step 7 — Output
After all steps are confirmed, write the complete ICP to docs/icp.md using Write.
File Structure
# Ideal Customer Profile
> Generated by ICP Architect | Last updated: {YYYY-MM-DD}
## Company Overview
- **Product:** {one-sentence description from Q1}
- **ACV Range:** {from Q3}
- **Sales Cycle:** {from Q4}
- **Key Decision Maker(s):** {from Q5}
---
## ICP Segments
### Segment 1: {Name}
{Full segment table from Step 2}
### Segment 2: {Name}
{Full segment table from Step 2}
---
## Personas
### {Archetype Name} ({Segment Name})
{Full persona details from Step 3}
#### Where They Hang Out
{Community & channel table from Step 4}
---
{Repeat for each persona}
## Buying Signals
| # | Signal | Source | Strength | Action |
|---|--------|--------|----------|--------|
| 1 | ... | ... | Strong | ... |
{Full table from Step 5}
---
## Disqualification Criteria
| # | Criterion | Why | Early Detection |
|---|-----------|-----|-----------------|
| 1 | ... | ... | ... |
{Full table from Step 6}
---
## Language Bank
> Phrases your personas actually use. Reference these in outreach, content, and ad copy.
### {Persona 1 Name}
- "{phrase 1}"
- "{phrase 2}"
...
### {Persona 2 Name}
- "{phrase 1}"
- "{phrase 2}"
...
---
## Quick Reference — Who to Target
| Segment | Decision Maker | Trigger Event | Best Channel |
|---------|---------------|---------------|--------------|
| {Segment 1} | {Title} | {Trigger from Q6} | {Top channel from Step 4} |
| {Segment 2} | {Title} | {Trigger from Q6} | {Top channel from Step 4} |
---
*This file is a living document. Rerun the ICP Architect skill to refine as you learn more from customers and deals.*
Post-Output Actions
After writing the file:
- Confirm to the user: "Your ICP has been written to
docs/icp.md."
- Provide a brief summary: number of segments, number of personas, number of buying signals, and the top 3 communities discovered.
- Suggest next steps: "Now that your ICP is defined, you can use it as input for outreach sequences, content strategy, or competitive research."
Tools Used
| Tool |
Purpose |
Read |
Check if docs/icp.md already exists |
Write |
Output the final ICP document |
WebSearch |
Validate subreddit names, find Slack/Discord communities, discover newsletters, podcasts, and thought leaders |
Rules (Non-Negotiable)
- Interactive first, output second. Never skip the discovery interview. Never generate the ICP from assumptions alone.
- Ask all questions before producing output. Do not drip-feed one question at a time (unless following up on a vague answer). Present the full question set, let the user answer, then build.
- Validate communities with WebSearch. Do not hallucinate subreddit names, Slack groups, or newsletters. If you cannot verify it exists, do not include it.
- Get user confirmation at each milestone. Confirm segments (Step 2) and personas (Step 3) before going deeper. The user is the expert on their own business.
- Language patterns must sound human. They should read like something typed into a search bar or said on a sales call -- not like marketing copy.
- The output file must be self-contained. Anyone reading
docs/icp.md should understand the full ICP without needing additional context.
- No proprietary references. This skill is public. Do not reference internal tools, databases, client names, or private infrastructure.
- Prefer depth over breadth. Two deeply-researched segments beat five shallow ones. Three real buying signals beat twelve generic ones.
1---2name: icp-architect3description: Use when building or refining an Ideal Customer Profile (ICP), defining target personas, mapping buyer psychographics, or discovering where prospects gather online. Triggers: 'build my ICP', 'define target customer', 'who should I sell to', 'refine ICP', 'persona mapping'.4---5
6# ICP Architect
7
8Build a comprehensive Ideal Customer Profile through an interactive discovery process. This skill asks questions, pressure-tests assumptions, and produces a reference-ready `docs/icp.md` that other skills in the playbook can consume.
9
10---
11
12## Activation
13
14When the user triggers this skill, follow the steps below **in order**. Do NOT skip the discovery interview. Do NOT produce output before gathering all answers.
15
16---
17
18## Step 0 — Check for Existing ICP
19
20Use `Read` to check if `docs/icp.md` already exists in the current working directory.
21
22- **If it exists:** Read the file, present a summary to the user, and ask: _"You already have an ICP on file. Do you want to (A) refine it, (B) start fresh, or (C) add a new segment?"_
23 - If **refine**: Load the existing content as context. During the discovery interview, pre-fill answers from the existing file and only ask about gaps or changes.
24 - If **start fresh**: Proceed with the full interview from scratch. The old file will be overwritten at the end.
25 - If **add segment**: Skip to Step 2 (ICP Segmentation) and ask only the questions needed to define the new segment and its personas. Append to the existing file.
26- **If it does not exist:** Proceed to Step 1.
27
28---
29
30## Step 1 — Discovery Interview (Interactive)
31
32Present these questions to the user **all at once** in a numbered list. Tell the user they can answer inline (numbered) or paste a block of text and you will extract the answers.
33
34Ask exactly these questions:
35
36```
37I need to understand your business before building your ICP. Answer these 10 questions — be as specific as possible. One-word answers are fine where they fit; paragraphs are fine where they don't.
38
391. What does your product do? (one sentence)
402. Who is your current best customer? Why are they your best?
413. What's your ACV or typical deal size range?
424. How long is your typical sales cycle? (days/weeks/months)
435. Who signs the check? (job title, not a person's name)
446. What's the trigger event that makes someone start looking for your solution?
457. What were they doing before your product? (the "old way" — spreadsheets, manual process, a competitor, nothing?)
468. What happens if they do nothing? (cost of inaction — lost revenue, compliance risk, wasted time?)
479. What's your unfair advantage vs. the next best alternative?
4810. (Optional) Paste 3-5 LinkedIn profile URLs of your best customers. I'll extract patterns from their titles, industries, and company sizes.
49```
50
51**Rules for this step:**
52- Wait for the user to respond before proceeding. Do NOT generate placeholder answers.
53- If any critical answer is vague (especially questions 1, 2, 5, 6), ask a focused follow-up before moving on. At most 2 follow-up rounds.
54- If the user provides LinkedIn URLs (question 10), use `WebSearch` to look up those profiles and extract: job title, company size, industry, and any patterns across the set.
55
56---
57
58## Step 2 — ICP Segmentation
59
60From the user's answers, define **2-3 ICP segments**. Present them to the user in a table for validation before going deeper.
61
62For each segment, define:
63
64| Field | Description |
65|---|---|
66| **Segment name** | Short label (e.g., "Mid-Market SaaS", "Enterprise Financial Services") |
67| **Company stage** | Seed / Series A / Series B / Growth / Enterprise |
68| **Company size** | Employee count range and/or revenue range |
69| **Industries** | 2-5 specific verticals |
70| **Budget range** | What they typically spend on solutions like this |
71| **Sales cycle** | Expected length for this segment |
72| **Decision maker(s)** | Title(s) of the person who signs or champions |
73| **Core problem** | One sentence describing why they buy |
74| **Pain points** | 3-5 specific, concrete pains (not generic fluff) |
75
76**Rules for this step:**
77- Ground every segment in the user's actual answers. Do not invent segments that contradict what the user told you.
78- If the user's answers suggest only 1 clear segment, define that one plus a plausible adjacent segment and ask if it resonates.
79- After presenting the segments, ask: _"Do these segments look right? Should I adjust, merge, or add any?"_
80- Wait for confirmation before proceeding to Step 3.
81
82---
83
84## Step 3 — Persona Deep-Dive
85
86For each confirmed ICP segment, build **1-2 personas**. Each persona is a fictional archetype representing a real buyer.
87
88For each persona, define:
89
90| Field | Description |
91|---|---|
92| **Archetype name** | A memorable label (e.g., "The Overwhelmed VP of Ops", "The Data-Driven CRO") |
93| **Job title** | Exact title(s) this persona holds |
94| **Reports to** | Who they report to (affects how they justify purchases) |
95| **Company context** | What kind of company they work at (size, stage, situation) |
96| **Daily frustrations** | 3-5 things that make their job hard right now |
97| **Goals & success metrics** | What they are measured on / what "good" looks like for them |
98| **Buying behavior** | How they research solutions (Google, Reddit, peer referrals, analyst reports, etc.) |
99| **Trust triggers** | What makes them believe a vendor (case studies, free trials, peer recommendations, etc.) |
100| **Red flags** | What makes them walk away (long contracts, no integrations, pushy sales, etc.) |
101| **Language patterns** | 5-10 actual phrases they use to describe their problem — the words they type into Google, say on sales calls, or post on Reddit. These should sound like real speech, not marketing copy. |
102
103**Rules for this step:**
104- Language patterns are the most important field. Get these right. They drive content, ads, and outreach messaging downstream.
105- Present personas to the user and ask for corrections before proceeding.
106
107---
108
109## Step 4 — Community & Channel Discovery
110
111For each persona, identify where they spend time online and offline. **Use `WebSearch` to validate every community you suggest.** Do not guess subreddit names or Slack community names -- verify they exist.
112
113For each persona, produce:
114
115### Online Communities
116| Channel Type | Specific Communities |
117|---|---|
118| **Subreddits** | 5-8 subreddits (use WebSearch: search `reddit.com {topic} {persona role}` to find active, relevant subs). Include subscriber count if available. |
119| **LinkedIn groups & hashtags** | 3-5 groups, 5-8 hashtags |
120| **Slack / Discord communities** | 2-4 (use WebSearch to find open communities in the persona's space) |
121| **Newsletters** | 3-5 newsletters they likely subscribe to |
122| **Podcasts** | 3-5 podcasts relevant to their role and problems |
123| **Events / Conferences** | 2-4 industry events (in-person or virtual) |
124| **Thought leaders** | 5-8 people this persona follows or respects (with LinkedIn or Twitter handles where findable) |
125
126**Rules for this step:**
127- Every subreddit must be verified via WebSearch. If a search returns no evidence the subreddit exists and is active, drop it and find one that does.
128- Prefer communities with actual activity (posts in the last 30 days, >1K members for subreddits) over theoretical matches.
129- Include at least 1-2 non-obvious or "hidden gem" communities per persona -- places competitors are unlikely to be watching.
130
131---
132
133## Step 5 — Buying Signals Mapping
134
135Define **8-12 signals** that indicate a company or person matching the ICP is in a buying window.
136
137For each signal:
138
139| Field | Options / Description |
140|---|---|
141| **Signal** | What happened (e.g., "Posted a job listing for their first RevOps hire") |
142| **Where to find it** | LinkedIn, job boards, press releases, G2 reviews, Reddit, SEC filings, tech stack tools, etc. |
143| **Signal strength** | **Strong** (high intent, act now) / **Moderate** (worth monitoring) / **Weak** (early awareness) |
144| **Recommended action** | What to do when you spot this signal (e.g., "Send a personalized cold email referencing the hire", "Add to nurture sequence", "Flag for SDR review") |
145
146**Rules for this step:**
147- At least 3 signals must be "Strong."
148- Signals should be observable and actionable -- not vague ("they seem interested"). Every signal must answer: where exactly would I see this?
149- Include a mix of digital signals (job posts, tech installs, content engagement) and real-world signals (funding rounds, leadership changes, regulatory shifts).
150
151---
152
153## Step 6 — Disqualification Criteria
154
155Define **3-5 hard disqualifiers** -- characteristics that mean a prospect is NOT a fit, no matter how interested they seem.
156
157For each disqualifier:
158
159| Field | Description |
160|---|---|
161| **Criterion** | What makes them a non-fit (e.g., "Company has fewer than 10 employees") |
162| **Why** | Why this is a dealbreaker (e.g., "ACV too small to justify sales cycle length") |
163| **How to detect early** | Where / when in the process you can spot this before wasting time |
164
165**Rules for this step:**
166- These should be based on the user's actual experience (from the discovery interview) plus logical inference from the ICP segments.
167- Ask the user: _"Are there any other dealbreakers I'm missing from your experience?"_ before finalizing.
168
169---
170
171## Step 7 — Output
172
173After all steps are confirmed, write the complete ICP to `docs/icp.md` using `Write`.
174
175### File Structure
176
177```markdown
178# Ideal Customer Profile
179> Generated by ICP Architect | Last updated: {YYYY-MM-DD}
180
181## Company Overview
182- **Product:** {one-sentence description from Q1}
183- **ACV Range:** {from Q3}
184- **Sales Cycle:** {from Q4}
185- **Key Decision Maker(s):** {from Q5}
186
187---
188
189## ICP Segments
190
191### Segment 1: {Name}
192{Full segment table from Step 2}
193
194### Segment 2: {Name}
195{Full segment table from Step 2}
196
197---
198
199## Personas
200
201### {Archetype Name} ({Segment Name})
202{Full persona details from Step 3}
203
204#### Where They Hang Out
205{Community & channel table from Step 4}
206
207---
208{Repeat for each persona}
209
210## Buying Signals
211
212| # | Signal | Source | Strength | Action |
213|---|--------|--------|----------|--------|
214| 1 | ... | ... | Strong | ... |
215{Full table from Step 5}
216
217---
218
219## Disqualification Criteria
220
221| # | Criterion | Why | Early Detection |
222|---|-----------|-----|-----------------|
223| 1 | ... | ... | ... |
224{Full table from Step 6}
225
226---
227
228## Language Bank
229> Phrases your personas actually use. Reference these in outreach, content, and ad copy.
230
231### {Persona 1 Name}
232- "{phrase 1}"
233- "{phrase 2}"
234...
235
236### {Persona 2 Name}
237- "{phrase 1}"
238- "{phrase 2}"
239...
240
241---
242
243## Quick Reference — Who to Target
244
245| Segment | Decision Maker | Trigger Event | Best Channel |
246|---------|---------------|---------------|--------------|
247| {Segment 1} | {Title} | {Trigger from Q6} | {Top channel from Step 4} |
248| {Segment 2} | {Title} | {Trigger from Q6} | {Top channel from Step 4} |
249
250---
251*This file is a living document. Rerun the ICP Architect skill to refine as you learn more from customers and deals.*
252```
253
254### Post-Output Actions
255
256After writing the file:
2571. Confirm to the user: _"Your ICP has been written to `docs/icp.md`."_
2582. Provide a brief summary: number of segments, number of personas, number of buying signals, and the top 3 communities discovered.
2593. Suggest next steps: _"Now that your ICP is defined, you can use it as input for outreach sequences, content strategy, or competitive research."_
260
261---
262
263## Tools Used
264
265| Tool | Purpose |
266|---|---|
267| `Read` | Check if `docs/icp.md` already exists |
268| `Write` | Output the final ICP document |
269| `WebSearch` | Validate subreddit names, find Slack/Discord communities, discover newsletters, podcasts, and thought leaders |
270
271---
272
273## Rules (Non-Negotiable)
274
2751. **Interactive first, output second.** Never skip the discovery interview. Never generate the ICP from assumptions alone.
2762. **Ask all questions before producing output.** Do not drip-feed one question at a time (unless following up on a vague answer). Present the full question set, let the user answer, then build.
2773. **Validate communities with WebSearch.** Do not hallucinate subreddit names, Slack groups, or newsletters. If you cannot verify it exists, do not include it.
2784. **Get user confirmation at each milestone.** Confirm segments (Step 2) and personas (Step 3) before going deeper. The user is the expert on their own business.
2795. **Language patterns must sound human.** They should read like something typed into a search bar or said on a sales call -- not like marketing copy.
2806. **The output file must be self-contained.** Anyone reading `docs/icp.md` should understand the full ICP without needing additional context.
2817. **No proprietary references.** This skill is public. Do not reference internal tools, databases, client names, or private infrastructure.
2828. **Prefer depth over breadth.** Two deeply-researched segments beat five shallow ones. Three real buying signals beat twelve generic ones.