How many jobs mentioning a skill were posted recently, and whether that is
rising or falling week by week.
Use it to decide whether a skill is worth positioning around, or to check a
hunch that a market is drying up. `skill` matches the title, the skills list
and the inferred technical skills of a posting; it is a loose match, so
"react" also counts "React Native". `window` is one of "week", "month" or
"quarter" and sets both the total and how many weekly buckets come back —
any other value is refused rather than silently defaulted.
Returns `jobs_posted` for the whole window and `weekly`, a list of buckets
oldest first, so a trend is visible without a second call.
DO NOT COMPARE THE BUCKET COUNTS DIRECTLY. Weeks are cut on Mondays and the
window is not, so the newest bucket holds only the days elapsed so far and the
oldest holds only the tail of the week the window opened in. Both are low for
a calendar reason and no other, which reads as a rise and a fall that did not
happen. Every bucket therefore carries `days_covered`, `partial`, and
`per_day` — the per-day rate is the comparable number. `trend` is computed
from complete weeks only; prefer it, and if you quote a bucket marked
`partial`, say that it is. `trend.direction` is 'rising', 'falling', 'flat',
or 'unknown' when there are fewer than two complete weeks — 'unknown' means
the window is too short to judge, not that demand is flat.
A COUNT over public postings — no rows, no buyers, no ids, nothing that
identifies a client. It answers how much, not who. And it counts POSTINGS,
not hiring: a skill can be posted about constantly by clients who never hire.
For whether a specific client hires and pays, ask get_buyer_quality.