Vague JD Analysis: Why You Keep Screening Wrong People
A vague JD is the #1 reason screening goes wrong. Here is how to split must-have, nice-to-have, and weight each group before you screen.

Knoot Admin
July 30, 2026
Content
Why a vague JD is the real culprit
A JD is a wish list, not a scoring rubric
Recruiters fill the gap with guesswork
Faster screening just means faster mistakes
How a clean JD breaks the wrong-person loop
The MNB + Weight framework
Split (M): Must-haves — miss one, they're out
Split (N): Nice-to-haves — bonus points, never a rejection reason
Assign weight (%) to each group
Confirm with the hiring manager before you screen
The Knoot Angle
Recruiters blame themselves every time a shortlist gets bounced back by the hiring manager.
"Guess I skimmed the resumes too fast."
"Guess I didn't understand the role well enough."
Most of the time, that's not it.
The problem started before you opened a single resume — inside the JD you were handed.
A JD with 15 skills, no hierarchy, no weight, nothing marked as non-negotiable. You screen a hundred resumes against it like reading a map with no scale.
You didn't screen badly. The JD never said what "right" actually meant.

Why a vague JD is the real culprit
A vague JD doesn't announce itself. No error message, no red flag. It just quietly bends every step after it — sourcing, screening, the shortlist itself.
A JD is a wish list, not a scoring rubric
Most JDs get copy-pasted from an old posting or rushed out to fill a headcount fast. Everything goes in: 5 years of Java, Spring Boot, microservices, AWS, leadership, fluent English, startup mindset. All flat. No hierarchy.
- No must-haves
- No nice-to-haves
- No weight
- No priority order
A flat JD makes every skill "equally important" — and nothing is equally important.
Recruiters fill the gap with guesswork
When the JD doesn't say, you have to guess. You guess what the hiring manager actually wants, based on your own experience — not on anything written down.
A "Senior Backend Java" JD lists 15 requirements. You screen 120 resumes in a week, shortlist the 5 highest matches against the JD as written. The hiring manager cuts 4 of 5 — "not enough high-traffic system experience," something the JD never mentioned once.
The JD on paper and the JD in the hiring manager's head are two different documents. You're always holding the wrong one.
This isn't a one-time miss, either. The same gap resurfaces on the next req, and the one after that — because nobody wrote down what actually mattered the first time. You're not learning the role faster. You're re-guessing it, role after role.
Faster screening just means faster mistakes
Vague JD + faster screening = wrong people, faster.
Speed doesn't fix a broken JD. It just lets you get it wrong at scale, in less time.
How a clean JD breaks the wrong-person loop
You don't need any tool to start. A spreadsheet is enough — the fix here is structure, not software.
The MNB + Weight framework
Split (M): Must-haves — miss one, they're out
Cap the list at 3-5. If your must-have list runs longer than that, it hasn't actually been split yet.
Split (N): Nice-to-haves — bonus points, never a rejection reason
Good to have, never grounds to cut a strong candidate.
Assign weight (%) to each group
Must-haves at 60-70%, nice-to-haves at 20-30%, bonus at 10%. Doable in a spreadsheet, no AI required. The exact split matters less than actually having one — pick numbers, write them down, and stop treating every requirement as equal.
Confirm with the hiring manager before you screen
Send the split, weighted JD back for a sign-off before you touch a single resume.
10 minutes confirming the JD saves 10 hours screening in the wrong direction.
The Knoot Angle
A clear JD isn't a nice-to-have. It's the foundation every shortlist after it depends on.
That's exactly why Knoot's JD Analyzer exists. You drop in the raw JD, and the system breaks it into must-have, nice-to-have, and bonus groups, suggesting a weight for each — but you're still the one editing and confirming before any screening starts. JD Analyzer doesn't write the JD for you, and it doesn't lock in the final weights either. It just gets you to a clean, structured JD faster than doing it by hand every time you open a new req, and it catches the inconsistencies buried inside the original JD before they turn into a bad shortlist. That structured JD then becomes the required input for AI Screening, so nothing gets filtered blind.
A JD is a wish list. JD Analyzer turns it into criteria you can trust.
Content
Why a vague JD is the real culprit
A JD is a wish list, not a scoring rubric
Recruiters fill the gap with guesswork
Faster screening just means faster mistakes
How a clean JD breaks the wrong-person loop
The MNB + Weight framework
Split (M): Must-haves — miss one, they're out
Split (N): Nice-to-haves — bonus points, never a rejection reason
Assign weight (%) to each group
Confirm with the hiring manager before you screen
The Knoot Angle