people-search
Skill5 starsChanged 12 days agoApache-2.0View on GitHub
Find and rank professional people for recruiting, partnerships, sales, or research from user-provided data, public web sources, an authenticated search session, or a connected provider. Use for people discovery, LinkedIn or Sales Navigator search design, profile-list ranking, or provider filter translation.
5 other projects use a version of this.
Adopted by
Most recently taken up by
- vm0-ai/vm0-skillstheir own version, first seen Nov 9, 2026
- okou-ai/okou-skillstheir own version, first seen Nov 8, 2026
- LeadMagic/leadmagic-skillstheir own version, first seen Jul 15, 2026
- extruct-ai/gtm-skillstheir own version, first seen Jul 1, 2026
- LessieAI/lessie-skilltheir own version, first seen Apr 9, 2026
Other versions5 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 5
- extruct-ai/gtm-skills★ 108same name
- okou-ai/okou-skills★ 81same name
- vm0-ai/vm0-skills★ 81same name
- LessieAI/lessie-skill★ 29same name
- LeadMagic/leadmagic-skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository168 other files it gives its agents.
- abel-sell-the-alphaSkill
- agent-governance-gap-analysisSkill
- agent-infra-fixerSkill
- agent-receiptSkill
- agent-skills-gapSkill
- ai-dnaSkill
- ai-festival-posterSkill
- ai-teamSkill
- albro-founder-brandSkill
- anatomySkill
- andy-raskin-strategic-narrativeSkill
- ar-aging-and-cash-applicationSkill
- asshauer-performance-contentSkill
- autonomous-researchSkill
- awwwards-sitesSkill
- better-typographySkill
- bourgoin-why-we-buySkill
- brain-scanSkill
- brath-b2b-demand-frameworkSkill
- braun-poke-the-bearSkill
- broll-pickerSkill
- claritySkill
- client-commsSkill
- cli-ux-reviewSkill
- clone-my-voiceSkill
- clone-yourselfSkill
- costa-negotiation-dynamicsSkill
- crawler-access-auditSkill
- cv-job-matchSkill
- data-globeSkill
- decision-ledgerSkill
- denney-persona-angle-formatSkill
- dicks-homework-five-secondSkill
- domain-uptime-monitorSkill
- dreyer-funnel-diagnosisSkill
- dry-three-copy-testsSkill
- dunford-obviously-awesomeSkill
- edge-find-skillsSkill
- fede-cloneSkill
- fede-voiceSkill
- fehr-clarity-taste-strategySkill
- fitzpatrick-mom-testSkill
- flores-founder-content-machineSkill
- founders-handbookSkill
- foxwell-meta-creativeSkill
- frankus-geo-auditsSkill
- gahan-b2b-creator-blueprintSkill
- galloway-youtube-outlier-packagingSkill
- generate-imageSkill
- geo-dominationSkill
- gerhardt-founder-brandSkill
- german-taxes-elsterSkill
- goetz-challenger-marketingSkill
- greger-creator-squadSkill
- handley-everybody-writesSkill
- harness-firstSkill
- hire-founding-engineerSkill
- hott-ugly-adsSkill
- http-error-triageSkill
- hubspot-crm-cleanupSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 5 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
Run the cheapest useful canary before a paid/full search.
- Distinctive: line 28
Never expose, embed, or persist provider credentials.
- Distinctive: line 30
Never interpret zero results as no matching people until request validity and filter support are checked.
- Distinctive: line 31
Do not send connection requests or messages without separate authorization.
- Very specific: line 37
Use scripts/people_search.py for plan-only, CSV import/ranking, and provider execution.
“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
People Search
Produce an auditable shortlist without pretending the skill itself grants LinkedIn data access.
Choose the data mode
Use the strongest mode already available: provided CSV/profiles/export; public web search; an authorized authenticated session; or a connected provider such as HarvestAPI or Apify. If no discovery source is available, return a normalized search plan, ready-to-run filters, and an input template. Never fabricate profiles.
Workflow
- Translate the request into the canonical schema.
- Separate hard requirements from ranking preferences. Treat vague criteria as preferences unless explicitly mandatory.
- State the selected mode and its coverage limits.
- Map canonical filters to provider fields and disclose every applied, approximated, dropped, or unsupported filter.
- Run the cheapest useful canary before a paid/full search. Stop on invalid, silently empty, or off-target results.
- Deduplicate by stable profile URL, then normalized name plus current company.
- Rank against the original brief, preserve evidence URLs, and distinguish sourced facts from inference.
- Return the shortlist, search recipe, caveats, and highest-value refinement.
Boundaries
- A skill is orchestration, not a data license. Never imply built-in LinkedIn access.
- Never expose, embed, or persist provider credentials.
- Make the cost-bearing mode clear before paid search; prefer previews and staged expansion.
- Never interpret zero results as no matching people until request validity and filter support are checked.
- Do not send connection requests or messages without separate authorization.
For adapter behavior and result contracts, read references/provider-contract.md.
Deterministic runner
Use scripts/people_search.py for plan-only, CSV import/ranking, and provider execution. Provider credentials must enter through the named environment variable at process scope; never pass a token as an argument.
Hard filters are field-scoped: --locations matches the location field only, --titles the current_title, --companies the current_company, --industries the industry. Only --must-keywords and --exclude-keywords scan several fields, and those are reported as approximated. Exclusions are first-class: --exclude-companies, --exclude-titles, --exclude-keywords, --exclude-profile-urls.
Every requested filter appears exactly once in filters, sorted into applied, approximated, dropped, or unsupported, with the fields it matched and the reason for its status. A filter whose target field is missing from the data is dropped and not enforced, so the result set is wider than the brief and says so. Report that ledger to the user; do not restate the brief as if all of it ran.
Provider runs are staged. --provider-run canary is the default: a preview request capped by --canary-limit (5), never a complete result set. --provider-run full sends preview: false and the real --limit, and requires --max-cost-usd. Add --cost-per-result-usd so the cap is checked before the request instead of after the invoice; without it cost.cap_enforced is false. A provider-reported cost above the cap comes back in warnings.
Read ok before results. On success ok is true, results_valid is true, and results is a list that may legitimately be empty, in which case zero_result_note and diagnostics.rejected_by_filter explain what removed the candidates. On failure the runner exits 2, writes the reason to stderr, and emits ok: false with results: null, never an empty list, so a missing credential or an HTTP 402 cannot be read as "there are no such people".
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.

