list-building
List Building Skill
Build targeted lists of potential buyers from LinkedIn based on Ideal Customer Profile (ICP) criteria. This skill is for prospecting - finding people who might buy your product or service, not for competitive analysis.
Process
Step 0: Load Defaults & Check Scope
First, check for saved decisions:
Read .business_growth/sales/DECISIONS.md if it exists. This file stores global defaults like:
- Buyer persona and target titles
- Target industries and exclusions
- Company segment preferences
- Sales Navigator availability
- Competitors to exclude
If DECISIONS.md exists: Ask the user: "I found your saved preferences. Want to use these defaults, or customize for this specific list?"
- (A) Use defaults → Skip to Step 1, only ask list-specific questions (target lead count, any overrides)
- (B) Customize → Go through the full discovery questions below
- (C) Update defaults → Go through questions and save new answers to DECISIONS.md
If DECISIONS.md doesn't exist: Go through the full discovery process and offer to save answers as defaults at the end.
Step 0b: Resolve Campaign Context
If campaign_id provided:
- Use it directly as the campaign context
If campaign_id not provided:
- Check for existing campaigns in
.business_growth/sales/campaigns/ - If campaigns exist, ask user:
- (A) Create new campaign → Generate a meaningful snake_case name based on criteria (e.g.,
campaign_fintech_vp_eng) - (B) Add to existing campaign → Select from available campaigns
- (A) Create new campaign → Generate a meaningful snake_case name based on criteria (e.g.,
- If no campaigns exist, create a new one
Establish campaign_id before proceeding.
Step 0c: Full Discovery (if not using defaults)
Gather context:
- Check existing campaigns in
.business_growth/sales/campaigns/to understand prior work - Review any existing ICP definitions or campaign history
Ask clarifying questions (one at a time):
- Prefer multiple choice when options are clear
- Focus on understanding: purpose, constraints, success criteria
Global questions (save to DECISIONS.md):
- "Who is your buyer? What role typically makes or influences the purchase decision?"
- "What problem does your product solve for them?"
- "Any industries where your buyers typically work? (e.g., security, fintech, healthcare)"
- "Any spaces to exclude? (e.g., no agencies, no consulting firms, no competitors)"
- "Company segment: (A) SMB (< 50 employees), (B) Mid-market (50-500), (C) Enterprise (500+), or (D) Any size?"
- "Do you have LinkedIn Sales Navigator?"
List-specific questions (always ask):
- "What's the goal for this specific list - demos, trials, partnerships?"
- "How many leads are you looking to have in this list?"
- "Any specific geography or filters for this list?"
Explore approaches: After understanding requirements, propose 2-3 different approaches:
- Present options conversationally with trade-offs
- Lead with your recommended approach and explain why
Save decisions:
If user went through full discovery, ask: "Want me to save these as your defaults for future lists?"
If yes, create/update .business_growth/sales/DECISIONS.md
Step 1: Define ICP Criteria
Once you understand the user's goals from Step 0, nail down the specific buyer criteria. Fill in any gaps by asking targeted questions (one at a time):
- Buyer Persona: Who buys? Decision-maker vs. influencer vs. end-user
- Target Titles: VP Engineering, Head of Product, CTO, Director of Sales, etc.
- Target Industries/Verticals: Where do your buyers work? Security, fintech, healthcare, SaaS, etc.
- Company Segment: SMB (< 50), mid-market (50-500), enterprise (500+)
- Company Characteristics: Funding stage, revenue range, tech stack
- Geography: Countries, states, cities
- Exclusions: Industries to skip, competitors, company types to avoid
- Additional Filters: Years in role, keywords, specific companies to include/exclude
Step 2: Create ICP Document
Save ICP definition to .business_growth/sales/campaigns/<campaign_id>/icp.md:
# ICP Definition
## Buyer Profile
- **Buyer Persona**: <decision-maker / influencer / end-user>
- **Titles**: <list of titles>
- **Problem We Solve**: <what pain point does this buyer have?>
## Target Companies
- **Industries/Verticals**: <list of industries>
- **Company Segment**: <SMB / Mid-market / Enterprise>
- **Company Size**: <employee count or revenue range>
- **Funding Stage**: <stages>
- **Geography**: <locations>
## Exclusions
- **Industries to Skip**: <e.g., agencies, consulting, government>
- **Competitors**: <companies to exclude>
- **Other Exclusions**: <e.g., no startups under 10 people>
## List Goals
- **Target Lead Count**: <estimated number of leads>
- **Sales Navigator**: <yes/no>
## Search Strategy
- **LinkedIn Search URL**: <url>
- **Filters Applied**: <description>
## Notes
<any additional context>
Step 3: Search LinkedIn
- Get browser context with
tabs_context_mcp - Navigate to the appropriate search tool:
- With Sales Navigator: Go to
linkedin.com/sales/search/people- better filters (company size, seniority, years in role), higher limits, lead saving - Without Sales Navigator: Use standard LinkedIn search at
linkedin.com/search/results/people/
- With Sales Navigator: Go to
- Apply search filters based on ICP
- Take screenshot to verify results
- Adjust filters if results don't match expected count
Important Rate Limits:
- Sales Navigator: ~100 profile views/day, can save leads to lists
- Standard LinkedIn: ~30 profiles/hour, ~100/day
- Space out searches to avoid restrictions
Step 4: Extract Lead Data
For each prospect, capture:
- Name: Full name
- Title: Current job title
- Company: Current employer
- LinkedIn URL: Profile URL
- Location: Geographic location
- Headline: Profile headline
Use read_page to extract structured data from search results or profiles.
Step 5: Save Lead List
Create .business_growth/sales/campaigns/<campaign_id>/LIST.md:
# Lead List: <Descriptive Name>
## Metadata
- **Campaign**: <campaign_id> # e.g., campaign_fintech_vp_eng
- **Created**: <ISO timestamp>
- **Source**: LinkedIn Search
- **ICP**: See icp.md
- **Total Leads**: <count>
## Leads
### 1. <Full Name>
- **LinkedIn**: <url>
- **Role**: <title> at <company>
- **Location**: <location>
- **Headline**: <headline>
### 2. <Full Name>
- **LinkedIn**: <url>
- **Role**: <title> at <company>
- **Location**: <location>
- **Headline**: <headline>
<!-- Continue for all leads -->
Step 6: Report Summary
Provide summary to user:
- Total leads found
- Breakdown by title/company/location
- Recommendations for next steps (create campaign, research top prospects)
- Any issues encountered (rate limits, restricted profiles)
Browser Tools Used
| Tool | Purpose |
|---|---|
tabs_context_mcp |
Get browser context |
tabs_create_mcp |
Create new tab for LinkedIn |
navigate |
Go to LinkedIn search |
read_page |
Extract search results and profiles |
find |
Locate search filters and results |
form_input |
Enter search criteria |
computer |
Click, scroll, screenshot |
Tips for Better Results
- Use Boolean search: Combine terms with AND, OR, NOT
- Leverage 2nd degree connections: Often higher response rates
- Check for recent activity: Active profiles are more responsive
- Note shared connections: Useful for warm introductions
- Save search URL: Can rerun later for new prospects
Next Steps After List Building
Suggest to user (pass campaign_id to each):
- Use
/opportunity-master:lead-research <campaign_id>to research top prospects - Use
/opportunity-master:campaign-creation <campaign_id>to create outreach campaign - Review and prioritize list before outreach
Global Decisions File
The .business_growth/sales/DECISIONS.md file stores user preferences to avoid repetitive questions:
# Sales Decisions & Defaults
## Last Updated
<ISO timestamp>
## Buyer Profile
- **Buyer Persona**: <decision-maker / influencer / end-user>
- **Target Titles**: <list of titles>
- **Problem We Solve**: <what pain point do we address?>
## Target Market
- **Industries/Verticals**: <list of industries>
- **Company Segment**: <SMB / Mid-market / Enterprise>
- **Geography**: <default regions>
## Exclusions
- **Industries to Skip**: <e.g., agencies, consulting, government>
- **Competitors**: <companies to always exclude>
- **Other Exclusions**: <company types to avoid>
## Tools
- **Sales Navigator**: <yes/no>
## Notes
<any other standing preferences>
When to update DECISIONS.md:
- First time running list-building or lead-research
- When user says "update my defaults"
- When user's ICP fundamentally changes