market_fit
Score a skill list against live open-vacancy market data for a target role to measure headline coverage, must-have skills held, and missing skills that unlock the most jobs.
Instructions
Score a skill list against the live open-vacancy market for a filtered role: headline coverage (% of vacancies listing ≥1 skill), must-have skills held, and the missing skills that unlock the most vacancies. Here skills is the MEASURED set, not a filter — use facet params to define the role. One skill probes that skill's demand. A result wrapped as {data, ignored, ignored_values} measured something other than what was asked: fix the named param or value and retry before quoting it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City slugs. ORs with region and country. | |
| role | No | Role facet values, e.g. senior_backend. | |
| visa | No | Only jobs offering visa sponsorship. | |
| facets | No | Any other facet param as key→value(s), e.g. {"source": "greenhouse"}. Discover valid keys and values with the `facets` tool. | |
| region | No | Region codes: global|ru|cis|central_asia|eu|us. WIDENS with country/city — region+country means 'in the region OR the country', not 'the country inside the region'. To search one country, pass country and OMIT region. | |
| remote | No | Only remote jobs (sets work_mode=remote). | |
| skills | Yes | The candidate's skills to measure (canonical slugs). One value probes a single skill. | |
| company | No | Company slugs. | |
| country | No | ISO-3166 country codes, e.g. BR, US. Omit `region` when narrowing to a country — the two OR together, so region+country returns everything the region alone would. | |
| category | No | Role categories: backend|frontend|fullstack|devops|ml_ai|qa|... | |
| seniority | No | Seniority: intern|junior|middle|senior|staff|principal|lead|c_level. | |
| salary_min | No | Minimum salary (enrichment.salary_min). | |
| english_level | No | English level, e.g. a2, b1, b2, c1. | |
| exclude_skill | No | Skills to filter OUT, e.g. python — drops jobs TAGGED with any of them. Tags come from a curated dictionary read off the description, so this is a discovery filter, not a fit test: a mention the dictionary does not recognise leaves the job untagged and in the results, and a job whose real core is a stack the candidate lacks is not removed by excluding a different one. Any other facet excludes the same way through `facets`, e.g. {"company_type_exclude": "outstaff"}. | |
| employment_type | No | Employment type, e.g. full_time, contract. |