MCPInstall

icp-identification

Research a company or idea, define the Ideal Customer Profile, and route to the right next step — either mapping the TAM or finding leads/prospects directly. The entry point for any "find me leads", "map my market", or "who should I sell to" request. Auto-loads when a user provides a company URL or idea and asks for leads or market mapping.

Installs
78
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/gooseworks-ai/goose-skills --skill icp-identification
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads icp-identification automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

ICP Identification

Research a company or idea, define the Ideal Customer Profile, and route to the right next step. This is the entry point for any "find me leads" or "map my market" request — it sits upstream of all lead-finding and TAM-building skills and ensures we understand the business, define the target, and pick the right approach before executing.

When to Auto-Load

  • User says "find me leads", "help me find prospects", "who should I sell to", or similar
  • User provides a company URL and asks for leads/prospects
  • User describes an idea/product and wants to find customers
  • User asks "who is my ICP?" or "help me define my target market"
  • User asks to "map my TAM", "size my market", or "build a target account list"

Phase 0: Gather Context

When triggered, collect these inputs from the user:

  1. Company URL or describe your idea/product
  2. What does the product/service do? (skip if URL provided — we'll research)
  3. Who are your current customers? (if any — ask for specific company names, titles of buyers/champions, and how they found the product. These examples calibrate search filters far better than abstract descriptions.)
  4. What's your price point / deal size? (helps determine buyer seniority)
  5. Who is NOT a fit? — Ask about industries, company types, company sizes, or roles that are explicitly wrong for this product. Prompt with examples: "Are there industries that definitely don't work? Company sizes too small or too large? Titles that look right but never buy?" Even rough exclusions prevent noisy search results downstream.

If the user provides a company URL, research it using web tools before asking follow-up questions. Don't ask questions you can answer from the website.

Intake principle: Every answer here should help you populate a search filter (title, industry, headcount range, region) or an exclusion filter (titles to skip, industries to ignore, company types to avoid). If a user's answer is too vague to become a filter value, probe deeper. Don't ask generic strategy questions — ask questions that sharpen the search.

Phase 1: Research

Using web search and the company URL, investigate:

  1. Company research — What do they sell? Who do they sell to? Value proposition. Pricing model.
  2. Market analysis — What category/space? Market size signals. Growth stage.
  3. Competitor identification — Who are the top 3-5 competitors? How are they positioned?
  4. Buyer signals — Who buys this kind of product? What titles? What triggers a purchase?

Output: Synthesize findings into a brief (5-10 bullet points) and present to the user for validation. Example:

Research Summary:

  • Company sells X to Y
  • Main competitors: A, B, C
  • Typical buyer: VP/Director level at mid-market companies
  • Purchase triggers: scaling team, switching from legacy tool, new budget cycle
  • Pricing suggests mid-market / enterprise buyer

Ask the user: "Does this match your understanding? Anything to correct or add?"

Phase 2: Define ICP

Based on research + user input, propose a structured ICP:

DimensionRecommendationReasoning
Job Titlese.g., VP Sales, Head of Revenue OpsDirect buyers of sales tools
Senioritye.g., VP, DirectorBudget authority at this deal size
Company Sizee.g., 51-200 employeesSweet spot for this product
Industrye.g., SaaS, FinTechHighest product-market fit
Regione.g., US, SF Bay AreaCurrent market focus
Signalse.g., recently hired, posted about painTiming indicators

Present as a table. Ask user to confirm, adjust, or refine. Iterate until they approve.

Exclusion Criteria (Equally Important)

Define what to filter OUT. These map directly to "not in" / exclusion parameters in search tools:

DimensionExcludeReasoning
Titles to excludee.g., Intern, Coordinator, Assistant, StudentNo budget authority or decision power
Industries to excludee.g., Government, Education, Non-profitProduct doesn't serve these verticals
Company types to excludee.g., Agencies, consultancies, sole proprietorsNot a fit for the product model
Company size to excludee.g., 1-10 employees, 10,000+Too small to need it / too large to buy it
Specific companies to excludee.g., existing customers, competitors, partnersAlready in pipeline or not appropriate

Present exclusions alongside the inclusion table. Ask user to confirm both.

Important: The ICP definition becomes the input context for all downstream skills. Be specific — vague ICPs produce vague leads.

Search precision warning: Downstream tools (Apollo and similar databases) match on the exact title strings, industry tags, and keywords you pass them. Overly broad or stuffed filters (e.g., 15 keyword tags) return noisy results. Each filter value should be specific and intentional. When in doubt, use fewer, more precise values and let exclusions do the narrowing.

Phase 3: Choose Path — TAM or Leads?

Once ICP is locked, ask the user:

"Now that we have the ICP defined, would you like to:

  1. Map your TAM — Build a scored Total Addressable Market: discover all companies matching your ICP, score and tier them, and build a persona watchlist for the best-fit accounts. This is the strategic, market-first approach.
  2. Find leads/prospects now — Go straight to finding individual people to contact. This is the tactical, results-now approach.

TAM mapping is best when you want a full picture of your market, ongoing signal monitoring, and a systematic account-based approach. Lead finding is best when you need contacts to reach out to immediately."

Path A: Map the TAM

If the user chooses TAM mapping, hand off to the TAM builder skill with the ICP definition. The TAM builder will:

  1. Search for companies matching the ICP filters
  2. Score and tier them by fit
  3. Build a persona watchlist for best-fit accounts

When to recommend TAM path:

  • User wants a systematic, account-based approach
  • Market is well-defined but user doesn't know which companies are in it
  • User plans to run ongoing outbound (not a one-shot campaign)
  • User wants to prioritize accounts by fit before reaching out
  • User asks about "market sizing", "target account list", or "account-based"

Path B: Find Leads/Prospects → Lead-Finding Skills

If the user chooses lead finding, present ranked strategies based on what's available in the skill graph:

#StrategySkill UsedBest ForEffort
1Database search — Search people DB by title, industry, region, company sizeapollo-lead-finderHigh volume, broad ICPLow
2Pain language — Find people posting about problems your product solvespain-language-engagersWarm leads with expressed needMedium
3Competitor audiences — Find people engaging with competitor contentcompetitor-post-engagersLeads already in-marketMedium
4KOL audiences — Find leads from industry influencer audienceskol-discovery → kol-engager-icpNiche, high-quality leadsMedium
5Hiring signals — Find companies hiring roles your product replaces/supportsjob-posting-intentCompanies with budget & urgencyMedium
6Event attendees — Find leads from industry eventsget-qualified-leads-from-lumaEngaged, in-market leadsLow
7Apollo database search — Search Apollo's 210M+ contact database (free search, paid enrichment)apollo-lead-finderBroadest coverage, cost-controlled enrichmentLow

Recommendation logic:

  • Early-stage / broad ICP → Start with database search (volume) + pain language (warmth)
  • Established with known competitors → Competitor audiences + database search
  • Niche market → KOL audiences + event attendees
  • High urgency / budget signals matter → Hiring signals + database search

Recommend 1-2 strategies based on the ICP and company stage. Ask user to pick which to execute.

Phase 4: Hand Off

Once user selects their path and strategy(ies):

  1. Load the corresponding skill's SKILL.md
  2. Pass the ICP definition as context — titles, industries, regions, company size, signals
  3. Begin that skill's Phase 0 (intake) with ICP already populated — don't re-ask questions the ICP already answers
  4. If multiple strategies selected, execute sequentially — complete one before starting the next

Handoff format

When transitioning to a downstream skill, carry forward:

ICP Context (from icp-identification):

Include:
- Titles: [list]
- Seniority: [list]
- Company size: [range]
- Industries: [list]
- Region: [list]
- Signals: [list]
- Product: [what the user sells]
- Competitors: [identified competitors]

Exclude:
- Titles to exclude: [list]
- Industries to exclude: [list]
- Company types to exclude: [list]
- Company size to exclude: [ranges]
- Companies to exclude: [specific names, if any]

This ensures downstream skills skip redundant intake questions and start executing immediately. Both inclusion and exclusion criteria must be passed — exclusions are what prevent noisy search results.

FAQ

What does the icp-identification skill do?

Research a company or idea, define the Ideal Customer Profile, and route to the right next step — either mapping the TAM or finding leads/prospects directly. The entry point for any "find me leads", "map my market", or "who should I sell to" request. Auto-loads when a user provides a company URL or idea and asks for leads or market mapping.

How do I install icp-identification?

Run npx skills add https://github.com/gooseworks-ai/goose-skills --skill icp-identification in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/icp-identification/ (personal) or .claude/skills/icp-identification/ (project).

Which AI agents can use icp-identification?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is icp-identification safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains icp-identification?

It is published by gooseworks-ai in gooseworks-ai/goose-skills. It has 78 recorded installs.

More from gooseworks-ai/goose-skills

View all →

restaurant-booking

gooseworks-ai/goose-skills

Book restaurant reservations via browser automation. Use when asked to make dinner reservations, book a table, or find availability at restaurants. Supports OpenTable, Resy, and direct restaurant booking sites.

send-sms-textbelt

gooseworks-ai/goose-skills

Open the skill to read its SKILL.md instructions.

243 installs

job-scraper

gooseworks-ai/goose-skills

Open the skill to read its SKILL.md instructions.

146 installs

linkedin-outreach

gooseworks-ai/goose-skills

Open the skill to read its SKILL.md instructions.

Marketing & SEO112 installs

find-skill

gooseworks-ai/goose-skills

Open the skill to read its SKILL.md instructions.

104 installs

linkedin-job-scraper

gooseworks-ai/goose-skills

Open the skill to read its SKILL.md instructions.

Marketing & SEO102 installs

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。