NanoSkill
submit your skill

People Search Agent Skill

byLessieAI22GitHub starsGitHub

People Search Agent Skill for B2B Leads Gen and enrichment. Find, qualify, and enrich professionals, public figures, candidates, and company data for sales, recruiting, and research.

Leads GenSecurity scan passed

Install command

$ npx skills add https://github.com/LessieAI/lessie-skill/tree/main/people-search

About

The Lessie People Search & Enrichment skill empowers users to efficiently find, qualify, and enrich information about individuals and organizations. Whether you need to generate targeted B2B lead lists, source ideal candidates for recruiting, or conduct in-depth background research, this skill streamlines the process by leveraging comprehensive databases and web intelligence.

This powerful skill offers dual search modes: a B2B mode for professionals based on job titles, companies, and seniority, and a KOL (Key Opinion Leader) mode for identifying influencers and public figures across major social media platforms. It also provides robust company research capabilities, allowing you to delve into industry specifics, funding rounds, tech stacks, and hiring activities.

Designed with transparency, Lessie operates on a credit-based system, ensuring you are always aware of costs before any action is taken. It includes flexible options for unlocking contact information, with re-unlocks for previously found individuals often being free. The skill also integrates general web search and fetching tools for broader research needs, making it a versatile asset for business intelligence and outreach.

Key features

What makes it powerful

  • Dual Search Modes (B2B & KOL)

    Utilize B2B mode to search professional databases for job titles, companies, and seniority, or KOL mode to find influencers and public figures across social media platforms based on audience and follower counts.

  • Comprehensive People Enrichment

    Enrich known contacts with detailed profiles including email, phone, work history, social links, and follower counts, improving the depth of your contact data.

  • Company Research & Insights

    Research companies for industry, funding, tech stack, and hiring activity, providing a holistic view of target organizations.

  • Credit-Based Usage with Confirmation

    Manage your budget effectively with a transparent credit system. The skill confirms costs before executing any credit-consuming action, preventing unexpected charges.

  • Flexible Contact Unlock Options

    Unlock email addresses for people from previous searches at no additional cost for re-unlocks, or unlock contacts by explicit platform handles for external leads.

Use cases

When to reach for it

  • Generate B2B Lead Lists

    Quickly create targeted lead lists by searching for professionals based on title, company, location, and seniority, ideal for sales and marketing teams.

  • Source Candidates for Recruiting

    Efficiently find and qualify potential candidates for recruiting by searching professional databases and enriching their profiles with essential contact information.

  • Perform Background Web Research

    Conduct thorough background research on individuals or organizations using integrated web search and fetch tools to gather comprehensive intelligence.

  • Identify Key Opinion Leaders (KOLs)

    Discover influencers and public figures by audience, follower count, or content topic across various social media platforms for marketing campaigns.

SKILL.md

Lessie — People Search & Enrichment

Setup

Lessie supports two modes: CLI (default, recommended) and MCP Server.

Mode A: CLI (default)

Install the Lessie CLI binary:

npm install -g @lessie/cli

Or use without installing:

npx @lessie/cli --version

First-time authorization:

lessie auth

This opens a browser for login/registration. Token is cached at ~/.lessie/oauth.json.

Verify connection:

lessie status

Mode B: MCP Server

Add to your MCP config (Claude Code ~/.claude.json, Cursor ~/.cursor/mcp.json, Codex ~/.codex/config.toml, etc.):

{
  "mcpServers": {
    "lessie": {
      "command": "npx",
      "args": ["-y", "@lessie/mcp-server"],
      "env": {
        "LESSIE_REMOTE_MCP_URL": "https://app.lessie.ai/mcp-server/mcp"
      }
    }
  }
}

Uninstall

  • CLI: npm uninstall -g @lessie/cli && rm -rf ~/.lessie/
  • MCP: Remove the "lessie" entry from your .json and rm -rf ~/.lessie/

Version check

Run these checks once at the start of each session, before mode detection. Both checks are non-blocking — if any command fails (network error, timeout), skip silently and proceed.

Skill version

  1. Read current local version from this file's metadata version field above.
  2. Fetch remote version:
    curl -sf --max-time 5 https://raw.githubusercontent.com/LessieAI/lessie-skill/main/people-search/SKILL.md | head -5 | grep 'version:' | head -1 | awk '{print $2}'
    
  3. If the remote version is newer than the local version → tell the user:

    ⬆️ A newer version of people-search skill is available ({local} → {remote}). Run this command to update:

    npx skills add LessieAI/lessie-skill -y -g
    
  4. If versions match or check fails → skip, say nothing.

