linkedin-sourcer

Source and evaluate candidates from LinkedIn using the linkedin_scraper Python library. Use when the user wants to (1) scrape LinkedIn profiles for candidate data, (2) evaluate candidates against a job description, (3) generate boolean search strings for sourcing, (4) produce candidate scorecards, summaries, or comparison tables, or (5) any recruiting/talent-sourcing task involving LinkedIn data.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "linkedin-sourcer" with this command: npx skills add kylemclaren/linkedin-sourcer/kylemclaren-linkedin-sourcer-linkedin-sourcer

LinkedIn Sourcer

Source candidates from LinkedIn, analyze their profiles, and evaluate fit against role requirements using the linkedin_scraper library (v3.0+, Playwright-based, async).

Prerequisites

Ensure dependencies are installed before any scraping:

pip install linkedin-scraper
playwright install chromium

An authenticated session file (session.json) is required. If one does not exist, create one:

Programmatic login (using credentials):

python3 scripts/create_session.py --email USER@EXAMPLE.COM --password PASS

Or via environment variables:

export LINKEDIN_EMAIL=user@example.com
export LINKEDIN_PASSWORD=mypassword
python3 scripts/create_session.py

Manual login (opens a browser window — use when programmatic login fails due to CAPTCHA/2FA):

python3 scripts/create_session.py

The session file is reusable until LinkedIn expires it. See references/linkedin_scraper_api.md for browser configuration options.

Workflow Decision Tree

Determine the task type:

  1. "Scrape this profile / these profiles" → Profile Scraping
  2. "Find candidates for this role" → Candidate Search
  3. "Evaluate this candidate for this role" → Candidate Evaluation
  4. "Compare these candidates" → Candidate Comparison

1. Profile Scraping

Run scripts/scrape_profile.py to extract structured profile data:

python3 scripts/scrape_profile.py "https://linkedin.com/in/username" --session session.json

For multiple profiles:

python3 scripts/scrape_profile.py URL1 URL2 URL3 --delay 2 --output profiles.json

Output is JSON with: name, headline, location, about, experiences, educations, skills.

For inline scraping within custom code, see references/linkedin_scraper_api.md → PersonScraper.

2. Candidate Search

Generate boolean search queries the user can paste into LinkedIn or Google to find candidates. See references/sourcing_workflows.md → Boolean Search String Patterns for templates and examples. Tailor the boolean string to the specific role requirements provided.

3. Candidate Evaluation

After scraping profile(s), evaluate fit against a job description:

  1. Scrape the candidate's profile
  2. Apply the scorecard template from references/sourcing_workflows.md → Candidate Scorecard Template
  3. Rate each criterion (1-5) with notes based on the scraped data
  4. Assign an overall fit rating: STRONG_FIT, GOOD_FIT, PARTIAL_FIT, or WEAK_FIT
  5. Identify strengths, concerns, and key questions for outreach

Use the evaluation heuristics in references/sourcing_workflows.md → Evaluation Heuristics to guide ratings.

For quick single-candidate output, use the Candidate Summary Template instead.

4. Candidate Comparison

When evaluating multiple candidates for the same role:

  1. Scrape all candidate profiles
  2. Apply the comparison table from references/sourcing_workflows.md → Candidate Comparison Table
  3. Rank candidates with rationale

Error Handling

  • AuthenticationError → Session expired. Re-run scripts/create_session.py with credentials or manual login
  • RateLimitError → Wait and retry. Increase --delay between requests
  • ProfileNotFoundError → Profile is private or URL is invalid

See references/linkedin_scraper_api.md → Error Handling for try/except patterns.

Rate Limiting

Always use delays between requests (default 2s in scripts). For large batches, increase to 3-5s. Never scrape aggressively — respect LinkedIn's rate limits.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

openclaw-version-monitor

监控 OpenClaw GitHub 版本更新,获取最新版本发布说明,翻译成中文, 并推送到 Telegram 和 Feishu。用于:(1) 定时检查版本更新 (2) 推送版本更新通知 (3) 生成中文版发布说明

Archived SourceRecently Updated
Coding

ask-claude

Delegate a task to Claude Code CLI and immediately report the result back in chat. Supports persistent sessions with full context memory. Safe execution: no data exfiltration, no external calls, file operations confined to workspace. Use when the user asks to run Claude, delegate a coding task, continue a previous Claude session, or any task benefiting from Claude Code's tools (file editing, code analysis, bash, etc.).

Archived SourceRecently Updated
Coding

ai-dating

This skill enables dating and matchmaking workflows. Use it when a user asks to make friends, find a partner, run matchmaking, or provide dating preferences/profile updates. The skill should execute `dating-cli` commands to complete profile setup, task creation/update, match checking, contact reveal, and review.

Archived SourceRecently Updated