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---5
6# Resume Analyzer
7
8Analyze resumes against job descriptions and generate optimized versions with detailed annotations.
9
10## When to Use
11
12- User provides a resume file (.docx) and wants analysis
13- User provides both resume and JD for matching analysis
14- User wants ATS optimization suggestions
15- User wants quantified achievements and stronger bullet points
16- User wants an optimized version with explanations
17
18## Workflow
19
20### Step 1: Load & Parse Resume
21
22Use `scripts/parse_resume.py` to extract content from .docx:
23```bash
24python scripts/parse_resume.py <input.docx> --output parsed_resume.json
25```
26
27### Step 2: Five-Dimension Analysis
28
29Run analysis script with JD (if provided):
30```bash
31python scripts/analyze_resume.py parsed_resume.json [--jd job_description.txt] --output analysis_report.json
32```
33
34The analysis covers:
351. **JD Match Score** (0-100): Keyword overlap, skills alignment
362. **Quantification Score** (0-100): Presence of metrics, numbers, percentages
373. **Structure Logic** (0-100): Section order, readability, hierarchy
384. **Language Professionalism** (0-100): Action verbs, clarity, conciseness
395. **ATS-Friendliness** (0-100): Format, keywords, standard sections
40
41### Step 3: Interactive Q&A
42
43Present the 5-dimension report and ask follow-up questions:
44
45**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?
51
52Store answers in `supplemental_data.json`.
53
54### Step 4: Generate Optimized Version
55
56```bash
57python 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.docx
63```
64
65**Output files:**
66- `original_backup.docx`: Clean copy of original
67- `optimized_resume.docx`: Optimized version with **Word comments** explaining every change
68
69### Step 5: Summary Output
70
71Present to user:
72- Original vs Optimized comparison (key changes)
73- Score improvements (Before → After for each dimension)
74- File locations
75
76## Key Principles
77
78### CAR Method for Bullet Points
79Transform 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?
83
84Example 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)"
87
88### ATS Optimization Rules
89
901. **Use standard section headers**: Experience, Education, Skills (not fancy variations)
912. **Include full keywords from JD**: If JD says "Supply Chain Optimization", use exact phrase
923. **Avoid tables, headers/footers, graphics**: ATS may not parse them
934. **File format**: .docx preferred over PDF for ATS
94
95### Quantification Guidelines
96
97Always seek numbers:
98- Revenue: £X, $X, % growth
99- Scale: X team members, X regions, X SKUs
100- Efficiency: X% faster, X% cost reduction, X hours saved
101- Impact: X customers, X users, X% satisfaction improvement
102
103## Reference Materials
104
105- **ATS Keywords**: See [references/ats_keywords.md](references/ats_keywords.md) for industry-specific keyword lists
106- **Resume Templates**: See [references/resume_templates.md](references/resume_templates.md) for UK professional format examples
107- **Action Verbs**: See [references/action_verbs.md](references/action_verbs.md) for strong starters
108
109## Output Format
110
111The optimized resume should:
1121. Maintain user's original structure (unless severely flawed)
1132. Add quantifiable metrics where possible
1143. Use CAR format for bullet points
1154. Include all JD keywords naturally
1165. Have Word comments on EVERY change explaining the rationale
117
118Comment 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]