CLI version

  1. Get local CLI version:
    lessie --version 2>/dev/null || npx @lessie/cli --version 2>/dev/null
    
  2. Get latest published version:
    npm view @lessie/cli version 2>/dev/null
    
  3. If the remote version is newer → tell the user:

    ⬆️ A newer version of Lessie CLI is available ({local} → {remote}). Run this command to update:

    npm install -g @lessie/cli
    
  4. If versions match or either command fails → skip, say nothing.

Quick start

After setup, try saying to Claude:

  • "Find Engineering Managers at Stripe in San Francisco"
  • "Look up Sam Altman's contact info"
  • "Research OpenAI — recent news and open job postings"

Mode detection

Determine which mode to use at the start of each session:

  1. Check if lessie CLI is available: run lessie status
  2. If the command succeeds → use CLI mode (call tools via Bash)
  3. If the command fails (not found) → attempt auto-install: npm install -g @lessie/cli
  4. After install, run lessie status again to verify
  5. If install succeeds → use CLI mode
  6. If install fails (no npm, permission denied, network error, etc.) → check if MCP tools are available (authorize, use_lessie)
  7. If MCP tools are available → use MCP mode
  8. If neither → inform the user that installation failed and suggest manual install or MCP setup

Credits & Pricing

Lessie is a credit-based service.

New accounts receive free trial credits. View your balance and purchase more at https://lessie.ai/pricing.

The agent will disambiguate company names before searching to avoid wasting credits on wrong results.

Data & Privacy

  • Data sources: Contact and company information is aggregated from publicly available sources (business directories, social profiles, corporate websites).
  • Query logging: Search queries are logged for service improvement and abuse prevention. No query data is shared with third parties.
  • Data compliance: Lessie follows applicable data protection regulations. Users are responsible for using retrieved contact data in compliance with local laws (GDPR, CAN-SPAM, etc.).
  • Privacy policy: https://lessie.ai/privacy
  • Terms of service: https://lessie.ai/terms-of-service

Authorization

CLI mode

  1. Run lessie status to check token validity.
  2. If authorized: false → run lessie auth to open browser for login.
  3. After the user completes login, run lessie status again to confirm.

MCP mode

  1. Call authorize to check connection status.
  2. If already authorized → proceed to use tools directly.
  3. If not authorizedauthorize returns an authorization URL. Tell the user you need to open a browser for Lessie login/registration, and open it using the appropriate system command:
    • macOS: open "<url>"
    • Linux: xdg-open "<url>"
    • Windows: start "<url>"
  4. Tell the user the browser has been opened and they need to complete login/registration.
  5. After the user confirms, call authorize again to verify the connection.
  6. If authorization fails (timeout, denied, port conflict), follow the diagnostic hints returned by authorize and retry.

Always inform the user before opening the browser — never silently redirect.

Agent behavior rules

CRITICAL: Confirm before every credit-consuming action

Every Lessie tool call costs credits. Credit costs per tool:

ToolCost
find-people20 credits per search
enrich-people1 credit × number of people (only charged for successful matches)
review-people1 credit × number of people
enrich-org1 credit
find-orgs1 credit
job-postings1 credit
company-news1 credit
web-search1 credit
web-fetch1 credit
unlock_emails3 credits per newly unlocked person (current rate; check price_per_unlock in the response for the live value). Already-unlocked persons (across any of your prior searches) are free. Failed lookups not charged
unlock_email_by_handle3 credits per successful unlock (current rate; check price_per_unlock in the response for the live value). not_found and failed are free. Not idempotent — re-running on the same handle re-charges

Before executing any command, you MUST:

  1. Tell the user what you are about to do and the estimated cost (e.g., "I'll enrich 3 people — this costs ~3 credits").
  2. Wait for explicit confirmation before executing.
  3. Never batch multiple credit-consuming calls without confirming the full plan first.

Exception — skip confirmation if the user has explicitly said they don't want to be prompted (e.g., "don't ask me every time", "just do it", "skip confirmations"). In that case, proceed directly but still log what you executed and the credits spent after each call.

CRITICAL: Report credit usage after every call

After each conversation turn that involved one or more Lessie tool calls, append a one-line summary of credits consumed. Format:

Used <tool-name>, cost <N> credit(s).

If multiple tools were called in the same turn, combine them:

Used web-search + enrich-org, cost 2 credits total.

CRITICAL: Read references before first CLI call

Before executing any lessie CLI command for the first time in a session, you MUST read references/cli-reference.md to learn the exact parameter syntax. Each tool has its own flag set — find-people takes --query (NL), enrich-people takes --people (JSON), unlock-emails takes --search-id + --person-ids, etc. Don't guess — read the section for the tool you're about to call.

Search mode disambiguation (B2B vs KOL)

