Use when measuring a set of skills — a CV's stack, or one skill on its own — against live open-vacancy demand on freehire; when telling a candidate which in-demand skills they are missing and what learning each would unlock; or when gauging how much of a filtered market (a role, a region, a seniority) their current stack already covers.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add strelov1/freehire-cli --skill freehire-market-fit --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Freehire Market Fit?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/strelov1-freehire-market-fit)More formats (shields.io, HTML) on the badges page.
---
name: freehire-market-fit
description: Use when measuring a set of skills — a CV's stack, or one skill on its own — against live open-vacancy demand on freehire; when telling a candidate which in-demand skills they are missing and what learning each would unlock; or when gauging how much of a filtered market (a role, a region, a seniority) their current stack already covers.
---
# Scoring a stack against the live market
Needs a key: `freehire auth login --token fhk_…` (or `FREEHIRE_TOKEN`).
`market-fit` scores a skill list against the live open-vacancy market for a
filtered role: the headline coverage (`N%` of vacancies list ≥1 of the skills), the
must-have skills held, and the missing skills that unlock the most new vacancies.
```bash
freehire market-fit --skills go,docker,react --category backend # score a whole stack
freehire market-fit --skills go --country BR # one skill = its demand under the filter
freehire --json market-fit --skills go,react --seniority senior | jq '{coverage_percent, gaps}'
```
Here `--skills` is the **measured set** (comma-separated or repeated), *not* a
filter. It takes the same facet flags as `search` to define the role: `--remote
--region --country --city --company --category --role --seniority
--employment-type --english-level --salary-min --visa`.
**Ground the skill slugs first.** Skills are canonical lowercase slugs (`go`,
`react`, `kubernetes`), and a slug the market does not use scores nothing rather
than erroring:
```bash
freehire --json facets --category backend | jq '.facets.skills'
```
Where the stack comes from, if the person has not typed it out: `freehire --json
profile | jq '.skills'` returns what they already saved.
## Reading the result honestly
Coverage is a statement about *vacancy listings*, not about employability. A 70%
coverage means 70% of the filtered vacancies name at least one skill in the set —
it does not mean they would pass 70% of the screens. Say what was measured, under
which filter, and how many vacancies were in scope.
A gap is worth naming only with the number attached: "adding Kubernetes reaches
another 1,240 vacancies in this filter" is usable advice, "you should learn
Kubernetes" is not.
To act on a specific vacancy rather than the market as a whole, use the
**freehire-tailor-cv** skill.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!