Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Define a sharp Ideal Customer Profile (ICP) — firmographics, behavioral signals, JTBD, and buyer persona. Use when defining a new ICP, refining one from actual closed customers, or auditing why pipeline or conversion is poor.
.claude/skills/borghei-ideal-customer-profile/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 37% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 62% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 3% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 158% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 102% | 0% |
The sharp definition of who you serve — used by marketing for targeting, sales for qualification, and product for prioritization.
Use ICP for "which companies." Use persona for "which humans within ICP."
Before defining the ICP, confirm these inputs. If any is unknown or vague, ASK — do not assume:
Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
If you have customers:
If you don't have customers:
Common "ICP" patterns that are wishful thinking:
A real ICP excludes most companies.
Per dimension, be specific.
Example for HR analytics SaaS:
| Dimension | Definition | |-----------|------------| | Firmographics | US, mid-market (200-2000 EE), SaaS or services vertical, > $20M revenue, 5+ years old | | Tech-stack | Workday or BambooHR + ADP or Gusto. Bonus: existing BI tool (Looker / Tableau / Mode) | | Buyer persona | HR Director or VP People; 5+ years tenure; built career on people analytics | | JTBD | "I need to be a strategic partner to the CFO/CEO; I'm stuck doing reports manually" | | Existing alternatives | Excel + analyst (often resigned to it); occasionally hired contractor | | Trigger events | Annual reporting cycle just done; new CFO joined; HR analyst departed; board asking for better data | | Budget authority | Director can recommend; VP People approves $50K; CHRO approves $200K+ | | Reachability | SHRM events, HR Tech podcast, LinkedIn (HR Director groups), HR Brew newsletter |
For sales qualification, distill ICP to a scorable checklist:
Qualification (BANT-style):
- Industry fit: SaaS/services? (yes/no)
- Size fit: 200-2000 EE? (yes/no)
- Tech fit: Workday/BambooHR + ADP/Gusto? (yes/no)
- Authority: VP People+ in deal? (yes/no)
- Pain: actively trying to solve HR analytics? (yes/no)
- Budget: confirmed > $50K? (yes/no)
- Timeline: decision in next 6 months? (yes/no)5+ yes = strong lead. <3 yes = disqualify.
icp_scorer.pyAudit ICP definition for specificity, score account lists against ICP.
bashpython3 project-management/gtm/ideal-customer-profile/scripts/icp_scorer.py \ --input icp_spec.json --format markdown
ICP shifts:
Don't refresh weekly. Quarterly is healthy.
For each dimension, ask:
Vague: "growing SaaS companies" Sharp: "US-headquartered B2B SaaS companies, $10M-$100M ARR, post-Series B, that have hired their first VP of Sales in last 12 months"
Tech stack reveals readiness:
Tools like BuiltWith, G2, Crunchbase + scraping can reveal stack.
Strongest triggers (cause buying activity):
Weaker triggers:
For each ICP, can you:
If unreachable, ICP is academic.
references/icp-dimensions-deep.md — 8 dimensions in depth + signalsreferences/icp-refinement-from-data.md — using closed customers to refineproject-management/gtm/gtm-strategy — uses ICP as inputproject-management/strategy-frameworks/business-model-canvas — segments blockproject-management/discovery/customer-interview-script — interview-based ICP discoverymarketing/competitive-teardown — competitive contextc-level-advisor/cro-advisor — sales contextc-level-advisor/cmo-advisor — marketing context| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 22,003 | 29,176 | +33% | 1 | 1 | 0% | 3,056 | 6,232 | +104% | 0 | 0 | — |
case-02 | fail→pass | 19,250 | 11,455 | -40% | 1 | 1 | 0% | 2,877 | 3,953 | +37% | 0 | 0 | — |
case-03 | fail→pass | 21,349 | 19,401 | -9% | 1 | 1 | 0% | 3,105 | 5,016 | +62% | 0 | 0 | — |
case-04 | fail→fail | 18,148 | 21,597 | +19% | 1 | 1 | 0% | 2,763 | 5,576 | +102% | 0 | 0 | — |
case-05 | fail→pass | 20,097 | 5,657 | -72% | 1 | 1 | 0% | 2,769 | 2,844 | +3% | 0 | 0 | — |
case-06 | fail→pass | 12,238 | 16,852 | +38% | 1 | 1 | 0% | 1,779 | 4,583 | +158% | 0 | 0 | — |
case-07 | pass→pass | 12,761 | 11,508 | -10% | 1 | 1 | 0% | 1,922 | 3,812 | +98% | 0 | 0 | — |
case-08 | pass→pass | 16,969 | 15,916 | -6% | 1 | 1 | 0% | 2,566 | 4,345 | +69% | 0 | 0 | — |
case-09 | pass→pass | 17,715 | 19,504 | +10% | 1 | 1 | 0% | 2,687 | 4,936 | +84% | 0 | 0 | — |
case-10 | pass→pass | 14,122 | 18,004 | +27% | 1 | 1 | 0% | 2,190 | 4,919 | +125% | 0 | 0 | — |
case-11 | fail→pass | 18,587 | 21,280 | +14% | 1 | 1 | 0% | 2,578 | 5,213 | +102% | 0 | 0 | — |
case-12 | fail→pass | 16,493 | 19,394 | +18% | 1 | 1 | 0% | 2,470 | 4,965 | +101% | 0 | 0 | — |
case-13 | fail→pass | 17,503 | 14,029 | -20% | 1 | 1 | 0% | 2,585 | 4,037 | +56% | 0 | 0 | — |
case-14 | pass→pass | 14,950 | 17,685 | +18% | 1 | 1 | 0% | 2,228 | 4,615 | +107% | 0 | 0 | — |
case-15 | pass→pass | 13,833 | 11,094 | -20% | 1 | 1 | 0% | 2,112 | 3,703 | +75% | 0 | 0 | — |
case-16 | fail→fail | 12,191 | 14,092 | +16% | 1 | 1 | 0% | 1,779 | 4,053 | +128% | 0 | 0 | — |
case-17 | pass→pass | 12,704 | 18,598 | +46% | 1 | 1 | 0% | 1,821 | 4,781 | +163% | 0 | 0 | — |
case-18 | fail→pass | 13,597 | 12,723 | -6% | 1 | 1 | 0% | 2,109 | 3,844 | +82% | 0 | 0 | — |
case-19 | fail→fail | 16,980 | 18,683 | +10% | 1 | 1 | 0% | 2,356 | 4,601 | +95% | 0 | 0 | — |
case-20 | pass→pass | 12,713 | 19,053 | +50% | 1 | 1 | 0% | 2,130 | 5,136 | +141% | 0 | 0 | — |
case-21 | pass→pass | 7,894 | 8,663 | +10% | 1 | 1 | 0% | 1,215 | 3,308 | +172% | 0 | 0 | — |
case-22 | pass→pass | 14,380 | 16,083 | +12% | 1 | 1 | 0% | 3,092 | 5,477 | +77% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.