ATS Resume Tailor
Purpose
Tailor a resume for one concrete job posting quickly, truthfully, and ATS-readably. Optimize for recruiter search and human review, not abstract ATS scores.
Configuration
Before editing anything, locate the candidate's private career-config.json. If the user does not provide a path, search the current workspace for it or ask for the private career workspace root.
Use only private files referenced by that config:
paths.resumeSystem
paths.resumeSummary
paths.resumeMaterialBank
paths.resumeVariantsDir
- the selected resume lane's
baselineSource
- the target application package, when provided
Never assume the public template repo contains real resume facts.
Read references/resume-source-map.md when selecting a lane or checking claim boundaries. Read references/ats-customization-guide.md for keyword extraction and final QA.
Workflow
Intake the posting.
- If the user provides a URL, verify the current public posting page when possible.
- If the posting is gated, use pasted content and mark missing details as
manual-check-required.
- Do not request or inspect credentials.
Identify hard gates before polishing.
- Work authorization, co-op/intern term, location, degree/program, required years, clearance, required certifications, language, relocation, and must-have technologies.
- If a gate is not resume-fixable, say so plainly and recommend
manual-review or skip.
Select the closest resume lane from career-config.json.
- Prefer the lane that is already evidence-supported.
- Do not create a new lane unless the user asks or the existing lanes cannot represent the role truthfully.
Extract ATS terms.
- Exact target title.
- 5-15 exact JD phrases worth reusing verbatim where truthful.
- 10-30 hard skills for the skills section, prioritized by JD importance.
- Domain/company words that should appear naturally in summary or bullets.
Rewrite only the useful parts.
- Default to light, baseline-preserving tailoring.
- Prioritize target title, summary, skills ordering, and strongest matched bullets.
- Preserve the baseline's section order and experience inventory unless the JD gives a concrete reason.
Keep every claim evidence-bound.
- Do not invent metrics, tools, responsibilities, dates, employment relationships, publications, patents, or credentials.
- Treat prior employer-specific resume variants as contaminated unless the fact is also supported by the base resume sources.
Validate and stop tuning.
- The goal is a submit-ready application, not endless wording polish.
Resume And PDF Defaults
- Keep employer-facing filenames short and human, for example
Candidate_Resume.pdf or the candidate.uploadFileStem from config.
- Do not include company names, posting IDs, full role titles, dates,
ATS, tailored, or long keyword strings in upload-facing filenames.
- Keep verbose archive names only inside the private application package.
- Prefer the candidate's proven resume template before creating a new format.
- Keep one-page co-op/intern resumes text-selectable and visually full unless the user explicitly requests a CV.
- If the final resume depends on Overleaf or another web editor, use an authorized browser/plugin workflow and stop if the user is not logged in or the browser cannot safely export.
- Do not use foreground desktop automation, native file-picker automation, or cursor movement for resume export unless the user explicitly requests that fallback in the current thread.
Layout QA And Baseline Protection
- Preserve the selected baseline's role inventory by default. Prefer compact wording, bullet reordering, skills prioritization, or spacing fixes before deleting an entire experience or project.
- Do not use a previously employer-tailored package as the content baseline for a different employer. Old packages may inform layout fixes only; their employer-specific tools, keywords, metrics, and bullets must be independently supported.
- Treat one-off tools and terms from prior variants as contaminated until confirmed by the candidate's base resume sources or the user.
- Keep the resume visually full. A sparse final third, large blank lower half, clipped text, broken bullets, or overflow fails QA even when the PDF is one page.
- For dense one-page resumes, line economy matters: avoid bullets that wrap to an orphan final line with only a few words. Fix with truthful wording changes or spacing, not unsupported claims.
- Keep skills compact and scannable. Three dense category lines are usually better than a long keyword dump.
- Prefer ordinary, recruiter-readable project names and outcomes. Put niche acronyms, patent details, model names, or benchmark names in bullets only when they are supported and useful for the target role.
- Exclude extracurriculars, protected-class identity details, and unrelated personal context unless the user asks or the posting makes them concretely relevant.
Writing Rules
- Use the JD's exact wording for ATS-critical nouns and phrases when the claim is true.
- Put keywords in headline/summary, skills, and experience/project bullets.
- Keep skills mostly hard skills and technologies.
- Avoid generic AI resume phrases, unsupported numbers, inflated achievements, and repeated buzzword stuffing.
- Keep bullets line-efficient, but never cut important truthful evidence merely for keyword stuffing.
- Lead with plain-English project names and employer-relevant outcomes; put niche acronyms only where they add credibility.
Output Contract
For a specific job, return or write these package artifacts:
fit-gate-verdict.md: lane, hard gates, missing details, and whether tailoring is worthwhile.
keyword-map.md: exact JD terms and where they appear in the resume.
resume-change-summary.md: baseline file, optimization level, changed title/summary/skills/bullets, unchanged sections, and unsupported JD terms not forced.
truthfulness-notes.md: unsupported or risky claims removed, softened, or needing confirmation.
submit-checklist.md: title match, hard skills, copied JD phrases, selectable PDF, one-page status, visual-fill status, layout/export status, short upload-facing filename, and final blockers.
Use the user's preferred language from config for explanations. Preserve exact JD phrases, resume lines, job titles, company names, technologies, filenames, and local paths in their original language.
1---2name: ats-resume-tailor3description: Use when tailoring a candidate's resume, CV, cover letter, or application package to a specific job posting. Performs ATS keyword extraction, hard-gate review, truthfulness checks, resume lane selection, and submit-ready package notes using the candidate's private career config and resume sources.4---56# ATS Resume Tailor78## Purpose910Tailor a resume for one concrete job posting quickly, truthfully, and ATS-readably. Optimize for recruiter search and human review, not abstract ATS scores.1112## Configuration1314Before editing anything, locate the candidate's private `career-config.json`. If the user does not provide a path, search the current workspace for it or ask for the private career workspace root.1516Use only private files referenced by that config:1718- `paths.resumeSystem`19- `paths.resumeSummary`20- `paths.resumeMaterialBank`21- `paths.resumeVariantsDir`22- the selected resume lane's `baselineSource`23- the target application package, when provided2425Never assume the public template repo contains real resume facts.2627Read `references/resume-source-map.md` when selecting a lane or checking claim boundaries. Read `references/ats-customization-guide.md` for keyword extraction and final QA.2829## Workflow30311. Intake the posting.32 - If the user provides a URL, verify the current public posting page when possible.33 - If the posting is gated, use pasted content and mark missing details as `manual-check-required`.34 - Do not request or inspect credentials.35362. Identify hard gates before polishing.37 - Work authorization, co-op/intern term, location, degree/program, required years, clearance, required certifications, language, relocation, and must-have technologies.38 - If a gate is not resume-fixable, say so plainly and recommend `manual-review` or `skip`.39403. Select the closest resume lane from `career-config.json`.41 - Prefer the lane that is already evidence-supported.42 - Do not create a new lane unless the user asks or the existing lanes cannot represent the role truthfully.43444. Extract ATS terms.45 - Exact target title.46 - 5-15 exact JD phrases worth reusing verbatim where truthful.47 - 10-30 hard skills for the skills section, prioritized by JD importance.48 - Domain/company words that should appear naturally in summary or bullets.49505. Rewrite only the useful parts.51 - Default to light, baseline-preserving tailoring.52 - Prioritize target title, summary, skills ordering, and strongest matched bullets.53 - Preserve the baseline's section order and experience inventory unless the JD gives a concrete reason.54556. Keep every claim evidence-bound.56 - Do not invent metrics, tools, responsibilities, dates, employment relationships, publications, patents, or credentials.57 - Treat prior employer-specific resume variants as contaminated unless the fact is also supported by the base resume sources.58597. Validate and stop tuning.60 - The goal is a submit-ready application, not endless wording polish.6162## Resume And PDF Defaults6364- Keep employer-facing filenames short and human, for example `Candidate_Resume.pdf` or the `candidate.uploadFileStem` from config.65- Do not include company names, posting IDs, full role titles, dates, `ATS`, `tailored`, or long keyword strings in upload-facing filenames.66- Keep verbose archive names only inside the private application package.67- Prefer the candidate's proven resume template before creating a new format.68- Keep one-page co-op/intern resumes text-selectable and visually full unless the user explicitly requests a CV.69- If the final resume depends on Overleaf or another web editor, use an authorized browser/plugin workflow and stop if the user is not logged in or the browser cannot safely export.70- Do not use foreground desktop automation, native file-picker automation, or cursor movement for resume export unless the user explicitly requests that fallback in the current thread.7172## Layout QA And Baseline Protection7374- Preserve the selected baseline's role inventory by default. Prefer compact wording, bullet reordering, skills prioritization, or spacing fixes before deleting an entire experience or project.75- Do not use a previously employer-tailored package as the content baseline for a different employer. Old packages may inform layout fixes only; their employer-specific tools, keywords, metrics, and bullets must be independently supported.76- Treat one-off tools and terms from prior variants as contaminated until confirmed by the candidate's base resume sources or the user.77- Keep the resume visually full. A sparse final third, large blank lower half, clipped text, broken bullets, or overflow fails QA even when the PDF is one page.78- For dense one-page resumes, line economy matters: avoid bullets that wrap to an orphan final line with only a few words. Fix with truthful wording changes or spacing, not unsupported claims.79- Keep skills compact and scannable. Three dense category lines are usually better than a long keyword dump.80- Prefer ordinary, recruiter-readable project names and outcomes. Put niche acronyms, patent details, model names, or benchmark names in bullets only when they are supported and useful for the target role.81- Exclude extracurriculars, protected-class identity details, and unrelated personal context unless the user asks or the posting makes them concretely relevant.8283## Writing Rules8485- Use the JD's exact wording for ATS-critical nouns and phrases when the claim is true.86- Put keywords in headline/summary, skills, and experience/project bullets.87- Keep skills mostly hard skills and technologies.88- Avoid generic AI resume phrases, unsupported numbers, inflated achievements, and repeated buzzword stuffing.89- Keep bullets line-efficient, but never cut important truthful evidence merely for keyword stuffing.90- Lead with plain-English project names and employer-relevant outcomes; put niche acronyms only where they add credibility.9192## Output Contract9394For a specific job, return or write these package artifacts:9596- `fit-gate-verdict.md`: lane, hard gates, missing details, and whether tailoring is worthwhile.97- `keyword-map.md`: exact JD terms and where they appear in the resume.98- `resume-change-summary.md`: baseline file, optimization level, changed title/summary/skills/bullets, unchanged sections, and unsupported JD terms not forced.99- `truthfulness-notes.md`: unsupported or risky claims removed, softened, or needing confirmation.100- `submit-checklist.md`: title match, hard skills, copied JD phrases, selectable PDF, one-page status, visual-fill status, layout/export status, short upload-facing filename, and final blockers.101102Use the user's preferred language from config for explanations. Preserve exact JD phrases, resume lines, job titles, company names, technologies, filenames, and local paths in their original language.