linkedin-prospect-list
Turn a list of LinkedIn profile links into a ranked prospect list, with the LinkMCP connector. For each person the list shows the role, the company with its size and website, one recent post topic, the work email with its status, and a fit rating with a reason. Use when the user pastes LinkedIn profile links (or a list or CSV of them) and asks to qualify, enrich, rank or prioritize prospects or leads, or to find their work emails. Works in the LinkMCP free trial. Reads data only and sends nothing.
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 1.6k
- Forks
- 474
01 前言 Front Matter
- name
- linkedin-prospect-list
- license
- MIT
- metadata
- { "author": "LinkMCP", "version": "1.0.0" }
- description
- Turn a list of LinkedIn profile links into a ranked prospect list, with the LinkMCP connector. For each person the list shows the role, the company with its size and website, one recent post topic, the work email with its status, and a fit rating with a reason. Use when the user pastes LinkedIn profile links (or a list or CSV of them) and asks to qualify, enrich, rank or prioritize prospects or leads, or to find their work emails. Works in the LinkMCP free trial. Reads data only and sends nothing.
- compatibility
- Needs the LinkMCP connector (remote MCP server https://app.linkmcp.io/api/mcp) in the AI app. Works on every LinkMCP plan, also the free trial: it uses only profile, company, post and work email lookups.
03 SKILL.md 正文
LinkedIn prospect list
Turn LinkedIn profile links into a ranked list that the user can work from today: who fits best, why, what they talk about, and their work email.
Setup: connect LinkMCP first
- Check that the LinkMCP tools are available, for example
linkedin_bulk_get_profilesandfind_email. If they are, go to "Before you start". - If they are not available, stop. Tell the user how to connect LinkMCP:
- No LinkMCP account yet: sign up at https://linkmcp.io/?utm_source=skills&utm_medium=skill&utm_campaign=linkedin-prospect-list. The free trial can run this skill.
- Add LinkMCP to the AI app as a remote MCP server (in Claude: a custom connector) with this URL, then sign in:
https://app.linkmcp.io/api/mcp?ref=skill-prospect-list - Steps for each AI app: https://app.linkmcp.io/docs/quick-start
- If the LinkMCP plugin is installed: connect the LinkMCP connector of the plugin and sign in.
Rules
- This skill only reads. Do not send messages or connection requests. Do not comment, react or post.
- If the user asks for a first message to a person, write it in the chat as a draft. Do not send it in this skill. If the user then asks you to send it, show the recipient and the exact text again, and send only after a clear yes for that one message. Sending needs the user's own LinkedIn account, which is part of the paid LinkMCP plans.
- Do not make a LinkedIn URL from a name. Use only the links that the user gives.
- Do not guess email addresses and do not build them from a name pattern. Show only the emails that
find_emailreturns. - Do not look up phone numbers in this skill.
- Each profile, company, post and email lookup uses part of the user's LinkMCP usage allowance. Do not look up the same person or company two times. Ask the user before you look up more than 25 profiles or more than 10 work emails in one run.
- Keep the data in the chat. Save a file only when the user asks for it.
Tools
All of these tools only read: linkedin_bulk_get_profiles, linkedin_bulk_get_companies, linkedin_get_person_posts, find_email.
Your AI app can show a tool name with a prefix, for example mcp__linkmcp__find_email. Use the tool whose name ends with the name in this skill.
Before you start: ask the user
Ask only for what you do not know yet:
- The profile links. Accept LinkedIn profile URLs, profile slugs or a pasted list or CSV.
- Who is a good prospect: what the user sells, and the job titles, seniority, company size or region that fit. If the user does not want to describe it, skip the fit rating and order the list by the seniority of the job title.
- Whether to find work emails. The default is yes, for the 10 people at the top of the list.
Steps
- Clean the input. Remove duplicate links. Put aside links that are not person profiles (company pages, posts, jobs, Sales Navigator links) and list them under "Skipped" at the end.
- Look up the profiles. Call
linkedin_bulk_get_profileswith up to 10 identifiers in each call anddetailset to "slim". For each person, keep the name, headline, job title, company name, company link and location. If one profile is not found, keep the person in the list with the status "Not found". If an item has the statususage_cap_reached, follow "Limits and refusals". - Look up the companies. Collect the company links from step 2 (one time for each company). Call
linkedin_bulk_get_companieswith up to 10 company links in each call. Keep the company size (employee range), the website, the headquarters and the tagline. - Rate the fit. Compare each person with the description from the user: job title and seniority, company size and region. Use the industry only when the headline or the company tagline shows it. Give "High", "Medium" or "Low", and one short reason that comes from the data. Do not guess facts that the data does not show.
- Read recent posts for the 5 people at the top of the list (the best fit, or the most senior if there is no fit rating). Call
linkedin_get_person_postsone time for each person. Take the newest post of the last 90 days that the person wrote (not a repost). Write its topic in 10 words or fewer, with the date and the post link. If there is no such post, write "No recent posts". - Find work emails for the 10 people at the top of the list (High first, then Medium; or by seniority if there is no fit rating), unless the user said no.
- Call
find_emailwithfirst_name,last_nameandcompany_domain. The domain is the host of the company website from step 3, without "www." (for example "acme.com"). If there is no website, usecompany_nameinstead. - Keep the email and its
status(valid, catch_all, unknown or invalid). The result already has the status, so do not callvalidate_emailfor it. - If no email is found, write "Not found". Do not try other spellings.
- Call
- Show the list in the format below.
Output format
Title: Prospect list: <the user's target in a few words>, and the date of today.
| # | Name | Title | Company | Size | Location | Recent post | Work email | Email status | Fit | Why | Profile |
|---|
- Put the best fit first. Leave a cell empty when the data does not have the value.
- "Recent post": the topic, the date and the link, or "No recent posts", or "Not checked" for people outside the top 5.
- "Work email": the email, "Not found", or "Not looked up".
After the table, give these counts: links received, profiles found, profiles not found, links skipped, emails found out of emails looked up.
Then offer:
- the same table as CSV;
- a draft first message for one person (a draft in the chat only);
- more emails or posts for the people who were not checked.
If the user asks what else is possible: shared connections, connection requests and LinkedIn messages need the user's own LinkedIn account, which is part of the paid LinkMCP plans.
Done means
- Every link from the user is in the table, in "Skipped", or counted as "Not found".
- Every fit rating has a reason from the data.
- No message, invitation or other action was sent.
Limits and refusals
- In bulk results, an item with the status or the error code
usage_cap_reachedmeans that the usage allowance is used up. Stop all lookups. Mark the rest "Not looked up", not "Not found". - If a tool says that the lookups or the usage allowance are used up, stop all lookups. Tell the user the tool's message in your own words. On a paid plan, the message gives the date when the allowance resets. In the free trial, the date in the message is the end of the trial, not a reset: lookups come back only after the user subscribes. Then show the list with the data that you have.
- If a message says "daily limit", "weekly limit" or "warming up", stop that kind of call for this run. Tell the user the limit that the message gives, and the wait time if it has one. If the message gives no time, say so. Do not guess a time.
- If a message says "Please wait at least N s" and N is 120 or less, wait one time, then make one call at a time. If a call is refused again, or N is more than 120, stop and report.
- Do not try again in a loop, and do not use a different tool to get around a limit.
- If a tool says that it needs the user's own LinkedIn account or a paid plan, tell the user that answer in your own words, with its link, one time. Do not call that tool again in this run. Continue with the steps that work without it.
- If one person or company is not found, keep going with the others.
04 同仓库更多 Skills
migrate-to-e2e
Moves an existing Playwright, Cypress, Selenium, Appium, Detox, Maestro, or TesterArmy suite to e2e one slice at a time, with the old suite running beside the new one until each ported test is proven. Keeps a MIGRATION.md progress file so any later session resumes where the last stopped. Optionally plants a defect to show both suites catch it. Use for /migrate-to-e2e, "migrate our tests to e2e", "port these Maestro flows", "move our TesterArmy tests", or when a project has an e2e config and an older suite still running.
e2e
Writes, runs, and debugs end-to-end tests for web and mobile apps with e2e, the agentic test runner, which mixes agent.act goals with exact locator assertions on a Playwright browser or an iOS or Android device. Also drives a project's running app live over the e2e MCP server to look at a screen, check a UI change, take a screenshot or record a video, and try a locator; and runs bug bashes, parallel e2e explore runs with each bug proven by a repro test. Use when a project depends on e2e or has an e2e.config.ts, when asked for end-to-end, browser, mobile, or agentic UI tests, to check a change in the running app, to QA or bug bash an app or branch, or when an e2e run fails.
create-verification-skill
Generate a project-local verify-<app> skill on top of e2e, so any coding agent can launch the app, check it is worth driving, exercise a feature the way a user does, keep evidence, and bug bash it. Writes the skill, a feature map with one explore charter per feature, and proves it once. Use for /create-verification-skill, "make a verification skill for this repo", or when a project has no scripted way to prove UI behavior.
deja-search
deja-vu memory — search the user's past AI coding sessions with the deja CLI. Holds what they already settled and never wrote into the repo (naming rules, banned or already-tried tools, required checks before merge, preferred values, who owns what). Use before your first edit in a task, before you call a change done or ready to merge, before you recommend a tool, library, design or reviewer, before re-debugging an error that may already be solved, when they say 'didn't we fix this before', 'what did we decide about X' or 'I already have that', and before telling them something on this machine does not exist.
deja-reflect
End-of-session reflection and memory curation with deja-vu. Review what was decided, what commands broke and what repaired them, and record durable project rules or decisions with deja remember so the next session starts with them.
revid
Make, edit, export and post AI videos with Revid (revid.ai) through the Revid MCP server. Use whenever the user wants a short-form or long-form video made (from an idea, a script, a URL, an article, a PDF, a tweet, a product page, their own clips, or a song), wants to find what is going viral on TikTok, YouTube, Instagram or X before making something, wants to edit or re-export an existing Revid project, generate a standalone AI image or clip, make a series episode, or publish and schedule a finished video to connected social accounts. Covers setup (hosted MCP with OAuth, or an API key), the 36 tools, credits, polling and the rules for publishing. Routes to the more specific revid-* skills when one fits.