How to Build a Candidate Screening Prompt That Scores Evidence
A candidate screening prompt that turns a resume and JD into a structured scorecard of must-haves, gaps, and evidence. No auto-rejects. Copy it free.
Hiring teams reach for AI on the first pass for an obvious reason. A single req can pull 200 resumes, and reading each one against the job description by hand is the least fun part of the week. So a recruiter pastes a stack into ChatGPT and asks it to "shortlist the good ones." It returns a tidy list. And nobody can say why a given candidate landed on it.
That's the problem worth solving, and it's not the one most guides solve. A candidate screening prompt done right doesn't hand you a verdict. It hands you a structured scorecard: which must-haves the resume actually shows, which nice-to-haves it has, where the gaps are, and the exact line of evidence behind each call. A human reviews the reasoning and makes the decision. The prompt does the reading. You do the rejecting.
There's a real responsibility here, and it's the honest center of this post. AI screening carries bias and legal risk. Used carelessly, it launders a biased read into a confident-looking score. Used with the right guardrails, it speeds the first pass without making a single hiring call on its own. The difference is entirely in how the prompt and the process are built.
Why most "ChatGPT for recruiters" lists miss
Search the term and you get listicles. Indeed's recruiter-prompts page covers job descriptions, Boolean searches, and a one-line "develop an evaluation rubric" instruction, with no scorecard structure and no bias warning (indeed.com). Workable's resume-screening tutorial is better. It does warn that AI "can inherit biases from training data," cites the legal exposure, and insists on human oversight (resources.workable.com). But even Workable stops short of a copyable prompt with a locked output contract: the example prompts are conversational, not specification-based.
So the gap splits two ways. The listicles give you prompts with no responsible-use framing. The careful guides give you responsible-use framing with no reusable, structured prompt. Almost nobody ships both: a screening prompt that outputs a defensible scorecard and refuses to do the thing that gets you sued.
This post is both. The structure makes the read consistent. The guardrails keep it honest.
What a responsible screening prompt does
- Compares one resume against the job description's must-haves and nice-to-haves
- Returns a scorecard, not a verdict, with every line tied to evidence from the resume
- Quotes the resume text that supports each score, so a human can check it
- Marks any must-have it can't find as a gap, never as a silent fail
- Scores against job criteria only, ignoring name, age, school prestige, and unexplained gaps
- Flags when it lacks enough information to score a criterion, instead of guessing
- Stays explicitly advisory: the output says "for human review," and never recommends auto-rejection
Anatomy of the screening prompt
Variables
{{job_description}} — the full JD, must-haves and nice-to-haves
{{resume_text}} — one candidate's resume, pasted raw
Prompt
Role: hiring assistant supporting a recruiter's first-pass review.
Task: score {{resume_text}} against {{job_description}} ONLY.
Hard rules:
- Score evidence, not identity. Ignore name, age, gender,
school prestige, and employment gaps you cannot tie to a requirement.
- Every score must quote the resume line that supports it.
- If a must-have cannot be found, mark it a GAP, never infer it.
- If you lack info to score a criterion, write "Insufficient evidence".
- Output is advisory, for human review. Do NOT recommend rejection.
Output contract
- Must-haves: each one → Met / Gap / Insufficient evidence + quoted line
- Nice-to-haves: each one → Met / Not shown + quoted line
- Gaps summary: what's missing for a human to probe in an interview
- Overall: a fit signal (strong / partial / unclear) — NOT a decision
The "quote the resume line" rule is what makes this auditable. A score with no evidence is an opinion. A score that points at the exact line is a claim a human can verify in five seconds, which is the whole job of a first-pass screen.
The guardrails are not optional, and here's why
Skip this section and the prompt becomes a liability. So treat these as load-bearing.
Score evidence, not identity. Models pick up correlations from training data that have nothing to do with the job: name, neighborhood, the prestige of a school. Tell the prompt explicitly to score only against the JD's stated criteria and to ignore everything else. This doesn't make the model unbiased. It narrows what it's allowed to weigh, which is the part you can actually control.
Never auto-reject. The prompt's output is a structured read for a person, full stop. The moment a model's score becomes a gate that drops a candidate with no human looking, you've handed a hiring decision to a system that can't explain or defend it. That's the exact pattern employment regulators and plaintiffs' lawyers are watching. Keep the human in the loop, every time, on every reject.
Make "Insufficient evidence" a real output. A resume that doesn't mention a skill isn't proof the candidate lacks it. It's proof the resume didn't say. Models will happily score a missing skill as a fail. Force the third option so a thin resume gets probed in an interview instead of silently filtered.
Plenty of recruiter prompt lists won't tell you AI screening can be biased, because the warning makes the tool sound less magic. The warning is the value. A screening prompt you can defend to a candidate, a hiring manager, and a lawyer is worth more than one that quietly auto-rejects and hopes nobody asks.
Step-by-step: screening one candidate
1. Lock the job criteria first
Before any resume, separate the JD into must-haves and nice-to-haves. The prompt scores against these, so vague criteria produce vague scores. "5 years in B2B SaaS sales" beats "experienced." Do this once per req.
2. Paste one resume
One at a time, not the whole stack in a single prompt. Batched resumes blur together and the model starts comparing candidates instead of scoring each against the JD. Score against the bar, not against each other.
3. Run it and read the evidence
For every "Met," check the quoted line. This takes seconds and it's the entire safeguard. If a score has no quote, the prompt didn't follow its contract, so re-run it.
4. Probe the gaps, don't filter on them
A "Gap" or "Insufficient evidence" isn't a reject. It's an interview question. Some of the best hires have thin resumes and strong answers. The scorecard tells you what to ask, not who to drop.
5. Make the call yourself
The prompt got you a consistent, evidenced first read across 200 resumes in a fraction of the time. The decision (who advances, who gets a fair second look) stays with a human. That's not a limitation. That's the design.
Variables you'll set
| Variable | Required | What it is |
|---|---|---|
{{job_description}} | Yes | Full JD, split into must-haves and nice-to-haves |
{{resume_text}} | Yes | One candidate's resume, pasted raw, one at a time |
Getting started
- Write your must-haves and nice-to-haves once, per req.
- Copy the prompt anatomy above and keep the hard rules block intact. That's the guardrail.
- Run one resume, check that every score has a quoted line of evidence.
- Use the gaps as interview questions, never as auto-filters.
- Keep a human reviewing every output, especially every reject.
- For the production version with the guardrails and scorecard pre-built, use a dedicated pack.
Screening is the front of a longer loop. Once a candidate advances, the same evidence discipline carries into the interview. The Structured Interview Design Prompt Pack builds a competency-mapped question kit, and the Discovery Interview Synthesis Prompt Pack turns the resulting notes into a structured read instead of a gut call.
The Candidate Screening Agent Pack does this end-to-end — the core prompt ships the evidence-only scorecard contract with the "quote the supporting line" rule and the no-auto-reject guardrail wired to a {{job_description}} and {{resume_text}} variable, plus a companion prompt that drafts fair, criteria-based interview questions from the gaps. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the whole catalog (plus every pack added later) if you run more than one of these jobs.
The pattern here (structured output, evidence over impression, a human owning the decision) isn't unique to hiring. It's the same discipline behind the sprint retrospective prompt and the reason a curated pack beats a copy-pasted snippet, as the prompt packs vs awesome-prompts comparison lays out. Build the guardrails in once, reuse them everywhere, and the first pass stops being the part of hiring you dread.
See why reusable packs beat copied snippets →Common questions
What is a candidate screening prompt?
Is it safe to screen candidates with ChatGPT?
How do you stop a screening prompt from being biased?
Get the prompt packs this guide is built on
Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.
More prompt guides

A Quarterly Business Review Prompt That Locks the Deck Structure
A QBR season looks the same in most customer success teams. Ten accounts, ten decks, and three CSMs who each structure the story differently. One leads with usage, one buries the renewal risk on slide…

Build a Customer Health Score Prompt With a Scoring Contract
Every customer success tool sells a health score. Almost none of them tell you how it's calculated. You get a green, yellow, or red dot and a vague promise that machine learning is involved. Then a "g…

A Customer Escalation Prompt That Triages and Drafts the Reply
An escalated ticket isn't a normal ticket with a louder customer. It's a decision waiting to be made under time pressure: how bad is this, who needs to own it, and what's the next concrete move. Get t…