linkedin-connection-analysis
Skill1 starsChanged 47 days agoMITView on GitHub
Turn a LinkedIn connections export (Connections.csv, with name, company, position, and date connected) into a simple prioritised network CRM for a stated goal, such as finding buyers, referrers, hires, investors, or advisers. Scores each person High/Medium/Low fit against the goal and the ICP, keeps only Medium and High, and sorts best fit to the top. Keeps personal data local by default. Use when the user shares a LinkedIn connections export, Connections.csv, or asks "who in my network can help with", "mine my LinkedIn connections", "warm intros", or "who should I reach out to first".
In this repository12 other files it gives its agents.
- ad-description-makerSkill
- ad-headline-makerSkill
- b2b-ad-creativeSkill
- cold-outreachSkill
- deep-ad-researchSkill
- gtm-contextSkill
- icp-scoringSkill
- jtbd-researchSkill
- linkedin-post-distillSkill
- normalise-outreach-namesSkill
- positioning-messagingSkill
- tech-stack-prospectsSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
Check for .agents/product-marketing.md, then .claude/product-marketing.md.
- Distinctive: line 23
If it exists, read the ICP, buyer roles, and target industries, and use them to judge fit when the goal is sales or partnerships.
- Very specific: line 24
If it does not exist, suggest running gtm-context, but do not block.
- Distinctive: line 37
Leave email addresses out of the output unless the user asks for them.
- Distinctive: line 54
Relevant company: do they work somewhere that matters to the goal (an ICP company, a named target, or a company that sells to the ICP)?
- Distinctive: line 55
Suggested next step: ask directly, ask for an intro, or re-warm first (for connections older than about two years)
- Distinctive: line 59
Only include Medium and High fit.
- Distinctive: line 60
Do not invent facts about anyone.
- Very specific: line 78
If the list is long or the user wants a file, save it as a markdown or CSV file next to the source CSV (for example …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
LinkedIn connection analysis
Inputs needed:
- The LinkedIn connections CSV (the
Connections.csvfile from LinkedIn's data export) - The goal to prioritise against
Arguments passed: $ARGUMENTS
If a file path was passed, treat it as the CSV. If the goal or the CSV is missing, ask for it before starting. If the user does not have the file yet, tell them how to get it: LinkedIn, Settings, Data privacy, Get a copy of your data, then choose Connections. It usually arrives by email within about 10 minutes.
Before you start
- Check for
.agents/product-marketing.md, then.claude/product-marketing.md. This is the shared GTM context file written by thegtm-contextskill. - If it exists, read the ICP, buyer roles, and target industries, and use them to judge fit when the goal is sales or partnerships. Only ask for what is missing.
- If it does not exist, suggest running
gtm-context, but do not block. Ask up to five questions and flag assumptions in the output:- What is the goal (for example sell to, get referrals from, hire, raise from, or get advice from)?
- Which roles or seniority matter most?
- Which industries or company types matter?
- Are there specific target companies to match against?
- Anyone or any company to exclude (current clients, competitors)?
Privacy
This file holds personal data about real people.
- Process it locally. Do not upload it or send names, emails, or profile URLs to any external service (enrichment tools, CRMs, web search, or other APIs) without asking first and naming the service.
- Web search on company names is fine; do not search individuals by name unless the user asks.
- Leave email addresses out of the output unless the user asks for them. Most are blank anyway, because members control whether LinkedIn exports their email.
- Save outputs next to the source file, not in a shared or public folder, and never commit them to a git repo.
Workflow
- Load the CSV. The export starts with a few "Notes:" lines before the real header. Skip to the row that begins
First Name. Seereferences/connections-csv.mdfor columns and parsing notes. Report total connections loaded and rows with a blank company or position. - Set the fit criteria. Turn the goal plus the ICP into a short rubric: which roles, seniority, company types, and named companies make someone High, Medium, or Low. Show it in two or three lines before scoring.
- Pre-filter. Drop rows with no company and no position, and anyone on the exclusion list. For very large exports (over 3,000 rows), do a first pass on Position and Company keywords, then judge the survivors individually.
- Score each person on the data available: Position, Company, and Connected On.
- Build the CRM with only Medium and High fit, sorted best fit to the top.
- Summarise and offer next steps.
Build the CRM
Build a simple, prioritised network CRM for the goal. For each person, fill only what the data supports:
- Fit to the goal: High / Medium / Low, plus one line on why they are relevant
- Relevant company: do they work somewhere that matters to the goal (an ICP company, a named target, or a company that sells to the ICP)?
- Suggested next step: ask directly, ask for an intro, or re-warm first (for connections older than about two years)
Rules
- Only include Medium and High fit. Drop Low fit so the list stays usable.
- Do not invent facts about anyone. If unsure, mark Medium and say why briefly.
- Sort highest fit to the top. Within a fit level, put people at named target companies first, then more senior roles, then more recent connections.
- Position and Company are what the person last set on their profile at export time; flag that they may be out of date.
Output format
A short header, then the table:
Goal: [goal] | Loaded: [n] connections | High: [n] | Medium: [n] | Dropped: [n]
Rubric: [two or three lines]| Name | Company | Position | Fit | Why relevant | Next step | Date connected |
Then a summary: companies with several relevant connections (useful for multi-threading), the top five people to contact this week, and any gaps (for example no one at the target companies).
If the list is long or the user wants a file, save it as a markdown or CSV file next to the source CSV (for example Connections-prioritised.csv).
Quality checklist
- Notes lines skipped and the real header found
- Context file checked; ICP used where the goal is commercial
- Rubric shown before scoring
- Only Medium and High fit in the table, sorted correctly
- Every row has a one-line reason grounded in Position or Company
- No personal data sent to an external service without asking
- Emails excluded unless requested
- Nothing invented about any person
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

