ICP
Produce one durable artifact: .agents/memory/icp.md, the ranked answer to "who do
we sell to, and why do they pay." It is the input that lets roadmap-analyzer weigh
features by revenue instead of guesswork, and lets roadmap-to-milestones sequence
work toward MRR. Ground it in what the product already says about itself before
asking the founder anything.
This skill does not build features or write roadmaps. It interviews, then writes the
ICP doc — and writes it only after the draft is confirmed.
Contract
Inputs:
- A product, repo, or business the ICP describes.
- Optional: landing/pricing copy, existing customers, sales notes, analytics,
churn data, or the founder's own knowledge.
Outputs:
- A ranked ICP draft shown in chat.
- On confirmation,
.agents/memory/icp.md written (created or updated).
Creates/Modifies:
.agents/memory/icp.md only, and only after the user approves the draft.
External Side Effects:
- None. Reads local product context; writes one local memory file on approval.
Confirmation Required:
- Before writing or overwriting
.agents/memory/icp.md. Show the full draft first.
Delegates To:
roadmap-analyzer once the ICP exists — it scores features against these segments.
- Recommend
interview when the question is a single feature's requirements, not the whole
customer.
Workflow
1. Read what the product already claims
Before any question, mine the product's own signals — the founder should never be
asked what the repo already states:
- Landing page, pricing page, and onboarding copy (who it addresses, what tier
language implies about budget).
.agents/memory/ (especially memory.md, context.md) and README for stated
audience or positioning.
- The codebase for feature signals that imply a user: team/roles/permissions →
multi-seat buyers; batch/bulk/queue → volume users; billing tiers → price points.
- Any existing
.agents/memory/icp.md — if present, this run refines it, not
replaces it blind.
Summarize the scan in three bullets: who the product seems built for, what pricing
implies about budget, and where the audience is still ambiguous.
2. Grill toward the dimensions that move revenue
Ask at most three questions at a time. Ground each in the scan — never ask what step
1 already answered. The dimensions that decide whether a segment is worth building
for, in priority order:
- Segment — a nameable group, not "everyone". Who has this problem acutely
enough to pay?
- Job-to-be-done — the outcome they hire the product for, in their words.
- Acute pain — what breaks today without it, and how often. Vitamin or painkiller?
- Willingness to pay — real budget and who signs. A segment that loves the
product but cannot pay is not the ICP.
- Buying trigger — the event that turns "interesting" into "purchased" (a
deadline, a scale threshold, a competitor loss, a new hire).
- Current alternative — what they use now (a competitor, a spreadsheet, an
intern, nothing). The alternative sets the price ceiling and the switching cost.
- Churn / abandonment — why this segment leaves or never activates. This is the
signal
roadmap-analyzer needs to score retention work.
- Expansion path — what makes them pay more over time (seats, volume, tiers).
Stop when each in-scope segment has these eight filled or explicitly marked unknown.
Do not interrogate past that — a thin but honest ICP beats an invented rich one.
3. Rank segments by revenue potential
Order segments by realistic revenue contribution, not by how many exist. For each,
weigh: budget × how acute the pain × how fast they buy × how well the product
already serves them. Name a single primary segment — the one the roadmap should
optimize for — and mark the rest secondary or "not yet". A founder serving three
segments equally is usually serving none well; say so.
4. Draft the ICP doc
Show this in full and wait for approval before writing:
# ICP — <product>
_Last updated: <date>. Maintained by the `icp` skill; consumed by
`roadmap-analyzer` and `roadmap-to-milestones`._
## Primary segment: <name>
- **Who:** <company size / role / context>
- **Job-to-be-done:** <the outcome, in their words>
- **Acute pain:** <what breaks today, how often, painkiller vs vitamin>
- **Willingness to pay:** <budget range, who signs the check>
- **Buying trigger:** <the event that converts them>
- **Current alternative:** <what they use now; the price ceiling it sets>
- **Churn / abandonment reasons:** <why they leave or never activate>
- **Expansion path:** <what makes them pay more over time>
- **Why primary:** <one line on revenue leverage>
## Secondary segments
### <name> — <one line, why secondary / when to revisit>
<same eight fields, briefer>
## Not our ICP (explicitly)
- <segment we will not optimize for, and why — guards against scope creep>
## Revenue implications for the roadmap
- **Land:** <what unblocks a sale to the primary segment>
- **Retain:** <what churn reason the roadmap must remove>
- **Expand:** <what unlocks the expansion path>
## Open questions
- <unknown to validate with real customers, or "None">
5. Write on confirmation
Only after the user approves, write .agents/memory/icp.md (create the directory if
absent). Report the path and recommend the next step: roadmap-analyzer to turn this
into a revenue-ranked backlog.
Anti-Patterns
- "Everyone" as a segment. If it does not exclude anyone, it does not guide a
roadmap. Force a nameable primary segment.
- Confusing users with buyers. The person who loves the product and the person
who pays are often different; capture both under willingness-to-pay.
- A rich ICP invented from nothing. Mark unknowns as unknown and put them in Open
Questions rather than fabricating budget or triggers.
- Writing the file before approval, or silently overwriting an existing ICP —
show the draft and diff the change first.
- Ranking segments by headcount instead of revenue. The biggest group is not the
ICP; the one that pays most, fastest, for the most acute pain is.
1---
2name: icp
3description: Discover and document a product's Ideal Customer Profile as a durable .agents/memory/icp.md — segments ranked by revenue potential, each with acute pain, willingness-to-pay, buying trigger, and churn reasons. Use when a user says "define our ICP", "who is our customer", "who are we selling to", "document our ideal customer", or before roadmap-analyzer / roadmap-to-milestones need a customer to prioritize against.
4user-invocable: true
5argument-hint: "[product or repo]"
6metadata:
7 version: "1.0.1"
8 tags: "icp, customer, product, revenue, discovery, positioning"
9 author: Ship Shit Dev
10when_to_use: "define our ICP, ideal customer profile, who is our customer, who are we selling to, document the ICP, customer segments, who should we build for, before roadmap prioritization"
11---
12
13# ICP
14
15Produce one durable artifact: `.agents/memory/icp.md`, the ranked answer to "who do
16we sell to, and why do they pay." It is the input that lets `roadmap-analyzer` weigh
17features by revenue instead of guesswork, and lets `roadmap-to-milestones` sequence
18work toward MRR. Ground it in what the product already says about itself before
19asking the founder anything.
20
21This skill does not build features or write roadmaps. It interviews, then writes the
22ICP doc — and writes it only after the draft is confirmed.
23
24## Contract
25
26Inputs:
27
28- A product, repo, or business the ICP describes.
29- Optional: landing/pricing copy, existing customers, sales notes, analytics,
30 churn data, or the founder's own knowledge.
31
32Outputs:
33
34- A ranked ICP draft shown in chat.
35- On confirmation, `.agents/memory/icp.md` written (created or updated).
36
37Creates/Modifies:
38
39- `.agents/memory/icp.md` only, and only after the user approves the draft.
40
41External Side Effects:
42
43- None. Reads local product context; writes one local memory file on approval.
44
45Confirmation Required:
46
47- Before writing or overwriting `.agents/memory/icp.md`. Show the full draft first.
48
49Delegates To:
50
51- `roadmap-analyzer` once the ICP exists — it scores features against these segments.
52- Recommend `interview` when the question is a single feature's requirements, not the whole
53 customer.
54
55## Workflow
56
57### 1. Read what the product already claims
58
59Before any question, mine the product's own signals — the founder should never be
60asked what the repo already states:
61
62- Landing page, pricing page, and onboarding copy (who it addresses, what tier
63 language implies about budget).
64- `.agents/memory/` (especially `memory.md`, `context.md`) and README for stated
65 audience or positioning.
66- The codebase for feature signals that imply a user: team/roles/permissions →
67 multi-seat buyers; batch/bulk/queue → volume users; billing tiers → price points.
68- Any existing `.agents/memory/icp.md` — if present, this run refines it, not
69 replaces it blind.
70
71Summarize the scan in three bullets: who the product seems built for, what pricing
72implies about budget, and where the audience is still ambiguous.
73
74### 2. Grill toward the dimensions that move revenue
75
76Ask at most three questions at a time. Ground each in the scan — never ask what step
771 already answered. The dimensions that decide whether a segment is worth building
78for, in priority order:
79
801. **Segment** — a nameable group, not "everyone". Who has this problem acutely
81 enough to pay?
822. **Job-to-be-done** — the outcome they hire the product for, in their words.
833. **Acute pain** — what breaks today without it, and how often. Vitamin or painkiller?
844. **Willingness to pay** — real budget and who signs. A segment that loves the
85 product but cannot pay is not the ICP.
865. **Buying trigger** — the event that turns "interesting" into "purchased" (a
87 deadline, a scale threshold, a competitor loss, a new hire).
886. **Current alternative** — what they use now (a competitor, a spreadsheet, an
89 intern, nothing). The alternative sets the price ceiling and the switching cost.
907. **Churn / abandonment** — why this segment leaves or never activates. This is the
91 signal `roadmap-analyzer` needs to score retention work.
928. **Expansion path** — what makes them pay *more* over time (seats, volume, tiers).
93
94Stop when each in-scope segment has these eight filled or explicitly marked unknown.
95Do not interrogate past that — a thin but honest ICP beats an invented rich one.
96
97### 3. Rank segments by revenue potential
98
99Order segments by realistic revenue contribution, not by how many exist. For each,
100weigh: budget × how acute the pain × how fast they buy × how well the product
101already serves them. Name a single **primary** segment — the one the roadmap should
102optimize for — and mark the rest secondary or "not yet". A founder serving three
103segments equally is usually serving none well; say so.
104
105### 4. Draft the ICP doc
106
107Show this in full and wait for approval before writing:
108
109```markdown
110# ICP — <product>
111
112_Last updated: <date>. Maintained by the `icp` skill; consumed by
113`roadmap-analyzer` and `roadmap-to-milestones`._
114
115## Primary segment: <name>
116
117- **Who:** <company size / role / context>
118- **Job-to-be-done:** <the outcome, in their words>
119- **Acute pain:** <what breaks today, how often, painkiller vs vitamin>
120- **Willingness to pay:** <budget range, who signs the check>
121- **Buying trigger:** <the event that converts them>
122- **Current alternative:** <what they use now; the price ceiling it sets>
123- **Churn / abandonment reasons:** <why they leave or never activate>
124- **Expansion path:** <what makes them pay more over time>
125- **Why primary:** <one line on revenue leverage>
126
127## Secondary segments
128
129### <name> — <one line, why secondary / when to revisit>
130<same eight fields, briefer>
131
132## Not our ICP (explicitly)
133
134- <segment we will not optimize for, and why — guards against scope creep>
135
136## Revenue implications for the roadmap
137
138- **Land:** <what unblocks a sale to the primary segment>
139- **Retain:** <what churn reason the roadmap must remove>
140- **Expand:** <what unlocks the expansion path>
141
142## Open questions
143
144- <unknown to validate with real customers, or "None">
145```
146
147### 5. Write on confirmation
148
149Only after the user approves, write `.agents/memory/icp.md` (create the directory if
150absent). Report the path and recommend the next step: `roadmap-analyzer` to turn this
151into a revenue-ranked backlog.
152
153## Anti-Patterns
154
155- **"Everyone" as a segment.** If it does not exclude anyone, it does not guide a
156 roadmap. Force a nameable primary segment.
157- **Confusing users with buyers.** The person who loves the product and the person
158 who pays are often different; capture both under willingness-to-pay.
159- **A rich ICP invented from nothing.** Mark unknowns as unknown and put them in Open
160 Questions rather than fabricating budget or triggers.
161- **Writing the file before approval**, or silently overwriting an existing ICP —
162 show the draft and diff the change first.
163- **Ranking segments by headcount instead of revenue.** The biggest group is not the
164 ICP; the one that pays most, fastest, for the most acute pain is.