Generate an ATS-optimized resume tailored to a specific job posting. Creates clean HTML you can print to PDF. Works for any industry. Use when someone says 'tailor my resume', 'make me a resume', 'create a resume for', or 'update my resume for'.
Generate an ATS-optimized resume customized for a specific job posting. Read references/ats-rules.md before generating any HTML.
data/profile.yml for structured background datadata/resume.md if it exists (full resume text for detail)data/evaluations/ for a match"I need to evaluate the job first so I know what to emphasize. Paste the job posting and I'll assess it, then generate your resume."
From the evaluation + JD, extract 15-20 keywords that ATS systems scan for:
Using the evaluation's Block E (Tailoring Plan) as a guide, construct each resume section from profile data:
Read the template from references/resume-template.html.
Fill all {{PLACEHOLDER}} slots with the generated content.
ATS compliance rules (from references/ats-rules.md):
Write the HTML to data/resumes/{company-slug}-{role-slug}.html.
Show the user a preview of the content (not the HTML code):
## Resume Preview: {Name} - {Target Role} at {Company}
**Summary:** {first 2 lines}
**Experience:**
- {Role 1} at {Company} ({dates}) - {first bullet}
- {Role 2} at {Company} ({dates}) - {first bullet}
**Skills:** {top 10}
**Keywords matched:** {n}/20 from the JD
"Your tailored resume is saved at
data/resumes/{filename}.html.To save as PDF:
- Open the file in your browser (double-click it)
- Press Cmd+P (Mac) or Ctrl+P (Windows)
- Select Save as PDF
- Done!
The HTML is designed to print cleanly. What you see is what you get."
Update the matching row in data/applications.md:
"Resume is ready! Next steps:
- Review it by opening the HTML file
- Apply by saying 'help me with the {company} application'
- Compare this role with others: 'compare my options'"