# People Search Agent Skill

> 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.

- Canonical: https://nanoskill.ai/skills/people-search
- Markdown: https://nanoskill.ai/skills/people-search.md
- Author: LessieAI
- Published: 2026-05-31T01:39:27.046Z
- Updated: 2026-07-25T04:21:32.916Z
- Language: en
- Source type: github
- Popularity signal: 22

## Sources

- https://github.com/LessieAI/lessie-skill

## Install

```shell
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

- **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

- **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 definition

# Lessie — People Search & Enrichment

## Setup

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

### Mode A: CLI (default)

Install the Lessie CLI binary:

```bash
npm install -g @lessie/cli
```

Or use without installing:

```bash
npx @lessie/cli --version
```

First-time authorization:

```bash
lessie auth
```

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

Verify connection:

```bash
lessie status
```

### Mode B: MCP Server

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

```json
{
  "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:
   ```bash
   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:
   ```bash
   lessie --version 2>/dev/null || npx @lessie/cli --version 2>/dev/null
   ```
2. Get latest published version:
   ```bash
   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 authorized** → `authorize` 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:

| Tool | Cost |
|------|------|
| `find-people` | **20 credits** per search |
| `enrich-people` | 1 credit × number of people (only charged for successful matches) |
| `review-people` | 1 credit × number of people |
| `enrich-org` | 1 credit |
| `find-orgs` | 1 credit |
| `job-postings` | 1 credit |
| `company-news` | 1 credit |
| `web-search` | 1 credit |
| `web-fetch` | 1 credit |
| `unlock_emails` | **3 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_handle` | **3 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](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

| Tool | CLI command | When to use |
|------|-------------|-------------|
| `find_people` | `lessie find-people` | Discover 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_people` | `lessie enrich-people` | Enrich 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_people` | `lessie review-people` | Deep-qualify **ambiguous** candidates via web research — skip for obvious matches/mismatches |

### Contact unlock

| Tool | CLI command | When to use |
|------|-------------|-------------|
| `unlock_emails` | `lessie unlock-emails` | Unlock 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_handle` | `lessie unlock-email-by-handle` | Unlock 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

| Tool | CLI command | When to use |
|------|-------------|-------------|
| `find_organizations` | `lessie find-orgs` | Discover companies by name, keyword, location, size, funding |
| `enrich_organization` | `lessie enrich-org` | Get full profile for known company domain(s) — industry, employees, funding, tech stack |
| `get_company_job_postings` | `lessie job-postings` | View active job openings (needs `organization_id` from enrich) |
| `search_company_news` | `lessie company-news` | Find recent news articles (needs `organization_id` from enrich) |

### Web research

| Tool | CLI command | When to use |
|------|-------------|-------------|
| `web_search` | `lessie web-search` | General web search; cached results make follow-up `web_fetch` free |
| `web_fetch` | `lessie web-fetch` | Extract specific info from a URL via AI summarization |

## Detailed references

- **CLI command examples & MCP calling**: See [references/cli-reference.md](references/cli-reference.md)
- **Workflow patterns** (domain resolution, company research, search+qualify): See [references/workflow-patterns.md](references/workflow-patterns.md)
- **Domain resolution decision tree**: See [references/domain-resolution.md](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

### What is the Lessie People Search & Enrichment skill?

The Lessie People Search & Enrichment skill is a tool designed to help users find, qualify, and enrich information about people and companies. It supports various use cases such as B2B lead generation, candidate sourcing, and background research.

### How do I install the Lessie CLI?

You can install the Lessie CLI globally using npm with the command: \`npm install -g @lessie/cli\`. Alternatively, you can use \`npx @lessie/cli --version\` to use it without a global install.

### Does this skill support both B2B and KOL searches?

Yes, the skill supports both B2B mode for professional databases (LinkedIn-based) and KOL mode for social media platforms (Instagram, YouTube, TikTok, Twitter/X) to find influencers and public figures.

### How does Lessie handle credit usage and pricing?

Lessie is a credit-based service. New accounts receive free trial credits, and you can purchase more at lessie.ai/pricing. The agent will always confirm the estimated cost before executing any credit-consuming action.

### Can I unlock email addresses for people I've already searched?

Yes, if the person came from a previous \`find\_people\` result, using \`unlock\_emails\` will not charge you again for already-unlocked individuals. If the contact handle is from outside Lessie, use \`unlock\_email\_by\_handle\`.

### What kind of company information can I research?

You can enrich known company domains to get full profiles including industry, number of employees, funding details, tech stack, active job postings, and recent news articles.