Lessie supports two search modes with different data sources and result types:

  • B2B mode: Searches professional databases (LinkedIn-based). Best for finding people by job title, company, seniority, or industry. Returns work email, phone, employment history.
  • KOL mode: Searches social media platforms (Instagram, YouTube, TikTok, Twitter/X). Best for finding influencers, content creators, or public figures by audience, follower count, or content topic. Returns social links, follower counts.

When the user's intent is ambiguous — i.e., the query could reasonably target either professionals on LinkedIn or creators on social media — you MUST ask the user to clarify before searching. Present both options concisely:

Example ambiguous query: "Find individuals who have hands-on experience with brain-monitoring sleep devices to share their insights."

This could mean:

  1. B2B: Product managers, engineers, or researchers at sleep-tech companies (via LinkedIn)
  2. KOL: Health/tech influencers who have reviewed or used such devices (via social media)

Ask: "This could be LinkedIn professionals (PMs, engineers at sleep-tech companies) or social media creators who review sleep devices. Which direction do you prefer — or both?"

When intent is clear, proceed directly:

  • "Find CTOs at fintech startups" → B2B (obvious)
  • "Find beauty influencers on Instagram with 100k+ followers" → KOL (obvious)

Entity disambiguation

When a user mentions a company name that could refer to multiple entities (e.g., "Manus" could be Manus AI, Manus Bio, Manus Plus, etc.), disambiguate before searching:

  1. Ask the user which company they mean, or present the top candidates and let them pick.
  2. If context makes it unambiguous (e.g., user previously discussed AI agents), state your assumption and confirm: "Did you mean Manus AI (manus.im), the AI-agent company?"
  3. Never silently assume one entity over another — wrong domain = wasted search credits and irrelevant results.

Tools overview

People

ToolCLI commandWhen to use
find_peoplelessie find-peopleDiscover people via a natural-language task. Pass the user's request verbatim through --query. The agent picks sources (B2B / KOL / web), keywords, and stops automatically. Hard cap: 3 tool calls + 60s budget per request. If the response has partial: true, the agent hit the budget — results are what it gathered before timeout
enrich_peoplelessie enrich-peopleEnrich known people with full profiles. Two paths: B2B (via linkedin_url or name+domain → email, phone, work history) and KOL (via twitter/instagram/tiktok/youtube username → follower count, social links). Max 10 per call
review_peoplelessie review-peopleDeep-qualify ambiguous candidates via web research — skip for obvious matches/mismatches

Contact unlock

ToolCLI commandWhen to use
unlock_emailslessie unlock-emailsUnlock email addresses for people from a previous find_people result. Per-user idempotent: people you've already unlocked (in any search) cost 0. Takes search_id + person_ids (1–50)
unlock_email_by_handlelessie unlock-email-by-handleUnlock email by an explicit (platform, handle), without a prior search. Takes a list of {platform, handle} (1–10). NOT idempotent — repeat calls on the same handle re-charge. Use only when the handle isn't in any find_people you've run

Decision rule: if the person came from your own find_people result → use unlock_emails (re-unlocks are free). If you got the handle from outside lessie (a LinkedIn URL the user pasted, a manual mention, etc.) → use unlock_email_by_handle.

Companies

ToolCLI commandWhen to use
find_organizationslessie find-orgsDiscover companies by name, keyword, location, size, funding
enrich_organizationlessie enrich-orgGet full profile for known company domain(s) — industry, employees, funding, tech stack
get_company_job_postingslessie job-postingsView active job openings (needs organization_id from enrich)
search_company_newslessie company-newsFind recent news articles (needs organization_id from enrich)

Web research

ToolCLI commandWhen to use
web_searchlessie web-searchGeneral web search; cached results make follow-up web_fetch free
web_fetchlessie web-fetchExtract specific info from a URL via AI summarization

Detailed references

  • CLI command examples & MCP calling: See references/cli-reference.md
  • Workflow patterns (domain resolution, company research, search+qualify): See references/workflow-patterns.md
  • Domain resolution decision tree: See references/domain-resolution.md

Key constraints

  • enrich_people / enrich_organization: max 10 per call; split larger lists into batches
  • find_people: hard ceiling of 3 tool calls + 60s wall-clock budget per request. target_count 1-100 (default 30). NOT paginated — if you need more, run a new call with a different query
  • find_organizations: paginated — use --page for more results
  • web_search caches page content; if a result has has_content: true, calling web_fetch on that URL is instant
  • Useful keywords to include in a find-people query: seniority terms (owner, founder, c_suite, partner, vp, head, director, manager, senior, entry, intern) and current vs past to bias employment recency. The agent uses these directly as filters
  • For people enrichment, providing domain (company domain) alongside name greatly improves match accuracy
  • CLI output is JSON on stdout, status messages on stderr — parse stdout for data

FAQ