This is the complete Resume Optimizer skill from the Claude Skills Library, published here in full so you can see exactly what you are buying. It is the same file a buyer receives, nothing shortened.
ATS Optimizer
Most resume advice focuses on what humans want to read. That advice is not wrong — but it skips a gating problem. Before any human sees your resume, an Applicant Tracking System has already parsed it into a structured database, ranked it against every other applicant, and either surfaced it for recruiter review or buried it in the unread stack. Estimates consistently place ATS usage at 75% or above among Fortune 500 employers. In large-enterprise hiring, a resume that scores poorly on the ATS side never reaches a recruiter regardless of how polished it looks on screen.
The failure mode this skill is designed to prevent is not "weak experience" — it is misalignment between valid experience and the mechanical signal the ATS is looking for. Three sub-problems account for most ATS failures: (1) formatting that breaks the parser, causing content to be mangled, scrambled, or silently discarded; (2) keyword mismatch, where the candidate's language does not mirror the job description's terminology; and (3) section structure confusion, where the ATS cannot correctly attribute experience, skills, and education to the right data buckets. This skill attacks all three systematically. It does not help a candidate fabricate qualifications — it helps qualified candidates stop losing to a machine on avoidable technicalities.
When to use / when not to
Reach for this skill when tailoring a resume to a job posting, checking ATS-safe formatting, building a resume from scratch, or scoring fit before applying.
Do not use it for interview prep or career coaching.
Modes
| Mode | When to use | What you get |
|---|---|---|
| tailor-to-jd | You have a resume AND a specific job description | Keyword gap analysis, targeted rewrites, match score before and after, custom skills section |
| audit-existing | You have a resume but no JD yet | Format compliance audit, section structure report, parsing risk flags, a clean ATS-safe version |
| build-from-scratch | You have raw career information (bullets, dates, titles) but no structured resume | Full resume drafted from scratch in ATS-compliant structure and format |
| gap-report | You want a fast read on what is missing vs. a target role | One-page gap report only — no full rewrite, highlights priority adds and disqualifying omissions |
Context loading gates
Before proceeding with any mode, check which inputs are present. Do not start without the required inputs for the chosen mode.
tailor-to-jd (required):
- [ ] Current resume as text or file
- [ ] Full text of the target job description (not just job title)
- [ ] Candidate's actual skills/tools list if not obvious from the resume
- [ ] Optional: target company name (used to calibrate tone and industry register)
audit-existing (required):
- [ ] Current resume as text or file
- [ ] Optional: industry/function context (helps calibrate section order expectations)
build-from-scratch (required):
- [ ] List of past roles with titles, employers, dates, and key responsibilities or achievements
- [ ] Highest level of education completed
- [ ] Full text of target job description OR at minimum a target function and industry
- [ ] Optional: certifications, publications, portfolio links, volunteer work
gap-report (required):
- [ ] Current resume as text or file
- [ ] Full text of the target job description
If required inputs are missing, state exactly what is needed and stop. Do not attempt a partial optimization with invented assumptions.
Methodology
Step 1 — Parse the ATS reality of the document
Before touching keywords or language, assess whether the resume will survive parsing at all. Modern ATS platforms (Workday, Greenhouse, iCIMS, SAP SuccessFactors, Taleo) convert the submitted file into machine-readable data through a combination of regex pattern matching, named-entity recognition, and heuristic structural rules. If the document structure confuses the parser, no amount of keyword optimization matters — the extracted data will be garbled, misattributed, or dropped.
Run a mental "Notepad test": if you were to paste the resume as plain text, would every piece of information land in the right order with correct attribution? If not, the format needs repair before anything else.
Formatting audit checklist:
Layout:
- [ ] Single-column layout only — multi-column layouts cause parsers to read left-to-right across the full page width, merging unrelated content from separate columns into nonsense strings
- [ ] No tables — ATS often strips table content entirely; what appears as an elegant two-cell skills layout becomes invisible
- [ ] No text boxes — content inside text boxes is typically invisible to the parser
- [ ] No headers or footers — contact information placed in the Word or PDF header section is skipped by most parsers; many candidates lose their own phone number and email this way
Typography:
- [ ] System-safe font: Arial, Calibri, Garamond, Georgia, Helvetica, Tahoma, Times New Roman, or Verdana
- [ ] Body text 10–12 points
- [ ] Headings 14–16 points
- [ ] No decorative bullets (★ ➤ ✓) — these convert to garbled characters; use standard bullets (•) or hyphens
- [ ] No icons, logos, or profile photos
File format:
- [ ] .docx is universally safe — every ATS parses it correctly, including legacy systems like Taleo
- [ ] Text-selectable PDF is safe on modern platforms (Greenhouse, Workday) but unreliable on older ones
- [ ] Scanned/image-based PDFs are a hard failure — the ATS cannot read text from images
- [ ] Preferred file name format: FirstName-LastName-Resume.docx or FirstName-LastName-TargetRole-Resume.docx
Dates:
- [ ] Pick ONE date format and use it throughout (e.g., "Jan 2022 – Mar 2024" or "January 2022 – March 2024")
- [ ] Mixing formats (MM/YYYY vs. "Jan 2022" vs. "2022") confuses date parsing across ATS engines
- [ ] "Present" is universally recognized for current roles
Contact information placement:
- [ ] Full name, phone, professional email, LinkedIn URL, and city/state (not full street address) in the resume body, not the header or footer
- [ ] No need for "Address:" or "Phone:" labels — ATS pattern-matches these fields
Section headings:
- [ ] Use standard, recognized labels. Workday, iCIMS, and Greenhouse all have heuristic dictionaries for section identification. Non-standard headings cause mis-classification.
- [ ] Acceptable: "Work Experience," "Professional Experience," "Experience," "Employment History"
- [ ] Acceptable: "Education," "Academic Background"
- [ ] Acceptable: "Skills," "Core Competencies," "Technical Skills"
- [ ] Acceptable: "Certifications," "Licenses & Certifications"
- [ ] Avoid: "My Journey," "Where I've Been," "What I Know," "Things I'm Good At"
Step 2 — Extract keywords from the job description
This step applies to tailor-to-jd and gap-report modes. The goal is to build a ranked keyword inventory from the JD — not by guessing what the role "should" require, but by reading what this specific employer said they want.
Extraction method:
Read the full job description and categorize every meaningful term:
Tier 1 — Hard requirements (highest weight): Any term in the "Required," "Must have," or "Qualifications" section. These are likely screened as hard filters before scoring begins. A missing Tier 1 term may result in automatic disqualification regardless of match score. Include:
- Required years of experience framing (e.g., "5+ years in...")
- Required degree or certification (e.g., "PMP required," "Bachelor's in Computer Science or equivalent")
- Required tools or platforms named explicitly (e.g., "Salesforce," "SQL," "HubSpot")
- Required domain or function terms (e.g., "B2B SaaS," "enterprise sales," "healthcare compliance")
Tier 2 — Preferred terms (medium weight): Terms in "Preferred," "Nice to have," or "Bonus" sections, plus any term repeated two or more times anywhere in the JD. Repetition is the employer's signal of importance. Include:
- Repeated action verbs (e.g., "collaborate," "drive," "own")
- Preferred tools or methodologies (e.g., "Agile," "Tableau," "Google Analytics")
- Soft skills stated explicitly (not assumed — only include if actually written in the JD)
Tier 3 — Context terms (lower weight, high authenticity value): Company-specific terminology, industry jargon, product or team names. These are not heavy ATS scoring levers but they signal cultural fluency to both the ATS's AI layer and the human reviewer. Include:
- Industry-specific certifications or regulatory frameworks mentioned
- Department or team structure language (e.g., "cross-functional," "pod," "squad")
- KPIs and metrics named in the JD (e.g., "NPS," "ARR," "LTV")
Acronym rule: Always use both the spelled-out term and its acronym on first use, then use whichever form the JD uses most. ATS systems do not always treat "Search Engine Optimization" and "SEO" as synonymous — include both to be safe.
Exact-match rule: Use the JD's exact phrasing when the candidate's experience is genuinely equivalent. Do not substitute "customer success" for "account management" if the JD uses "account management" — these may not match. If the JD says "Python" and the candidate knows Python, the resume must say "Python," not just "programming languages."
The no-stuffing rule: Do not include any keyword the candidate cannot speak to in an interview. Keyword stuffing is detectable — a 100% match score often signals over-optimization, and modern AI screening layers flag implausible keyword density. The target is genuine alignment, not manufactured alignment. A score between 75–85% with authentic experience behind every keyword is stronger than a 95% score built on terms the candidate does not actually own.
Step 3 — Compute the baseline match score
Before making any changes, establish a baseline. This gives the candidate a concrete before/after comparison and helps prioritize which gaps to close first.
Manual match score method:
- Extract the complete Tier 1 and Tier 2 keyword list from Step 2. Count total terms. Call this N.
- For each term, check the current resume text: does the term (or its direct synonym) appear?
- Count matches. Call this M.
- Baseline match score = M / N × 100.
- Separately flag any Tier 1 term that is missing — these are priority-one additions regardless of overall score.
Score interpretation:
| Score range | Meaning | Action |
|---|---|---|
| 85–100% | Strong pass | Minor polish; verify no keyword stuffing; focus on human-readability |
| 70–84% | Likely pass at most employers | Add Tier 1 gaps; tighten phrasing in experience bullets |
| 55–69% | Borderline — passes small/mid employers, may not pass enterprise | Significant rework of skills section and summary; check for Tier 1 gaps |
| Below 55% | Likely filtered out | Systematic revision needed; reassess whether role is a genuine fit |
The employer-size calibration: Pass thresholds are not universal. A 68% score may be a comfortable pass at a 30-person startup where the recruiter reviews all applicants and the ATS is used mainly for filing. The same 68% is a hard fail at a 50,000-person enterprise that receives 400 applications per role and sets filter thresholds at 75%+. When the target employer is large or the role is highly competitive, optimize toward 80%+.
Step 4 — Rebuild or revise the resume structure
Recommended section order (default for experienced professionals):
- Contact information (in document body, not header)
- Professional summary (3–5 lines)
- Skills / Core competencies
- Work experience (reverse chronological)
- Education
- Certifications and licenses
- Optional: Projects, volunteer work, publications, awards
Why this order works: It front-loads keyword density. The ATS reads top to bottom; placing Skills and Summary near the top ensures keyword-rich content appears early in the extracted text. Human reviewers also scan in the same direction — the first third of the page determines whether they read further.
Career-stage variations:
- New graduates: Move Education above Work Experience; elevate Projects or Internships immediately after Education.
- Career changers: Move Skills above Work Experience; add a "Relevant Projects" or "Transferable Skills" section to create an explicit bridge between past titles and target role.
- Senior leaders: Add a "Selected Leadership Highlights" or "Career Snapshot" section immediately after the Professional Summary — 3–5 quantified achievements that front-load executive-level proof.
Professional summary guidelines:
- Length: 3–5 lines, no more
- Must contain: your target job title (mirroring JD language), your most relevant experience category (years + domain), 2–3 highest-priority Tier 1 keywords in natural context
- Must not contain: objectives ("I am seeking..."), vague descriptors without evidence ("highly motivated," "results-driven"), or anything that cannot be supported in the experience section
- The summary is the highest-density keyword zone on the resume — use it deliberately
Skills section guidelines:
- Format: a simple comma-separated list or a two-column list is cleanest for ATS parsing
- Do not use a skills rating system (★★★☆☆, progress bars, "expert/proficient/beginner") — ATS ignores these visual indicators, they are invisible to parsers, and they give recruiters an easy reason to second-guess
- Group by category if the list is long: Technical Skills | Tools & Platforms | Methodologies | Languages
- Place Tier 1 and Tier 2 keywords here, using the JD's exact terminology
Work experience bullet guidelines:
- Lead with strong action verbs (managed, developed, reduced, led, automated, designed, launched)
- Quantify wherever possible: percentages, dollar amounts, team sizes, time savings, volume
- Embed Tier 1 and Tier 2 keywords naturally within achievement bullets — not as a separate keyword dump at the end
- Ideal density: each role should contain 1–3 keywords in context; avoid loading every bullet with multiple keywords
- Length per bullet: 1–2 lines maximum; brevity aids parsing and human readability equally
Step 5 — Recompute match score and finalize
After revisions, repeat the match scoring calculation from Step 3. Document both scores (before/after). If the revised score exceeds 85%, verify for keyword stuffing — read the resume aloud and note any phrase that sounds unnatural or crammed. Natural language is the test: if a bullet reads like a keyword list with verbs inserted, it needs to be rewritten as a sentence first and trimmed to its keyword-carrying form second.
Final check before delivery:
- [ ] Contact information is in document body and complete
- [ ] No tables, columns, text boxes, headers, or footers used for content
- [ ] All section headings are standard and recognizable
- [ ] Date formatting is consistent throughout
- [ ] File is saved as .docx (primary) or clean text-selectable PDF (secondary)
- [ ] Match score is between 75–85% (or higher if every term is genuinely owned)
- [ ] Every keyword on the resume can be spoken to in an interview
Worked Example
Scenario: Mid-career marketing professional applying for a Senior Email Marketing Manager role. She has 8 years of experience but her existing resume was built for a generalist marketing audience — not ATS-optimized.
Job description excerpts (abbreviated):
Required: 5+ years email marketing experience. Proficiency in Salesforce Marketing Cloud or HubSpot. Demonstrated experience with A/B testing, segmentation, and marketing automation. Experience with HTML/CSS for email development a plus. Strong analytical skills; experience with campaign reporting and attribution. CAN-SPAM and GDPR compliance knowledge required.
Preferred: Experience in B2B SaaS environment. Familiarity with lifecycle marketing programs. Cross-functional collaboration skills.
Keyword extraction from JD:
Tier 1: email marketing, Salesforce Marketing Cloud, HubSpot, A/B testing, segmentation, marketing automation, campaign reporting, attribution, CAN-SPAM, GDPR compliance, HTML/CSS
Tier 2: B2B SaaS, lifecycle marketing, cross-functional, 5+ years experience
Tier 3: analytical skills, email development
Before resume — Professional Summary (original):
Results-driven marketing professional with 8 years of experience in digital marketing. Skilled at strategy, campaign management, and team collaboration. Passionate about driving growth through data-driven decisions.
Problems: Zero Tier 1 keywords. "Results-driven" and "passionate" are invisible filler. "Digital marketing" is too broad to match "email marketing." The ATS extracts this summary and finds nothing to score against the JD.
After — Professional Summary (revised):
Email marketing manager with 8 years of experience designing segmentation strategies, marketing automation programs, and A/B testing frameworks for B2B SaaS companies. Proficient in Salesforce Marketing Cloud and HTML/CSS email development. Experienced in campaign reporting, attribution modeling, and CAN-SPAM and GDPR compliance.
What changed: All primary Tier 1 keywords are now present in natural language. The target job title appears in line one. The summary is 3 lines and reads like a professional statement, not a keyword list.
Before — Skills section (original):
Skills: Microsoft Office, Google Analytics, Social Media, Copywriting, Project Management, Team Leadership
Problems: None of the Tier 1 keywords appear. "Microsoft Office" and "Social Media" are low-signal for this role. The ATS extracts this section and scores it near zero against the JD.
After — Skills section (revised):
Email Platforms: Salesforce Marketing Cloud, HubSpot, Mailchimp Disciplines: Email Marketing, Marketing Automation, Lifecycle Marketing, Segmentation, A/B Testing, Campaign Reporting, Attribution Modeling Compliance: CAN-SPAM, GDPR Technical: HTML/CSS (email), Google Analytics
What changed: Every Tier 1 keyword is present using the JD's exact terminology. Categories aid both parsing and human scanning.
Before experience bullet (original):
• Managed email campaigns for the company newsletter and promotional sends.
Problems: No quantification. No keywords. "Campaigns" and "newsletter" do not match "marketing automation" or "segmentation" language.
After experience bullet (revised):
• Designed and managed automated segmentation-based email marketing programs in Salesforce Marketing Cloud, achieving 34% higher open rates against non-segmented sends across a 120,000-subscriber list.
What changed: Action verb leads. Keyword "segmentation," "marketing automation" (implied by "automated programs"), and "Salesforce Marketing Cloud" appear in natural context. Quantification gives the ATS's AI layer and the human reviewer something to assess.
Match score before revision: 3 of 11 Tier 1 terms present = 27%
Match score after revision: 10 of 11 Tier 1 terms present = 91%
Note: The one missing term (attribution) was not added because the candidate does not have attribution modeling experience — adding it would be keyword stuffing. The 91% score with one honest gap is more defensible than a 100% score that includes a fabricated qualification.
Common Failure Modes
Failure mode 1 — The visually impressive resume that parses as garbage Design-forward resumes with two-column layouts, custom fonts, icons, and progress bars often look excellent on screen and are completely unreadable to ATS parsers. The left column's content gets merged with the right column, producing strings like "Senior Product Manager Figma ● Sketch ● Adobe XD Led cross-functional teams" — all in one undifferentiated field. The parser cannot attribute the skills to the skills section or the title to the experience record. The remedy is always the same: single-column, system fonts, no tables, no text boxes.
Failure mode 2 — Keyword proximity mismatch The candidate used "customer relationship management" throughout their resume; the JD says "CRM." Or the candidate wrote "artificial intelligence" and the JD requires "AI/ML." ATS systems do not universally treat these as synonymous. The fix is to use both the acronym and the spelled-out form — but more importantly, to match the JD's actual phrasing wherever possible.
Failure mode 3 — Hidden content in headers and footers Candidates place their name, phone, and email in the Word header or PDF running header for aesthetic reasons. Most ATS parsers skip headers and footers entirely. The ATS extracts a nameless, contactless resume. The candidate may pass the keyword score but be impossible to reach or identify. All contact information must live in the document body.
Failure mode 4 — Keyword stuffing triggering AI-layer rejection Modern ATS installations include an AI co-pilot layer that summarizes candidates and flags anomalies. A resume with keyword density far above the baseline for that role is flagged as potentially over-optimized. More practically: a human recruiter who sees a resume claiming expertise in 40 technical tools for a mid-level role will disqualify it on inspection. The target match score range (75–85%) exists precisely to prevent this. Genuine match beats manufactured match every time.
Failure mode 5 — Section heading creativity A candidate who labels their experience section "Where I've Built Things" or "My Professional Story" may think it reads as distinctive. The ATS reads it as an unrecognized section and may fail to attribute the employment records inside it to the "Work Experience" data bucket. Those records become orphaned text. Standard section labels are not a creative constraint — they are a parsing requirement.
Failure mode 6 — Date format inconsistency Mixing "January 2021" with "2021-01" with "Jan '21" across different roles causes date parsing failures. The ATS cannot correctly compute tenure or chronology. Some systems flag candidates as having "unknown" employment history, which defaults to lower scores. One format, used everywhere, eliminates this entirely.
Failure mode 7 — PDF format on legacy systems Submitting a PDF to Taleo or older ATS versions is risky — these systems parse .docx significantly more reliably. When in doubt (especially for large enterprise employers using older stacks), submit .docx as the primary file. If a clean, text-selectable PDF is also requested, provide both.
Failure mode 8 — Ignoring the Tier 1 terms entirely Candidates sometimes focus on word count, visual flow, and general keyword density without identifying which terms are hard requirements. Missing a single "Required" term (a specific certification, a required tool, a minimum years threshold) may trigger an automatic hard filter disqualification regardless of overall match score. Always identify Tier 1 terms first and treat their absence as a critical gap.
Output Format
This skill emits the following deliverables, scaled to the active mode:
tailor-to-jd output:
- Keyword extraction table — three-tier keyword list extracted from the JD, each term labeled Tier 1/2/3
- Baseline match score — percentage of Tier 1 + Tier 2 keywords present in the unmodified resume, with a gap list
- Format audit results — pass/fail for each formatting checklist item, with specific callouts for any failing elements
- Revised resume — full rewritten resume in ATS-compliant structure, with revised Summary, Skills, and experience bullets
- Revised match score — post-revision percentage with a before/after comparison
- Honest gap disclosure — any Tier 1 keyword the candidate could not authentically include, with a brief note on implications
audit-existing output:
- Format audit results — pass/fail checklist with specific remediation instructions for each failure
- Section structure assessment — confirmation that all standard sections are present, in effective order, with standard headings
- General keyword density notes — observations on whether skills language is specific or vague, without a target JD to score against
- ATS-cleaned version — a copy of the resume with formatting issues corrected (single column, standard headings, contact info in body)
build-from-scratch output:
- Structured ATS-compliant resume — full draft in the recommended section order with all formatting rules applied
- Keyword integration notes — a brief explanation of which JD or target-function terms were embedded and where
- Match score — if a JD was provided, a baseline score for the built resume against it
gap-report output:
- Tier 1 gaps — list of required keywords missing from the resume, in priority order
- Tier 2 gaps — list of preferred keywords missing, in priority order
- Quick-add recommendations — for each gap, a one-line suggestion for where and how to add the term if the experience exists
- Disqualifying omissions — a separate, clearly labeled list of any Tier 1 gaps that likely trigger automatic hard filters
All output is plain text or Markdown. No tables with merged cells, no multi-column layouts, no visual formatting that would reintroduce the parsing problems the skill is designed to solve.
Quality checklist
Run this checklist against the deliverable before returning it; repair anything that fails instead of reporting the failure.
- [ ] Tier 1 terms were identified first, and every Tier 1 term the candidate cannot authentically claim appears in the honest gap disclosure rather than being written into the resume
- [ ] The revised match score lands in the 75–85% target band, not above it
- [ ] No keyword was added that the candidate's stated experience does not support
- [ ] The rewritten resume is single-column with standard section headings, contact information in the document body, and no tables, text boxes, or icons
- [ ] JD-critical terms use the JD's exact phrasing, with both acronym and spelled-out forms where relevant
- [ ] One date format is used for every role
- [ ] The deliverables match the active mode's output list, including the before/after score comparison where the mode calls for it
Related skills
resume-cv-visual-brand-designer— Designs a single-column, ATS-parse-safe resume that still reads as a considered personal brand through typographic hierarchy and one restrained accent color.commit-parser— Parses git commits against Conventional Commits, validates them in CI, and produces a version-bump decision plus changelog content for release automation.ai-resume-tailoring-accuracy-check— Sorts AI-rewritten resume lines into safe-to-submit and must-verify tiers before a tailored resume goes out.
This is one of 9,542 skills
Every skill in the library is written to this depth. Get all 21 categories in one download, or just the Careers & Job Search pack this one comes from. Either way it is a one-time payment with a 7-day money-back guarantee.
Want to try before you buy? 21 free skills, one from each category.