Skip to content
Agentmart
Submit a tool

find-leads

Quick lead search on LinkedIn.

Skill by Kasper-AI

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/kasper-ai-find-leads

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Quick lead search on LinkedIn. Use when user says "find leads", "search for prospects", or specifies an industry/role to target.

Use cases: sales

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/find-leads

What's inside

Skill name
find-leads
Description
Quick lead search on LinkedIn. Use when user says "find leads", "search for prospects", or specifies an industry/role to target.
License
MIT
Instructions
41 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • files: referenced but missing: scripts/dedupe-leads.py, references/storage.md

Files (1)

  • SKILL.md

SKILL.md (first lines)

## Browser Preflight (MANDATORY — do this FIRST)

Before delegating to any agent, attach the Claude Chrome extension to this session:

1. Tell the user in chat:
   > "I need browser access to LinkedIn. You may see a permission prompt — please approve it. I'll wait."
2. Navigate to `https://www.linkedin.com/feed/` using the Browser tool. This triggers Claude's permission system and attaches the Chrome extension to the session.
3. Confirm the LinkedIn feed page loaded (content visible, not an error/login wall). If it fails, tell the user the extension isn't connected and stop — do NOT delegate to the agent.
4. Run the Known-URL Preflight in `agents/lead-gen.md` (fetch existing leads + connections into `known-urls.json`) so extraction and the dedup gate have a baseline before any search.

If LinkedIn already loaded earlier in this session, this step passes instantly.

Delegate to the **lead-gen** agent with these constraints:

- Run a single LinkedIn people search from imported onboarding ICP by default.
- Use the full LinkedIn people-search surface for that intent: ICP role/title keywords, geography, industry, and connection degree. Prefer 2nd-degree results for net-new connection-request prospects, and include ICP-fit 1st-degree results as discovery leads marked as already connected — but only when that person is not already in the connections table; if they are, skip them here and leave them to `/process-connections`.
- Before writing leads to memory or syncing, run `scripts/dedupe-leads.py` (see `agents/lead-gen.md`). It drops any profile already present as a lead or as a connection, checking both sources. This gate is mandatory — never sync a raw, undeduped candidate list.
- Use LinkedIn People search **All filters** whenever saved ICP geography, industry, role/keywords, or connection degree cannot be fully represented by known URL parameters. The agent must open All filters, set the filters itself through the Claude browser extension, apply them, then reuse the resulting search page/filter chips/URL for extraction and logging.
- Use the Claude browser extension to navigate LinkedIn, open search URLs, scroll results, and extract lead cards. Do not ask the user to do browser work, run console code, copy results, or find leads manually.
- Do NOT ask a setup questionnaire for role/title, industry, geography, company size, lead count, exclusions, or who to avoid.
- If the user specifies an industry, role, or geography, treat it as an optional session override and keep all other saved ICP rules.
- If no criteria are specified, use the lead-gen agent's imported ICP first, then dashboard config, then references/search-matrix.md, then memory.
- Limit this command to 1 search intent. Safe fallback query refinements are allowed only when they stay within the confirmed intent.
- Within the 1 search intent, safe refinements may use separate 2nd-degree and 1st-degree passes when they keep the same role, industry, and geography target. Log the connection degree used for each pass.
- Use LinkedIn Boolean search rules for title/keyword queries: uppercase `AND`, `OR`, `NOT`; quotes for exact multi-word titles; parentheses for grouped synonyms; no wildcards or unsupported grouping symbols.
- Use LinkedIn industry and geography filters when the exact visible LinkedIn code/URN is known from saved config, URL state, or the LinkedIn UI. If not known, resolve the filter through All filters first. If All filters fails or LinkedIn has no matching suggestion, do not invent codes; put industry/geography terms into the keyword query and note the fallback.
- Write leads and search logs to agent memory immediately after the search.
- Treat this as discovery only: sync plausible ICP/product-fit leads with `stage: "new"` and `status: "new"` so the dashboard intake queue receives them.
- For 1st-degree leads, add `connection_degree: "1st"` when storage allows and note: "Already connected on LinkedIn; prioritize DM or relationship-based follow-up after qualification." For 2nd-degree leads, add `connection_degree: "2nd"` when storage allows and note suitability for connection-request outreach.
- Use visible company information as one discovery selection factor. Skip obvious non-fits before syncing, but keep plausible leads when evidence is incomplete and no exclusion or clear mismatch is visible.
- Do not set final qualification stages from this command. Never sync discovery results as `stage: "qualified"`, `stage: "unqualified"`, or `stage: "excluded"`.
- Do not assign final `icp_tier` values from this command. The `/process-leads` workflow owns deep person/company research, ICP scoring, and qualified/unqualified/excluded decisions.
- Lead notes and connect messages must follow the saved user profile, pitch, voice rules, approved facts, never-say list, and messaging instructions.
- Respect configured rate limits from `rate_limits` when available; otherwise use the lead-gen defaults.
- Present a summary and ask if the user wants to continue with more searches, which becomes a full lead-gen session. Report net-new vs duplicate counts from the dedup gate, and say explicitly if the connections check couldn't run (`known_urls_missing`).
- After presenting the summary, tell the user: "After reviewing results, delete unqualified leads and unqualified connections from the dashboard so future agent runs use cleaner context."
- Only ask the user questions for operational blockers: LinkedIn/browser permission or login, missing storage target, rate-limit decisions, or a truly empty generated plugin with no imported ICP/search references.

Every time leads are found, sync accumulated leads and searches immediately after memory is saved per `references/storage.md`. This applies to every plan and automated run.

From Kasper-AI/gtm-kit-plugin, MIT.

More from Kasper-AI/gtm-kit-plugin

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Aug 25, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from Kasper-AI

Cite this page

find-leads skill. Agent Mart. https://agentmart.dev/skills/kasper-ai-find-leads (last updated 2026-10-24)