Systems Lab

Agent skill

icp-sharpener-b2b

Sharpen a vague B2B SaaS ideal customer profile into a decision-ready ICP with named segments, disqualifiers, buying triggers, and message angles.

activeSelf-containedInstructions only493 words

Filed under Prospecting and list building.

From vcxcvii/pipeline-skills · 10 skill entries · 0 · pushed 2026-09-25

What it does when it runs

Sharpen a vague B2B SaaS ideal customer profile into a decision-ready ICP with named segments, disqualifiers, buying triggers, and message angles. Use when the user says their targeting feels broad, wants to define or tighten their ICP, asks "who should we sell to", or is about to brief outbound, ads, or a landing page without a written ICP. Works from a website URL, a CRM export, or a conversation with the founder.

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about icp-sharpener-b2b

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/vcxcvii/pipeline-skills.git /tmp/pipeline-skills
git -C /tmp/pipeline-skills sparse-checkout set "skills/icp-sharpener-b2b"
mkdir -p ~/.claude/skills/icp-sharpener-b2b
cp -R "/tmp/pipeline-skills/skills/icp-sharpener-b2b/." ~/.claude/skills/icp-sharpener-b2b/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 10 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add vcxcvii/pipeline-skills
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from vcxcvii/pipeline-skills/blob/d284df833e7dd2f21ff15384461ea6fcd3f454c4/skills/icp-sharpener-b2b/SKILL.md, which is licensed MIT (repository). 493 words, 11 headings.

ICP Sharpener (B2B SaaS)

Turn "we sell to B2B companies that need X" into an ICP a marketer or SDR can act on without asking follow-up questions.

What you need before starting

Gather (ask for whatever is missing):

  1. Product: what it does, in the user's own words. One paragraph max.
  2. Evidence: 5–15 real accounts, best customers, worst customers, recent churns, recent closed-lost. Names optional; descriptions required.
  3. Deal mechanics: typical ACV, sales cycle length, who signed, who blocked.

If the user only has a website URL, fetch it, infer a draft, and label every inference as an assumption to validate.

Workflow

Step 1: Split "customer" into three roles

For each good-fit account, identify separately, these are rarely the same person and conflating them is the #1 ICP error:

  • User: who touches the product weekly
  • Buyer: who signed / owns the budget line
  • Champion: who dragged the deal through internally

Step 2: Find the pattern in the evidence, not the aspiration

Compare best vs. worst accounts across: company size, funding stage, tech stack, team structure, motion (PLG/sales-led), and the situation right before they bought. The ICP is what the best accounts share that the worst lack , not who the founder wishes would buy.

Step 3: Name the buying trigger

For each strong account, answer: what changed that made them start looking? (New leader hired, funding round, tool ripped out, compliance deadline, growth stalled.) An ICP without triggers produces outbound with no reason to reply.

Step 4: Write the disqualifiers

List 3–5 hard disqualifiers (too small, wrong stack, no budget owner, needs on-prem). A segment you can't say no to isn't a segment.

Step 5: Output the ICP one-pager

Produce exactly this structure:

## ICP: <segment name, specific, e.g. "Series A–B PLG SaaS, 20–80 FTE, first marketing hire just landed">

**Firmographics**: size, stage, geo, stack
**User / Buyer / Champion**: title + what each cares about (one line each)
**Buying triggers**: 2–4 observable events
**Disqualifiers**: 3–5 hard nos
**Where they live**: communities, events, newsletters, who they follow
**Message angle**: the one sentence that names their situation better than they can
**Confidence**: which parts are evidence-backed vs. assumed, and the fastest way to test the assumptions

If the evidence supports two distinct segments, write two one-pagers and recommend which to lead with (score on: revenue evidence, reachability, sales cycle speed). Never output more than three, more than three ICPs is zero ICPs.

Quality bar

  • Every claim traces to an account in the evidence or is flagged as assumption.
  • A stranger could build a 200-account list from the firmographics alone.
  • The message angle names a situation, not a benefit ("your first marketing hire just inherited a backlog," not "save time and grow faster").

Related skills

positioning-canvas to turn the ICP into a claim. outbound-sequence-writer to act on it. landing-page-teardown to check the page speaks to it.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what icp-sharpener-b2b does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.