Resume Analyzer
Analyze resumes against job descriptions and generate optimized versions with detailed annotations.
When to Use
- User provides a resume file (.docx) and wants analysis
- User provides both resume and JD for matching analysis
- User wants ATS optimization suggestions
- User wants quantified achievements and stronger bullet points
- User wants an optimized version with explanations
Workflow
Step 1: Load & Parse Resume
Use scripts/parse_resume.py to extract content from .docx:
python scripts/parse_resume.py <input.docx> --output parsed_resume.json
Step 2: Five-Dimension Analysis
Run analysis script with JD (if provided):
python scripts/analyze_resume.py parsed_resume.json [--jd job_description.txt] --output analysis_report.json
The analysis covers:
- JD Match Score (0-100): Keyword overlap, skills alignment
- Quantification Score (0-100): Presence of metrics, numbers, percentages
- Structure Logic (0-100): Section order, readability, hierarchy
- Language Professionalism (0-100): Action verbs, clarity, conciseness
- ATS-Friendliness (0-100): Format, keywords, standard sections
Step 3: Interactive Q&A
Present the 5-dimension report and ask follow-up questions:
Questions to ask (user can select or type):
- Which role at [Company X] had the biggest impact? What were the measurable results?
- Any specific project with quantifiable outcomes (revenue, users, efficiency)?
- Tools/technologies used that aren't mentioned?
- Any awards, recognition, or leadership experiences to highlight?
- Education details: GPA, relevant coursework, projects?
Store answers in supplemental_data.json.
Step 4: Generate Optimized Version
python scripts/generate_optimized.py \
parsed_resume.json \
analysis_report.json \
supplemental_data.json \
--output optimized_resume.docx \
--backup original_backup.docx
Output files:
original_backup.docx: Clean copy of original
optimized_resume.docx: Optimized version with Word comments explaining every change
Step 5: Summary Output
Present to user:
- Original vs Optimized comparison (key changes)
- Score improvements (Before → After for each dimension)
- File locations
Key Principles
CAR Method for Bullet Points
Transform vague descriptions into CAR format:
- Context: What was the situation?
- Action: What did YOU specifically do?
- Result: What was the measurable outcome?
Example transformation:
- ❌ "Responsible for managing team and improving processes"
- ✅ "Led 8-person logistics team (Context), implemented new WSSI forecasting system (Action), reducing stockouts by 35% and saving £120K annually (Result)"
ATS Optimization Rules
- Use standard section headers: Experience, Education, Skills (not fancy variations)
- Include full keywords from JD: If JD says "Supply Chain Optimization", use exact phrase
- Avoid tables, headers/footers, graphics: ATS may not parse them
- File format: .docx preferred over PDF for ATS
Quantification Guidelines
Always seek numbers:
- Revenue: £X, $X, % growth
- Scale: X team members, X regions, X SKUs
- Efficiency: X% faster, X% cost reduction, X hours saved
- Impact: X customers, X users, X% satisfaction improvement
Reference Materials
- ATS Keywords: See references/ats_keywords.md for industry-specific keyword lists
- Resume Templates: See references/resume_templates.md for UK professional format examples
- Action Verbs: See references/action_verbs.md for strong starters
Output Format
The optimized resume should:
- Maintain user's original structure (unless severely flawed)
- Add quantifiable metrics where possible
- Use CAR format for bullet points
- Include all JD keywords naturally
- Have Word comments on EVERY change explaining the rationale
Comment format in Word:
- Location: [Section - Bullet Point]
- Change: [Original → Modified]
- Reason: [Why this improves the resume]
- Evidence: [Based on user's answer / JD requirement / Best practice]
1---2name: resume-analyzer3description: Professional resume analysis and optimization for UK job market. Use when user needs to (1) Analyze resume quality against a job description, (2) Get ATS compatibility score and keyword suggestions, (3) Optimize bullet points with quantifiable achievements, (4) Generate an improved version with tracked changes and annotations. Supports .docx format input/output.4---56# Resume Analyzer78Analyze resumes against job descriptions and generate optimized versions with detailed annotations.910## When to Use1112- User provides a resume file (.docx) and wants analysis13- User provides both resume and JD for matching analysis 14- User wants ATS optimization suggestions15- User wants quantified achievements and stronger bullet points16- User wants an optimized version with explanations1718## Workflow1920### Step 1: Load & Parse Resume2122Use `scripts/parse_resume.py` to extract content from .docx:23```bash24python scripts/parse_resume.py <input.docx> --output parsed_resume.json25```2627### Step 2: Five-Dimension Analysis2829Run analysis script with JD (if provided):30```bash31python scripts/analyze_resume.py parsed_resume.json [--jd job_description.txt] --output analysis_report.json32```3334The analysis covers:351. **JD Match Score** (0-100): Keyword overlap, skills alignment362. **Quantification Score** (0-100): Presence of metrics, numbers, percentages373. **Structure Logic** (0-100): Section order, readability, hierarchy384. **Language Professionalism** (0-100): Action verbs, clarity, conciseness395. **ATS-Friendliness** (0-100): Format, keywords, standard sections4041### Step 3: Interactive Q&A4243Present the 5-dimension report and ask follow-up questions:4445**Questions to ask (user can select or type):**46- Which role at [Company X] had the biggest impact? What were the measurable results?47- Any specific project with quantifiable outcomes (revenue, users, efficiency)?48- Tools/technologies used that aren't mentioned?49- Any awards, recognition, or leadership experiences to highlight?50- Education details: GPA, relevant coursework, projects?5152Store answers in `supplemental_data.json`.5354### Step 4: Generate Optimized Version5556```bash57python scripts/generate_optimized.py \58 parsed_resume.json \59 analysis_report.json \60 supplemental_data.json \61 --output optimized_resume.docx \62 --backup original_backup.docx63```6465**Output files:**66- `original_backup.docx`: Clean copy of original67- `optimized_resume.docx`: Optimized version with **Word comments** explaining every change6869### Step 5: Summary Output7071Present to user:72- Original vs Optimized comparison (key changes)73- Score improvements (Before → After for each dimension)74- File locations7576## Key Principles7778### CAR Method for Bullet Points79Transform vague descriptions into CAR format:80- **C**ontext: What was the situation?81- **A**ction: What did YOU specifically do?82- **R**esult: What was the measurable outcome?8384Example transformation:85- ❌ "Responsible for managing team and improving processes"86- ✅ "Led 8-person logistics team (Context), implemented new WSSI forecasting system (Action), reducing stockouts by 35% and saving £120K annually (Result)"8788### ATS Optimization Rules89901. **Use standard section headers**: Experience, Education, Skills (not fancy variations)912. **Include full keywords from JD**: If JD says "Supply Chain Optimization", use exact phrase923. **Avoid tables, headers/footers, graphics**: ATS may not parse them934. **File format**: .docx preferred over PDF for ATS9495### Quantification Guidelines9697Always seek numbers:98- Revenue: £X, $X, % growth99- Scale: X team members, X regions, X SKUs100- Efficiency: X% faster, X% cost reduction, X hours saved101- Impact: X customers, X users, X% satisfaction improvement102103## Reference Materials104105- **ATS Keywords**: See [references/ats_keywords.md](references/ats_keywords.md) for industry-specific keyword lists106- **Resume Templates**: See [references/resume_templates.md](references/resume_templates.md) for UK professional format examples107- **Action Verbs**: See [references/action_verbs.md](references/action_verbs.md) for strong starters108109## Output Format110111The optimized resume should:1121. Maintain user's original structure (unless severely flawed)1132. Add quantifiable metrics where possible1143. Use CAR format for bullet points1154. Include all JD keywords naturally1165. Have Word comments on EVERY change explaining the rationale117118Comment format in Word:119- **Location**: [Section - Bullet Point]120- **Change**: [Original → Modified]121- **Reason**: [Why this improves the resume]122- **Evidence**: [Based on user's answer / JD requirement / Best practice]