One .zip per skill. Inside: SKILL.md with the intent and the frontmatter, and the code that runs in the page.
Settings → Personalize → Skills. This is Cowork's own skill library, shared across every chat.
Click Add and choose the file you just downloaded. Cowork installs it once; no CLAUDE.md, no per-project setup.
The skill stays available in every session. Cowork runs it in your own Chrome, riding the session you are already signed into.
Search people on LinkedIn passing the location by NAME (resolves geoUrn via linkedin-geo-typeahead -> linkedin-search-people).
{"page":"string","title":"string","company":"string","network":"string","keywords":"string","lastName":"string","location":"string","firstName":"string"}Search people on LinkedIn passing the location by NAME (resolves geoUrn via linkedin-geo-typeahead -> linkedin-search-people). Takes the FIRST typeahead match; if ambiguous pass 'city country IN ENGLISH' (e.g. 'Madrid Spain'). If the location doesn't resolve, it searches WITHOUT a filter (by design). The people end up in handles.results[0].results (or handles.people). For fine control, run linkedin-geo-typeahead first and pass the geoUrn to linkedin-search-people directly. PARAMS: location + filters (keywords, title, company, firstName, lastName, network, page); unused ones are passed as ''.
This is a composite skill: it chains other skills in order, threading outputs to inputs
({{var}} = a param or a previous step's captured output).
linkedin.com/geo-typeahead with {"q":"{{location}}"}, capture bestGeoUrn.linkedin.com/search-people with {"queries":"[{"keywords":"{{keywords}}","title":"{{title}}","company":"{{company}}","firstName":"{{firstName}}","lastName":"{{lastName}}","geoUrn":"{{bestGeoUrn}}","network":"{{network}}","page":"{{page}}"}]"}, capture people.