@anysiteio/agent-skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/.claude-plugin/marketplace.json +113 -0
  2. package/.claude-plugin/plugin.json +45 -0
  3. package/LICENSE +21 -0
  4. package/README.md +221 -0
  5. package/bin/install.js +55 -0
  6. package/package.json +45 -0
  7. package/skills/anysite-audience-analysis/SKILL.md +273 -0
  8. package/skills/anysite-audience-analysis/references/PLATFORM_COVERAGE.md +53 -0
  9. package/skills/anysite-audience-analysis/references/TOOL_MAPPING.md +27 -0
  10. package/skills/anysite-brand-reputation/SKILL.md +373 -0
  11. package/skills/anysite-brand-reputation/references/MONITORING_GUIDE.md +84 -0
  12. package/skills/anysite-competitor-analyzer/SKILL.md +847 -0
  13. package/skills/anysite-competitor-intelligence/SKILL.md +642 -0
  14. package/skills/anysite-competitor-intelligence/references/ANALYSIS_PATTERNS.md +97 -0
  15. package/skills/anysite-content-analytics/SKILL.md +298 -0
  16. package/skills/anysite-content-analytics/references/METRICS_GUIDE.md +63 -0
  17. package/skills/anysite-influencer-discovery/SKILL.md +398 -0
  18. package/skills/anysite-influencer-discovery/references/DISCOVERY_CRITERIA.md +50 -0
  19. package/skills/anysite-lead-generation/SKILL.md +1022 -0
  20. package/skills/anysite-lead-generation/references/LINKEDIN_STRATEGIES.md +739 -0
  21. package/skills/anysite-lead-generation/references/WEB_SCRAPING.md +910 -0
  22. package/skills/anysite-market-research/SKILL.md +379 -0
  23. package/skills/anysite-market-research/references/RESEARCH_METHODS.md +65 -0
  24. package/skills/anysite-person-analyzer/SKILL.md +604 -0
  25. package/skills/anysite-trend-analysis/SKILL.md +310 -0
  26. package/skills/anysite-trend-analysis/references/SOCIAL_MONITORING.md +46 -0
  27. package/skills/anysite-vc-analyst/SKILL.md +269 -0
