Most resumes lose on keyword ranking, not on a secret robot that throws them in the trash. The “an ATS auto-rejects 75% of resumes before a human sees them” story is mostly a myth: in a 2025 survey of 25 US recruiters across 10+ platforms, 92% said their ATS does not auto-reject on resume content, and most applications still get at least brief human eyes. What actually happens is that 99.7% of recruiters search and sort candidates by keyword (Jobscan, State of the Job Search 2026), so a poorly-matched resume sinks to page 5 of the recruiter’s dashboard and never gets opened. These 15 prompts run keyword work as a structured pipeline — extract, classify, compare, fix, rank — so your resume surfaces near the top of that search.
TL;DR
- The goal is not “beat the bot.” It is to rank near the top when a recruiter runs a keyword/Boolean search inside the ATS, and to clear employer-set knockout questions (work authorization, minimum years).
- Aim for a 75-85% keyword match to a single JD. Jobscan’s recommended target is 75%; many roles clear at 65%, strict ones at 90%. A 100% match usually means keyword stuffing, which fails the human pass.
- Match keywords in context (inside real bullets), not as a flat list. Modern ATS use semantic matching and flag unnatural repetition.
- Run extraction and classification first, rewrite second. Never fabricate a skill you can’t defend in the interview.
- Best tool today: a 1M-token model (Claude Sonnet 4.6, GPT-5.5, or Gemini 3.1 Pro) so you can paste the full JD and full resume at once.
Who this is for
Job seekers applying through ATS-heavy portals — the major enterprise platforms (iCIMS, Workday, Greenhouse, Lever, Ashby, plus LinkedIn Easy Apply) handle a large share of US enterprise postings — career switchers, recruiters helping candidates tailor, and anyone seeing single-digit response rates despite a strong background.
How an ATS actually ranks you (June 2026)
Worth getting straight, because it changes how you prompt:
| Mechanism | What it does | What you control |
|---|---|---|
| Keyword / Boolean search | Recruiter searches the candidate pool with AND / OR / NOT strings; matches rank higher in the dashboard | Use the JD’s exact hard-skill terms so you appear in those searches |
| Match score | System scores keyword overlap weighted by section and frequency | Hit ~75-85% on must-have terms, in context |
| Knockout questions | Employer-set hard gates (authorization, years, location) — the real auto-filter | Answer honestly; these are not beatable by keyword tuning |
| Human review | 90%+ of applications still get at least a skim | Keep the resume readable; stuffed keywords backfire here |
Two consequences: (1) keyword context beats raw count, and (2) you cannot keyword your way past a knockout question. Prompt accordingly.
When not to use these prompts
Skip them for warm referrals that bypass the search step, for portfolio-driven hiring (design, research), or when the resume is genuinely light on relevant experience — keyword tuning does not create experience that isn’t there.
Best AI model for this work (June 2026)
You want one model run that holds the entire JD plus the entire resume, so it can compare line by line.
| Model | Context | Notes for resume work |
|---|---|---|
| Claude Sonnet 4.6 | 1M tokens | Strong at honest, structured diffs; Pro $20/mo |
| GPT-5.5 | ~320 pages in-app (Plus $20); full 1M on $200 Pro | Good ranking and tone-matching |
| Gemini 3.1 Pro | 1M tokens | Google AI Pro $19.99/mo; handles long multi-JD batches |
All three comfortably fit a 2-page resume plus a 5-JD batch in one prompt. For dedicated scoring against a named ATS, Jobscan targets a 75% match rate.
Prompt anatomy
A keyword-matching prompt should carry six elements:
- Role: who the AI plays (recruiter, hiring manager, career coach).
- Context: target role, industry, level, region, your background, the JD.
- Goal: one concrete deliverable — rewritten bullet, ranked keyword list, scored ranking.
- Constraints: what AI MUST NOT do (don’t fabricate metrics, don’t change facts, don’t add jargon I can’t defend).
- Output format: numbered list, markdown table, side-by-side diff, scored ranking.
- Signal: 1-2 strong examples of your own voice so rewrites stay in your register.
A note on the templates below: replace every [bracketed] placeholder with your real text before sending.
15 copy-ready prompt templates
1. Full JD vs full resume side-by-side
Start here for the full landscape before zooming in.
You are an ATS-savvy recruiter. Compare this resume against this JD. Output a markdown table with columns: JD requirement | Resume evidence (section + bullet number) | Match strength (Strong / Partial / Missing). Do NOT suggest rewrites yet. End with a 3-sentence diagnosis: which 3 gaps would most hurt my keyword ranking.
JD:
[paste JD]
Resume:
[paste resume]
Optimization: If output is too generic, add: “Only flag requirements that appear in the JD’s Responsibilities or Requirements section; ignore the boilerplate intro.”
2. JD bullet vs resume bullet 1:1 comparison
Take this single JD responsibility bullet and compare it to my single most-relevant resume bullet. Score on 4 dimensions (0-3 each): keyword overlap, action verb strength, quantification, seniority match. Then write ONE rewritten bullet that scores 3/3/3/3 without fabricating facts.
JD bullet: "[jd bullet]"
Resume bullet: "[resume bullet]"
3. ATS keyword extraction
Extract the keywords an ATS would parse from this JD. Output 3 lists: (1) Hard skills (tools, languages, frameworks, certifications) ranked by frequency, (2) Soft skills (collaboration, ownership, etc.) ranked by emphasis, (3) Action verbs the JD uses. Mark which terms appear in the JD title or first paragraph — recruiters most often search on those.
JD:
[paste JD]
4. Hard vs soft keyword classification
Below is a flat list of keywords I scraped from a JD. Classify each into: HARD (tool / language / cert / metric), SOFT (trait / collaboration), DOMAIN (industry vocabulary), or NOISE (boilerplate). For each HARD keyword, mark whether it is "must-have" or "nice-to-have" based on JD phrasing.
Keywords:
[paste list]
5. Missing-keyword detection
Compare my resume against this JD. Output ONLY the keywords that appear in the JD but are absent from my resume. Group into: (A) keywords I could honestly add because I have the experience but did not name it, (B) keywords I cannot add without lying, (C) keywords that are JD boilerplate and not worth chasing.
JD:
[paste JD]
Resume:
[paste resume]
6. Keyword context check
For each of these target keywords, count how many times it appears in my resume and where (which section / bullet). Flag keywords with count 0 (missing), 1 (under-weighted), and 4+ (looks stuffed). For each missing or under-weighted term, suggest the specific existing bullet to edit so the keyword reads naturally — do not invent a new accomplishment.
Keywords: [list]
Resume:
[paste resume]
7. Synonym expansion
For each keyword in this JD, list 3-5 synonyms or adjacent terms an ATS or recruiter might also search (e.g., "A/B testing" -> "split testing", "experimentation", "controlled experiments"). Mark which synonyms I currently use in my resume so I can decide whether to swap toward the JD's exact wording.
JD keywords: [list]
My resume:
[paste resume]
8. Industry-jargon decoder
I am switching from [source industry] to [target industry]. This JD is full of [target industry] jargon I half-understand. For each jargon term, give: (1) plain-English meaning, (2) the closest equivalent from [source industry], (3) whether it is safe to claim on my resume given my background.
JD:
[paste JD]
9. Region-specific keyword swap
My resume uses [region A] conventions (e.g., "CV", "A-Levels", "Pence"). I am applying to [region B]. Rewrite the keyword choices, certifications, and metric formats so the resume reads as native to [region B] without fabricating credentials. Preserve all facts. Output a diff: original -> new, with one-line reason per change.
Resume:
[paste resume]
10. Action-verb upgrade
For each bullet in my resume, score the action verb (Weak / OK / Strong) against the JD's verb register. The JD uses verbs like: [list 5 JD verbs]. Suggest a stronger verb where applicable, but only if the new verb is still factually accurate for what I did. Output as: original bullet -> suggested verb swap -> reason.
Resume bullets:
[paste]
11. Seniority-cue matching
This JD is for a [target level] role (e.g., Senior, Staff, Lead). My resume currently reads at [current level]. Identify the 5 phrases or framing patterns that signal a seniority mismatch (e.g., "assisted with" vs "owned", "contributed to" vs "drove"). Rewrite those phrases to read at [target level] without inflating titles or scope.
Resume:
[paste resume]
12. Transferable-skill translation
I have no direct experience with the JD's primary domain ([JD domain]), but I have transferable skills from [your background]. For each of the top 5 JD requirements, write ONE resume bullet that honestly bridges my experience to the requirement using transferable framing. Mark any bullet that would be a stretch (an interviewer would question it).
JD:
[paste JD]
My background summary:
[paste 5 lines]
13. Gap-explanation phrasing
My resume has a gap in [keyword / skill / years of X]. The JD requires it. Write 3 options for handling this gap: (A) cover-letter framing that acknowledges and bridges, (B) resume bullet that uses adjacent evidence, (C) honest "I do not have X but I have Y" line. For each, mark whether it risks failing a knockout question vs just lowering my match score.
Gap: [describe]
JD requirement: [paste line]
14. Multi-JD overlap analysis
Run this when applying to a role family across 5+ companies.
Below are 5 JDs for the same role family. Extract the keywords that appear in 4+ of the 5 JDs — those are the role-family core. Then list keywords unique to each JD — those are company-specific tailoring opportunities. Output two tables: Core Keywords (rank by frequency) and Per-Company Unique Keywords.
JD 1:
[paste]
JD 2:
[paste]
JD 3:
[paste]
JD 4:
[paste]
JD 5:
[paste]
15. Recruiter-vocabulary translation + fit ranking
Run last; converts findings into an apply / skip decision.
You are a senior recruiter. For each of these 10 JDs I am considering, score my resume against it 0-10 on: (1) hard-keyword match, (2) seniority match, (3) industry match, (4) realistic interview shot. Output a ranked table sorted by overall fit. For the bottom 3, explain in one line why I should skip them rather than spend tailoring time.
Resume:
[paste resume]
JDs (numbered 1-10):
[paste]
Common mistakes
- Sprinkling keywords as a flat list at the bottom — modern ATS weight context, not raw count, and flag unnatural repetition.
- Copy-pasting JD phrases verbatim — recruiters spot it on the human pass and downgrade you.
- Optimizing one JD at a time instead of finding the role-family core first.
- Ignoring action verbs — the JD’s verb register is half the seniority signal.
- Stuffing keywords you can’t defend in an interview — you rank high, then fail the screen.
- Skipping the soft-keyword pass — “ownership”, “ambiguity”, “cross-functional” get searched too.
- Trying to keyword your way past a knockout question — authorization and minimum-years gates are not beatable by wording.
How to push results further
- Run extraction (template 3) and classification (template 4) BEFORE rewriting anything. Diagnosis precedes fix.
- Target 75-85% match on must-have terms, spread across bullets, not stacked in one section. Above ~90% you risk looking stuffed.
- Keep a master resume with every honest bullet, then derive each tailored version by deletion and reordering, not rewriting from scratch.
- If a keyword sits in the JD title, lead with it — that is the term a recruiter is most likely to search.
- For senior roles, prioritize verb register and scope cues over raw keyword count.
- After tailoring, read the resume aloud — if it sounds robotic, the human reviewer will think so too.
- Save the keyword-match diff for each application as a CSV — patterns emerge after 10-15 applications.
FAQ
- What keyword match rate should I aim for?: 75-85% on must-have terms, all in context. Jobscan’s recommended target is 75%; some roles clear at 65%, strict ones at 90%. A 100% match usually signals stuffing and fails the human pass.
- Does the ATS really auto-reject my resume?: Rarely on content. In a 2025 survey of 25 recruiters, 92% said their system does not auto-reject on resume content; the real filters are employer knockout questions (authorization, minimum years) and recruiters never scrolling far enough to see you. Keyword work raises your ranking so they do.
- Will AI hallucinate keywords that aren’t in the JD?: Sometimes. Always cross-check the extracted list against the original JD text — if a term isn’t literally there, drop it.
- Should I use the JD’s exact phrasing or paraphrase?: Use exact phrasing for hard skills and certifications (those are searched literally); paraphrase soft skills so the resume still reads in your voice.
- Which AI tool is best for this?: Any 1M-token model — Claude Sonnet 4.6, GPT-5.5, or Gemini 3.1 Pro — so you can paste the full JD and full resume in one prompt. For scoring against a specific named ATS, use a dedicated tool like Jobscan.
- Can I just paste my whole resume into ChatGPT?: Yes, but redact phone, address, and any client names you can’t share. Output quality does not drop from redaction.