@@ -0,0 +1,1022 @@
1
+ ---
2
+ name: anysite-lead-generation
3
+ description: Lead generation and prospecting using anysite MCP server for LinkedIn prospect discovery, email finding, company research, and contact enrichment. Extract contacts from websites, find decision-makers at target companies, and build qualified prospect lists for sales, recruiting, and business development. Supports LinkedIn (primary), web scraping for contact extraction, and Instagram business discovery. Use when users need to build prospect lists, find decision-makers, extract contact information, research potential customers, or enrich existing leads with additional data.
4
+ ---
5
+
6
+ # anysite Lead Generation
7
+
8
+ Professional lead generation and prospecting using the anysite MCP server. Find prospects on LinkedIn, discover verified emails, extract contacts from websites, and build comprehensive lead lists for sales, recruiting, and business development.
9
+
10
+ ## Overview
11
+
12
+ The anysite Lead Generation skill helps you:
13
+ - **Find qualified prospects** on LinkedIn using advanced search filters
14
+ - **Enrich profiles** with work history, education, and skills
15
+ - **Discover email addresses** through LinkedIn email finding
16
+ - **Extract contact information** from company websites
17
+ - **Research companies** to identify target accounts
18
+ - **Build prospect lists** formatted for CRM import
19
+
20
+ This skill provides comprehensive lead generation capabilities with the added benefit of zero configuration and immediate execution through anysite MCP.
21
+
22
+ ## Supported Platforms
23
+
24
+ - ✅ **LinkedIn** (Primary): People search, profile enrichment, email discovery, company research, employee listings
25
+ - ✅ **Web Scraping**: Contact extraction from websites, sitemap parsing, general web data
26
+ - ✅ **Instagram**: Business account discovery and profile analysis (supplementary)
27
+ - ✅ **Y Combinator**: Startup company and founder research (supplementary)
28
+
29
+ ## Quick Start
30
+
31
+ ### Step 1: Identify Your Lead Source
32
+
33
+ Choose the appropriate data source based on your prospecting goal:
34
+
35
+ | Goal | Primary Tool | Use Case |
36
+ |------|-------------|----------|
37
+ | Find prospects by title/company | `search_linkedin_users` | B2B prospecting, targeted outreach |
38
+ | Enrich existing leads | `get_linkedin_profile` | Add work history, education, skills |
39
+ | Find verified emails | `find_linkedin_user_email` | Email outreach campaigns |
40
+ | Extract website contacts | `parse_webpage` | Get emails/phones from contact pages |
41
+ | Research target companies | `search_linkedin_companies` | Account-based marketing (ABM) |
42
+ | Find company employees | `search_linkedin_users` + company filter | Multi-threading into accounts |
43
+
44
+ ### Step 2: Execute Data Collection
45
+
46
+ Use anysite MCP tools directly to gather lead data:
47
+
48
+ **Example: Find Sales VPs in San Francisco**
49
+ ```
50
+ Tool: mcp__anysite__search_linkedin_users
51
+ Parameters:
52
+ - title: "VP Sales"
53
+ - location: "San Francisco Bay Area"
54
+ - count: 25
55
+ ```
56
+
57
+ **Example: Enrich a LinkedIn Profile**
58
+ ```
59
+ Tool: mcp__anysite__get_linkedin_profile
60
+ Parameters:
61
+ - user: "linkedin.com/in/johndoe" or "johndoe"
62
+ - with_experience: true
63
+ - with_education: true
64
+ - with_skills: true
65
+ ```
66
+
67
+ **Example: Find Email Address**
68
+ ```
69
+ Tool: mcp__anysite__find_linkedin_user_email
70
+ Parameters:
71
+ - email: "john@company.com" (for reverse lookup)
72
+ - count: 5
73
+ ```
74
+
75
+ **Example: Extract Contacts from Website**
76
+ ```
77
+ Tool: mcp__anysite__parse_webpage
78
+ Parameters:
79
+ - url: "https://company.com/contact"
80
+ - extract_contacts: true
81
+ - strip_all_tags: true
82
+ ```
83
+
84
+ ### Step 3: Process and Analyze Results
85
+
86
+ Review the returned data for:
87
+ - **Profile completeness**: Work history, education, skills presence
88
+ - **Contact quality**: Email deliverability, phone format
89
+ - **Relevance scoring**: Title match, company fit, location alignment
90
+ - **Enrichment opportunities**: Missing data that can be filled
91
+
92
+ ### Step 4: Format Output
93
+
94
+ Choose your preferred output format:
95
+
96
+ **Chat Summary (Default)**
97
+ - Displays top prospects with key details
98
+ - Includes actionable next steps
99
+ - Shows data quality metrics
100
+
101
+ **CSV Export**
102
+ - Full prospect list with all fields
103
+ - Ready for CRM import (Salesforce, HubSpot, etc.)
104
+ - Includes: Name, Title, Company, Location, Email, LinkedIn URL, Work History
105
+
106
+ **JSON Export**
107
+ - Structured data for custom integration
108
+ - Complete API response with metadata
109
+ - Ideal for automation and data pipelines
110
+
111
+ ## Common Workflows
112
+
113
+ ### Workflow 1: LinkedIn B2B Prospecting
114
+
115
+ **Scenario**: Find 50 qualified prospects at SaaS companies in specific roles
116
+
117
+ **Steps**:
118
+
119
+ 1. **Search for prospects**
120
+ ```
121
+ Tool: mcp__anysite__search_linkedin_users
122
+ Parameters:
123
+ - keywords: "SaaS software cloud"
124
+ - title: "Head of Marketing, VP Marketing, CMO"
125
+ - location: "United States"
126
+ - company_keywords: "software"
127
+ - count: 50
128
+ ```
129
+
130
+ 2. **Enrich top prospects** (for first 10-20 results)
131
+ ```
132
+ For each prospect from step 1:
133
+ Tool: mcp__anysite__get_linkedin_profile
134
+ Parameters:
135
+ - user: <prospect_username>
136
+ - with_experience: true
137
+ - with_education: true
138
+ - with_skills: false (unless skills matter for qualification)
139
+ ```
140
+
141
+ 3. **Find email addresses**
142
+ ```
143
+ For each qualified prospect:
144
+ Tool: mcp__anysite__find_linkedin_user_email
145
+ Then try:
146
+ Tool: mcp__anysite__get_linkedin_user_email_db
147
+ ```
148
+
149
+ 4. **Export to CRM**
150
+ - Format as CSV with fields: Full Name, Title, Company, Location, Email, LinkedIn URL
151
+ - Import to your CRM system
152
+ - Set up outreach sequences
153
+
154
+ **Expected Output**:
155
+ - 50 prospects with LinkedIn profiles
156
+ - 10-20 enriched profiles with complete work history
157
+ - 5-15 verified email addresses
158
+ - CSV file ready for CRM import
159
+
160
+ ### Workflow 2: Account-Based Marketing (ABM)
161
+
162
+ **Scenario**: Find decision-makers at specific target companies
163
+
164
+ **Steps**:
165
+
166
+ 1. **Research target companies**
167
+ ```
168
+ Tool: mcp__anysite__search_linkedin_companies
169
+ Parameters:
170
+ - keywords: <your ICP description>
171
+ - industry: <target industry>
172
+ - employee_count: ["51-200", "201-500"]
173
+ - location: <target location>
174
+ - count: 20
175
+ ```
176
+
177
+ 2. **Get company details**
178
+ ```
179
+ For each target company:
180
+ Tool: mcp__anysite__get_linkedin_company
181
+ Parameters:
182
+ - company: <company_identifier or URL>
183
+ ```
184
+
185
+ 3. **Find employees at target companies**
186
+ ```
187
+ For each target company:
188
+ Tool: mcp__anysite__search_linkedin_users
189
+ Parameters:
190
+ - company_keywords: "<Company Name>"
191
+ - title: "VP, Director, Head of, Chief"
192
+ - count: 10
193
+ ```
194
+
195
+ 4. **Enrich decision-makers**
196
+ ```
197
+ For each decision-maker:
198
+ Tool: mcp__anysite__get_linkedin_profile
199
+ Tool: mcp__anysite__find_linkedin_user_email
200
+ ```
201
+
202
+ 5. **Create ABM campaign**
203
+ - Group prospects by company
204
+ - Identify multi-threading opportunities
205
+ - Build company-specific messaging
206
+
207
+ **Expected Output**:
208
+ - 20 target companies with full profiles
209
+ - 50-100 decision-makers across all companies
210
+ - 20-40 verified email addresses
211
+ - Account map showing org structure
212
+
213
+ ### Workflow 3: Website Contact Extraction
214
+
215
+ **Scenario**: Extract contact information from a list of company websites
216
+
217
+ **Steps**:
218
+
219
+ 1. **Get company websites**
220
+ ```
221
+ From LinkedIn company search or existing list
222
+ Tool: mcp__anysite__get_linkedin_company
223
+ Extract: company website URLs
224
+ ```
225
+
226
+ 2. **Parse contact pages**
227
+ ```
228
+ For each website:
229
+ Tool: mcp__anysite__parse_webpage
230
+ Parameters:
231
+ - url: "https://company.com/contact"
232
+ - extract_contacts: true
233
+ - strip_all_tags: true
234
+
235
+ Alternative pages to try:
236
+ - /contact
237
+ - /about/contact
238
+ - /about/team
239
+ - /about
240
+ ```
241
+
242
+ 3. **Parse team pages** (if available)
243
+ ```
244
+ Tool: mcp__anysite__parse_webpage
245
+ Parameters:
246
+ - url: "https://company.com/team"
247
+ - extract_contacts: true
248
+ ```
249
+
250
+ 4. **Get sitemap** (for comprehensive coverage)
251
+ ```
252
+ Tool: mcp__anysite__get_sitemap
253
+ Parameters:
254
+ - url: "https://company.com"
255
+ - count: 50
256
+
257
+ Identify pages likely to contain contacts:
258
+ - /contact, /team, /about, /leadership
259
+ ```
260
+
261
+ 5. **Deduplicate and validate**
262
+ - Remove duplicate emails
263
+ - Validate email formats
264
+ - Match emails to LinkedIn profiles if possible
265
+
266
+ **Expected Output**:
267
+ - Contact emails from 60-80% of websites
268
+ - Phone numbers where available
269
+ - Social media links
270
+ - Team member names and titles
271
+
272
+ ### Workflow 4: Recruiter Candidate Sourcing
273
+
274
+ **Scenario**: Find qualified candidates for open positions
275
+
276
+ **Steps**:
277
+
278
+ 1. **Define candidate profile**
279
+ ```
280
+ Required skills, titles, experience level, location
281
+ ```
282
+
283
+ 2. **Search for candidates**
284
+ ```
285
+ Tool: mcp__anysite__search_linkedin_users
286
+ Parameters:
287
+ - keywords: <technical skills, e.g., "Python React AWS">
288
+ - title: <relevant titles, e.g., "Software Engineer, Senior Engineer">
289
+ - location: <location or "Remote">
290
+ - count: 100
291
+ ```
292
+
293
+ 3. **Enrich candidate profiles**
294
+ ```
295
+ For promising candidates:
296
+ Tool: mcp__anysite__get_linkedin_profile
297
+ Tool: mcp__anysite__get_linkedin_user_experience
298
+ Tool: mcp__anysite__get_linkedin_user_skills
299
+ Tool: mcp__anysite__get_linkedin_user_education
300
+ ```
301
+
302
+ 4. **Find contact information**
303
+ ```
304
+ Tool: mcp__anysite__find_linkedin_user_email
305
+ Tool: mcp__anysite__get_linkedin_user_email_db
306
+ ```
307
+
308
+ 5. **Build candidate pipeline**
309
+ - Score candidates on skills match
310
+ - Prioritize by years of experience
311
+ - Create outreach sequence
312
+
313
+ **Expected Output**:
314
+ - 100 potential candidates
315
+ - 30-50 fully enriched profiles
316
+ - 20-30 email addresses
317
+ - Scored and prioritized candidate list
318
+
319
+ ## MCP Tools Reference
320
+
321
+ ### Primary Tools
322
+
323
+ #### LinkedIn People Search
324
+ **Tool**: `mcp__anysite__search_linkedin_users`
325
+
326
+ Search for LinkedIn users by various criteria.
327
+
328
+ **Parameters**:
329
+ - `keywords` (optional): General keywords for search
330
+ - `title` (optional): Job title keywords (e.g., "VP Sales", "Software Engineer")
331
+ - `company_keywords` (optional): Company name keywords
332
+ - `location` (optional): Location (city, state, country)
333
+ - `school_keywords` (optional): School/university keywords
334
+ - `first_name` (optional): First name
335
+ - `last_name` (optional): Last name
336
+ - `count` (default: 10): Number of results to return
337
+
338
+ **Returns**: List of user profiles with name, title, location, profile URL, and URN
339
+
340
+ **Use Cases**:
341
+ - Find prospects by title and location
342
+ - Discover employees at target companies
343
+ - Search for alumni from specific schools
344
+ - Build prospect lists for outreach
345
+
346
+ #### LinkedIn Profile Details
347
+ **Tool**: `mcp__anysite__get_linkedin_profile`
348
+
349
+ Get comprehensive profile information for a LinkedIn user.
350
+
351
+ **Parameters**:
352
+ - `user` (required): LinkedIn username or full profile URL
353
+ - `with_education` (default: true): Include education history
354
+ - `with_experience` (default: true): Include work experience
355
+ - `with_skills` (default: true): Include skills
356
+
357
+ **Returns**: Complete profile with work history, education, skills, certifications, and more
358
+
359
+ **Use Cases**:
360
+ - Enrich prospect data before outreach
361
+ - Qualify leads based on work history
362
+ - Research candidate backgrounds
363
+ - Understand prospect's career path
364
+
365
+ #### Email Finding
366
+ **Tool**: `mcp__anysite__find_linkedin_user_email`
367
+
368
+ Search for email addresses associated with LinkedIn profiles.
369
+
370
+ **Parameters**:
371
+ - `email` (required): Email address for reverse lookup
372
+ - `count` (default: 5): Number of results
373
+ - `request_timeout` (default: 300): Timeout in seconds
374
+
375
+ **Returns**: LinkedIn profiles associated with email addresses
376
+
377
+ **Use Cases**:
378
+ - Find verified emails for prospects
379
+ - Reverse lookup email to LinkedIn profile
380
+ - Enrich contact databases
381
+
382
+ #### Email Database Lookup
383
+ **Tool**: `mcp__anysite__get_linkedin_user_email_db`
384
+
385
+ Retrieve cached email address for a LinkedIn profile.
386
+
387
+ **Parameters**:
388
+ - `profile` (required): LinkedIn profile URL
389
+ - `request_timeout` (default: 300): Timeout in seconds
390
+
391
+ **Returns**: Email address if available in database
392
+
393
+ **Use Cases**:
394
+ - Quick email lookup for known profiles
395
+ - Batch email enrichment
396
+ - Contact data verification
397
+
398
+ #### Company Search
399
+ **Tool**: `mcp__anysite__search_linkedin_companies`
400
+
401
+ Search for LinkedIn companies by various criteria.
402
+
403
+ **Parameters**:
404
+ - `keywords` (optional): Company name or description keywords
405
+ - `location` (optional): Company location
406
+ - `industry` (optional): Industry type
407
+ - `employee_count` (optional): Array of employee count ranges (e.g., ["51-200", "201-500"])
408
+ - `count` (required): Number of results to return
409
+ - `request_timeout` (default: 300): Timeout in seconds
410
+
411
+ **Returns**: List of companies with name, industry, size, location, and URN
412
+
413
+ **Use Cases**:
414
+ - Identify target accounts for ABM
415
+ - Research competitors
416
+ - Build company prospect lists
417
+ - Market segmentation analysis
418
+
419
+ #### Company Details
420
+ **Tool**: `mcp__anysite__get_linkedin_company`
421
+
422
+ Get detailed information about a LinkedIn company.
423
+
424
+ **Parameters**:
425
+ - `company` (required): Company identifier or LinkedIn URL
426
+ - `request_timeout` (default: 300): Timeout in seconds
427
+
428
+ **Returns**: Company profile with description, industry, size, specialties, website
429
+
430
+ **Use Cases**:
431
+ - Research target accounts
432
+ - Understand company positioning
433
+ - Extract company websites for further research
434
+ - Qualify accounts before prospecting
435
+
436
+ #### Company Employee Stats
437
+ **Tool**: `mcp__anysite__get_linkedin_company_employee_stats`
438
+
439
+ Get employee statistics and insights for a company.
440
+
441
+ **Parameters**:
442
+ - `urn` (required): Company URN from company lookup
443
+ - `request_timeout` (default: 300): Timeout in seconds
444
+
445
+ **Returns**: Employee count, growth metrics, department distribution
446
+
447
+ **Use Cases**:
448
+ - Track hiring velocity (company growth)
449
+ - Identify growing departments
450
+ - Assess company size and scale
451
+ - Competitive intelligence on hiring
452
+
453
+ ### Supporting Tools
454
+
455
+ #### Web Contact Extraction
456
+ **Tool**: `mcp__anysite__parse_webpage`
457
+
458
+ Extract content and contact information from web pages.
459
+
460
+ **Parameters**:
461
+ - `url` (required): Webpage URL
462
+ - `extract_contacts` (default: false): Extract emails, phones, social links
463
+ - `strip_all_tags` (default: true): Remove HTML tags
464
+ - `only_main_content` (default: true): Extract only main content area
465
+ - `same_origin_links` (default: false): Include only same-domain links
466
+ - `request_timeout` (default: 300): Timeout in seconds
467
+
468
+ **Returns**: Page content, contacts (emails, phones), links
469
+
470
+ **Use Cases**:
471
+ - Extract contacts from company websites
472
+ - Get email addresses from contact pages
473
+ - Find phone numbers and addresses
474
+ - Discover team member information
475
+
476
+ #### Sitemap Parsing
477
+ **Tool**: `mcp__anysite__get_sitemap`
478
+
479
+ Retrieve sitemap URLs from a website.
480
+
481
+ **Parameters**:
482
+ - `url` (required): Website URL
483
+ - `count` (default: 50): Number of URLs to return
484
+ - `request_timeout` (default: 300): Timeout in seconds
485
+
486
+ **Returns**: List of URLs from sitemap
487
+
488
+ **Use Cases**:
489
+ - Find all pages on a website
490
+ - Identify contact/team pages
491
+ - Comprehensive website crawling
492
+ - Discover hidden landing pages
493
+
494
+ #### LinkedIn User Experience
495
+ **Tool**: `mcp__anysite__get_linkedin_user_experience`
496
+
497
+ Get detailed work experience history for a LinkedIn user.
498
+
499
+ **Parameters**:
500
+ - `urn` (required): User URN from search or profile
501
+ - `count` (default: 10): Number of experience entries
502
+ - `request_timeout` (default: 300): Timeout in seconds
503
+
504
+ **Returns**: Detailed work history with dates, descriptions, companies
505
+
506
+ **Use Cases**:
507
+ - Deep work history analysis
508
+ - Career path research
509
+ - Qualification scoring
510
+ - Experience validation
511
+
512
+ #### LinkedIn User Skills
513
+ **Tool**: `mcp__anysite__get_linkedin_user_skills`
514
+
515
+ Get skills and endorsements for a LinkedIn user.
516
+
517
+ **Parameters**:
518
+ - `urn` (required): User URN
519
+ - `count` (default: 10): Number of skills to return
520
+ - `request_timeout` (default: 300): Timeout in seconds
521
+
522
+ **Returns**: Skills list with endorsement counts
523
+
524
+ **Use Cases**:
525
+ - Technical skills validation
526
+ - Expertise assessment
527
+ - Candidate qualification
528
+ - Skills-based matching
529
+
530
+ ## Output Formats
531
+
532
+ ### Chat Summary (Default)
533
+
534
+ The skill will provide:
535
+ - **Prospect count**: Total leads found
536
+ - **Key insights**: Notable patterns or high-value prospects
537
+ - **Quality metrics**: Percentage with emails, complete profiles, etc.
538
+ - **Top prospects**: 5-10 best matches with details
539
+ - **Next steps**: Recommended actions
540
+
541
+ Example:
542
+ ```
543
+ Found 47 qualified prospects matching your criteria:
544
+
545
+ Top Prospects:
546
+ 1. Jane Smith - VP Sales at TechCorp (San Francisco)
547
+ - Email: jane.smith@techcorp.com
548
+ - 10 years in SaaS sales leadership
549
+ - Previously at Salesforce, Oracle
550
+
551
+ 2. John Doe - Head of Sales at CloudCo (Remote)
552
+ - Email: Not found (try web scraping)
553
+ - 8 years experience
554
+ - Strong enterprise background
555
+
556
+ Quality Metrics:
557
+ - 32% have verified emails (15/47)
558
+ - 91% have complete LinkedIn profiles (43/47)
559
+ - 68% in target location (32/47)
560
+
561
+ Next Steps:
562
+ 1. Export to CSV for CRM import
563
+ 2. Set up email outreach sequence
564
+ 3. Prioritize prospects with emails
565
+ 4. Research companies for remaining prospects
566
+ ```
567
+
568
+ ### CSV Export
569
+
570
+ Use CSV format for CRM import and spreadsheet analysis.
571
+
572
+ **How to Request**:
573
+ "Export the results as CSV"
574
+
575
+ **CSV Structure**:
576
+ ```csv
577
+ Full Name,First Name,Last Name,Title,Company,Location,Email,Phone,LinkedIn URL,Profile URN,Years Experience,Education,Skills,Last Updated
578
+ ```
579
+
580
+ **Use Cases**:
581
+ - Salesforce/HubSpot import
582
+ - Mail merge for outreach
583
+ - Spreadsheet analysis and filtering
584
+ - Team collaboration via Google Sheets
585
+
586
+ **CSV Benefits**:
587
+ - Universal format for all CRM systems
588
+ - Easy filtering and sorting
589
+ - Compatible with email tools
590
+ - Shareable with team members
591
+
592
+ ### JSON Export
593
+
594
+ Use JSON format for programmatic access and custom integration.
595
+
596
+ **How to Request**:
597
+ "Export the results as JSON"
598
+
599
+ **JSON Structure**:
600
+ ```json
601
+ {
602
+ "prospects": [
603
+ {
604
+ "profile": {
605
+ "firstName": "Jane",
606
+ "lastName": "Smith",
607
+ "headline": "VP Sales at TechCorp",
608
+ "location": "San Francisco Bay Area",
609
+ "profileUrl": "https://linkedin.com/in/janesmith",
610
+ "urn": "urn:li:fsd_profile:ABC123"
611
+ },
612
+ "currentPosition": {
613
+ "title": "VP Sales",
614
+ "company": "TechCorp",
615
+ "startDate": "2021-06"
616
+ },
617
+ "contact": {
618
+ "email": "jane.smith@techcorp.com",
619
+ "phone": null
620
+ },
621
+ "experience": [...],
622
+ "education": [...],
623
+ "skills": [...]
624
+ }
625
+ ],
626
+ "metadata": {
627
+ "total": 47,
628
+ "withEmails": 15,
629
+ "timestamp": "2026-01-29T01:00:00Z"
630
+ }
631
+ }
632
+ ```
633
+
634
+ **Use Cases**:
635
+ - Custom CRM integration
636
+ - Automated enrichment pipelines
637
+ - Data analysis with Python/R
638
+ - API integrations with other tools
639
+
640
+ ## Advanced Features
641
+
642
+ ### Multi-Platform Lead Enrichment
643
+
644
+ Combine LinkedIn data with other platforms for comprehensive lead profiles:
645
+
646
+ **Pattern**: LinkedIn → Company Website → Instagram (for B2C)
647
+
648
+ 1. Find prospect on LinkedIn
649
+ 2. Get company website from LinkedIn company profile
650
+ 3. Extract additional contacts from website
651
+ 4. Check Instagram for business account (B2C companies)
652
+ 5. Analyze social presence and engagement
653
+
654
+ **Example**:
655
+ ```
656
+ 1. search_linkedin_users → Find "Emily Chen" at "FashionBrand"
657
+ 2. get_linkedin_company("FashionBrand") → Get website URL
658
+ 3. parse_webpage(website + "/contact") → Get phone, email
659
+ 4. search_instagram_posts(query="FashionBrand") → Find official account
660
+ 5. get_instagram_user("fashionbrand") → Verify business account, get follower count
661
+ ```
662
+
663
+ ### Boolean Search Patterns
664
+
665
+ Advanced LinkedIn search using keyword combinations:
666
+
667
+ **Title Combinations**:
668
+ - `"VP Sales" OR "Head of Sales" OR "Director Sales"` - Multiple title variations
669
+ - `"Software Engineer" AND "Python"` - Title + required skill
670
+ - `"Marketing" NOT "Intern"` - Exclude junior levels
671
+
672
+ **Company Patterns**:
673
+ - `"Google OR Meta OR Amazon"` - Multiple target companies
674
+ - `"SaaS" AND "B2B"` - Industry qualifiers
675
+ - `"Startup OR Early Stage"` - Company stage targeting
676
+
677
+ **Location Strategies**:
678
+ - `"San Francisco Bay Area"` - Metropolitan areas
679
+ - `"United States"` - Country-level
680
+ - `"Remote"` - Remote-only positions
681
+
682
+ ### Lead Scoring Framework
683
+
684
+ Score prospects based on multiple criteria:
685
+
686
+ **Scoring Dimensions**:
687
+ 1. **Profile Completeness** (0-20 points)
688
+ - Has email: +10
689
+ - Complete work history: +5
690
+ - Complete education: +3
691
+ - Skills listed: +2
692
+
693
+ 2. **Title Match** (0-30 points)
694
+ - Exact match: +30
695
+ - Similar title: +20
696
+ - Related title: +10
697
+ - Wrong level: +0
698
+
699
+ 3. **Company Fit** (0-25 points)
700
+ - Ideal company size: +25
701
+ - Acceptable size: +15
702
+ - Too small/large: +5
703
+
704
+ 4. **Experience Level** (0-15 points)
705
+ - 5-10 years: +15
706
+ - 3-5 years: +10
707
+ - 10+ years: +10
708
+ - <3 years: +5
709
+
710
+ 5. **Location** (0-10 points)
711
+ - Target location: +10
712
+ - Acceptable location: +5
713
+ - Remote: +8
714
+
715
+ **Total Score**: 0-100 points
716
+ - **90-100**: Hot lead - Contact immediately
717
+ - **70-89**: Warm lead - High priority follow-up
718
+ - **50-69**: Qualified - Standard outreach
719
+ - **<50**: Unqualified - Nurture or discard
720
+
721
+ ### Automated Prospect Enrichment
722
+
723
+ Systematic enrichment workflow for large lists:
724
+
725
+ **Process**:
726
+ 1. **Initial Search**: Get 100-500 prospects from LinkedIn search
727
+ 2. **First Filter**: Remove obviously unqualified (wrong title, location, etc.)
728
+ 3. **Batch Enrichment**: Enrich top 50 prospects with full profiles
729
+ 4. **Email Discovery**: Find emails for top 25 prospects
730
+ 5. **Web Research**: Extract company contacts for remaining prospects
731
+ 6. **Final Scoring**: Apply lead scoring framework
732
+ 7. **Export**: Generate CSV for top-scored leads only
733
+
734
+ **Efficiency Tips**:
735
+ - Start with larger searches (100+) to account for filtering
736
+ - Enrich in batches of 10-20 to avoid overwhelming results
737
+ - Prioritize email finding for highest-scored prospects first
738
+ - Use web scraping as backup when LinkedIn emails unavailable
739
+
740
+ ## Limitations and Alternatives
741
+
742
+ ### Platform Gaps
743
+
744
+ This skill focuses on B2B lead generation where LinkedIn, web scraping, and professional networks provide the most comprehensive data. For local business discovery and contact extraction, the combination of LinkedIn company search and web scraping provides strong coverage.
745
+
746
+ ### Rate Limits and Timeouts
747
+
748
+ **Default Timeout**: 300 seconds (5 minutes) per MCP tool call
749
+
750
+ **Strategies for Large Datasets**:
751
+ 1. **Batch Processing**: Use `count` parameter to limit results per call
752
+ - Search 25-50 prospects at a time
753
+ - Make multiple calls for larger lists
754
+ - Allow processing time between batches
755
+
756
+ 2. **Increase Timeout**: Use `request_timeout` parameter for complex queries
757
+ - Company employee searches: 400-500 seconds
758
+ - Profile enrichment: 300-400 seconds
759
+ - Email finding: 400-600 seconds
760
+
761
+ 3. **Parallel Processing**: For independent queries
762
+ - Search multiple locations simultaneously
763
+ - Enrich different prospect segments in parallel
764
+ - Extract contacts from multiple websites at once
765
+
766
+ **Example**:
767
+ ```
768
+ Instead of:
769
+ search_linkedin_users(count=200) → May timeout
770
+
771
+ Do this:
772
+ search_linkedin_users(count=50, location="California")
773
+ search_linkedin_users(count=50, location="New York")
774
+ search_linkedin_users(count=50, location="Texas")
775
+ search_linkedin_users(count=50, location="Florida")
776
+ ```
777
+
778
+ ### Data Freshness
779
+
780
+ **LinkedIn Data**: Real-time access through anysite MCP
781
+ - No caching (always current)
782
+ - Profile updates reflected immediately
783
+ - Company changes visible in real-time
784
+
785
+ **Email Database**: May have stale entries
786
+ - `get_linkedin_user_email_db` returns cached emails
787
+ - Some emails may be outdated
788
+ - Verify before mass outreach
789
+
790
+ **Recommendation**:
791
+ 1. Use `find_linkedin_user_email` for current email discovery
792
+ 2. Fall back to `get_linkedin_user_email_db` if first method fails
793
+ 3. Validate emails before sending (use email validation service)
794
+ 4. Update your CRM when emails bounce
795
+
796
+ ### Privacy and Compliance
797
+
798
+ **LinkedIn Terms of Service**:
799
+ - Respect LinkedIn's usage policies
800
+ - Don't automate excessive requests
801
+ - Comply with user privacy settings
802
+ - Follow GDPR/CCPA requirements
803
+
804
+ **Email Collection**:
805
+ - Only collect publicly available emails
806
+ - Provide opt-out mechanisms
807
+ - Comply with anti-spam laws (CAN-SPAM, GDPR)
808
+ - Maintain suppression lists
809
+
810
+ **Best Practices**:
811
+ - Use data for legitimate business purposes only
812
+ - Respect connection request limits
813
+ - Don't scrape private profile information
814
+ - Maintain data security for collected leads
815
+
816
+ ## Reference Documentation
817
+
818
+ For advanced techniques and strategies, see:
819
+
820
+ - **[LINKEDIN_STRATEGIES.md](references/LINKEDIN_STRATEGIES.md)** - Advanced LinkedIn search patterns, Boolean operators, and targeting strategies
821
+ - **[WEB_SCRAPING.md](references/WEB_SCRAPING.md)** - Website contact extraction patterns, common page structures, and parsing techniques
822
+
823
+ ## Troubleshooting
824
+
825
+ ### Common Issues
826
+
827
+ #### 1. No Results from LinkedIn Search
828
+
829
+ **Symptoms**: Search returns 0 results or very few
830
+
831
+ **Causes**:
832
+ - Overly restrictive search criteria
833
+ - Incorrect location format
834
+ - Title keywords too specific
835
+ - Company name misspelled
836
+
837
+ **Solutions**:
838
+ - Broaden search criteria (remove some filters)
839
+ - Try location variations: "San Francisco", "San Francisco Bay Area", "SF"
840
+ - Use partial titles: "Sales" instead of "Vice President of Sales"
841
+ - Verify company names with `search_linkedin_companies` first
842
+
843
+ **Example Fix**:
844
+ ```
845
+ ❌ Too Restrictive:
846
+ title="Vice President of Enterprise Sales"
847
+ location="San Francisco, California"
848
+ company_keywords="Salesforce Inc"
849
+
850
+ ✅ Better:
851
+ title="VP Sales OR Head of Sales"
852
+ location="San Francisco Bay Area"
853
+ company_keywords="Salesforce"
854
+ ```
855
+
856
+ #### 2. Email Not Found
857
+
858
+ **Symptoms**: `find_linkedin_user_email` returns no results
859
+
860
+ **Causes**:
861
+ - Email not in database
862
+ - User privacy settings
863
+ - Email verification required
864
+
865
+ **Solutions**:
866
+ 1. Try `get_linkedin_user_email_db` as alternative
867
+ 2. Extract email from company website instead
868
+ 3. Use email pattern guessing (firstname.lastname@company.com)
869
+ 4. Check for email in LinkedIn profile "Contact Info" section
870
+
871
+ **Alternative Workflow**:
872
+ ```
873
+ 1. get_linkedin_profile(user) → Get current company
874
+ 2. get_linkedin_company(company) → Get company website
875
+ 3. parse_webpage(website + "/contact") → Extract company emails
876
+ 4. Use email pattern: first.last@companydomain.com
877
+ ```
878
+
879
+ #### 3. Timeout Errors
880
+
881
+ **Symptoms**: Request times out after 300 seconds
882
+
883
+ **Causes**:
884
+ - Large result count requested
885
+ - Complex search criteria
886
+ - Server load issues
887
+
888
+ **Solutions**:
889
+ - Reduce `count` parameter (try 25-50 instead of 100+)
890
+ - Increase `request_timeout` to 400-600 seconds
891
+ - Break large searches into multiple smaller searches
892
+ - Simplify search criteria
893
+
894
+ **Example**:
895
+ ```
896
+ ❌ May Timeout:
897
+ search_linkedin_users(
898
+ title="Software Engineer",
899
+ count=500,
900
+ request_timeout=300
901
+ )
902
+
903
+ ✅ Better:
904
+ search_linkedin_users(
905
+ title="Software Engineer",
906
+ count=50,
907
+ request_timeout=400
908
+ )
909
+ # Then make additional calls for more results
910
+ ```
911
+
912
+ #### 4. Incomplete Profile Data
913
+
914
+ **Symptoms**: Profile missing work history, education, or skills
915
+
916
+ **Causes**:
917
+ - User profile not complete on LinkedIn
918
+ - Privacy settings limit data access
919
+ - Profile hasn't been updated
920
+
921
+ **Solutions**:
922
+ - Set `with_experience=true`, `with_education=true` explicitly
923
+ - Try getting detailed experience with `get_linkedin_user_experience`
924
+ - Accept incomplete data and supplement with web research
925
+ - Focus on prospects with complete profiles
926
+
927
+ #### 5. Invalid User URN
928
+
929
+ **Symptoms**: Error when using URN in follow-up calls
930
+
931
+ **Causes**:
932
+ - Incorrect URN format
933
+ - URN from different data source
934
+ - Stale URN reference
935
+
936
+ **Solutions**:
937
+ - Use LinkedIn username instead of URN when possible
938
+ - Verify URN format: `urn:li:fsd_profile:XXXXXXXXX`
939
+ - Get fresh URN from recent search
940
+ - Use profile URL as alternative identifier
941
+
942
+ ### Getting Help
943
+
944
+ **anysite MCP Server Issues**:
945
+ - Verify MCP server is running and configured
946
+ - Check MCP server logs for errors
947
+ - Ensure authentication is set up correctly
948
+
949
+ **Skill-Specific Questions**:
950
+ - Review reference documentation in `references/` folder
951
+ - Check examples in this SKILL.md file
952
+ - Review common workflows section
953
+
954
+ **Data Quality Issues**:
955
+ - Validate search criteria before large batches
956
+ - Test with small `count` values first
957
+ - Review data quality in chat summary before export
958
+
959
+ **Integration Problems**:
960
+ - Verify CSV format matches your CRM requirements
961
+ - Test JSON structure before building integrations
962
+ - Check timezone and date formats in exports
963
+
964
+ ## Example Use Cases
965
+
966
+ ### Use Case 1: Enterprise SaaS Sales
967
+
968
+ **Goal**: Find 100 qualified enterprise sales prospects
969
+
970
+ **Process**:
971
+ 1. Define ICP: VP/Director level, Enterprise Software, 500-5000 employees
972
+ 2. Search LinkedIn: `title="VP Sales" company_keywords="Enterprise Software" count=100`
973
+ 3. Filter by company size using `search_linkedin_companies`
974
+ 4. Enrich top 30 prospects with full profiles
975
+ 5. Find emails for top 20 prospects
976
+ 6. Export CSV for Salesforce import
977
+
978
+ **Success Metrics**:
979
+ - 100 prospects found and qualified
980
+ - 30 enriched with full work history
981
+ - 15-20 verified emails obtained
982
+ - 2-3 hours total time investment
983
+
984
+ ### Use Case 2: Tech Recruiter Sourcing
985
+
986
+ **Goal**: Source 50 Python engineers for startup
987
+
988
+ **Process**:
989
+ 1. Search: `keywords="Python Django AWS" title="Software Engineer" location="Remote" count=100`
990
+ 2. Filter: Remove <2 years experience
991
+ 3. Enrich: Get skills and education for top 50
992
+ 4. Score: Rank by skills match and experience level
993
+ 5. Contact: Find emails for top 25
994
+ 6. Outreach: Personalized emails referencing their skills/projects
995
+
996
+ **Success Metrics**:
997
+ - 50 qualified candidates sourced
998
+ - 25 emails obtained
999
+ - 5-10 candidates engaged
1000
+ - Time to first response: <24 hours
1001
+
1002
+ ### Use Case 3: Partnership Outreach
1003
+
1004
+ **Goal**: Find potential integration partners in marketing tech
1005
+
1006
+ **Process**:
1007
+ 1. Search companies: `keywords="marketing automation" employee_count=["51-200"]`
1008
+ 2. Identify decision-makers: `title="VP Product OR Head of Partnerships" company_keywords=<company>`
1009
+ 3. Research: Get company details and recent LinkedIn posts
1010
+ 4. Enrich: Full profiles for all decision-makers
1011
+ 5. Personalize: Reference their product and use cases
1012
+ 6. Multi-channel: LinkedIn + email outreach
1013
+
1014
+ **Success Metrics**:
1015
+ - 30 potential partners identified
1016
+ - 40 decision-makers found
1017
+ - 25 emails + LinkedIn connection requests sent
1018
+ - 10-15 responses received
1019
+
1020
+ ---
1021
+
1022
+ **Ready to start generating leads?** Ask Claude to help you find prospects, enrich profiles, or build comprehensive lead lists using this skill!