CV Tailor
Three pillars of resume optimization: Analyze keyword alignment against the target JD, rewrite experience bullets using the STAR method with quantified results, and run an ATS compatibility check — producing a highly targeted, high-pass-rate optimized resume.
Quick Start
The user provides their resume (content or file) and the target JD. The agent then automatically completes the optimization following the workflow below:
User: Help me optimize my resume — I'm applying for this role [attaches JD + resume]
Agent: [Follows the SOP workflow and outputs optimization recommendations plus a rewritten resume]
SOP Workflow
Phase 1: Input Collection & Initial Analysis
Goal: Gather the user's resume and target JD; establish an optimization baseline.
Steps:
Collect materials:
- Obtain the user's resume content (pasted text or file path)
- Obtain the target JD (pasted text or role description)
- If no JD is provided, ask about the target role direction (industry + position + level)
Resume baseline parsing:
- Identify resume sections (education, work experience, projects, skills, etc.)
- Count resume length, number of experience entries, and time span
- Note the current resume format type (reverse-chronological / functional / hybrid)
JD core element extraction:
- Job title and level
- Core responsibilities (Top 5)
- Hard requirements (must-haves)
- Nice-to-haves
- Key skill terms and industry jargon
Output: Resume status summary + JD element checklist
Phase 2: JD Keyword Match Analysis
Goal: Systematically compare keyword coverage between the resume and JD to identify match gaps.
Steps:
Categorized keyword extraction:
Extract three categories of keywords from the JD:
| Category |
Description |
Examples |
| Hard skill keywords |
Tech stack, tools, methodologies |
Python, SQL, A/B testing, Scrum |
| Soft skill keywords |
Competency requirements |
Cross-team collaboration, data-driven, project management |
| Industry/domain keywords |
Domain-specific terminology |
DAU, conversion rate, user growth, SaaS |
Match analysis:
Search each keyword in the resume and generate a match matrix:
| Keyword | JD Priority | In Resume? | Location | Recommendation |
|---------|-------------|------------|----------|----------------|
| Python | Required | ✅ Yes | Skills + Project 1 | Keep; add specific use-case context |
| SQL | Required | ❌ No | - | Add; weave into project experience |
Coverage scoring:
- Required keyword coverage = matched required keywords / total required keywords × 100%
- Nice-to-have coverage = matched nice-to-have keywords / total nice-to-have keywords × 100%
- Benchmark: Required keyword coverage ≥ 80% is passing, ≥ 90% is excellent
Gap-fill recommendations:
- For each unmatched required keyword, recommend which section and entry to add it to
- Provide specific integration approaches (add to skills section / embed in experience bullet / highlight in project outcomes)
Output: Keyword match matrix + coverage scores + gap-fill plan
Phase 3: STAR Quantified Rewriting
Goal: Rewrite each experience entry using the STAR method, ensuring quantified data support.
STAR Method Definition:
| Element |
Meaning |
Checkpoint |
| S - Situation |
Context & background |
When, what scenario, what scale |
| T - Task |
Objective & responsibility |
What was your role, what problem to solve |
| A - Action |
Specific actions taken |
What you did, what methods/tools you used |
| R - Result |
Quantified outcomes |
Data changes, efficiency gains, cost savings |
Steps:
Diagnose existing entries:
Evaluate STAR completeness for each experience bullet:
Original: "Responsible for user growth initiatives"
Diagnosis:
- S (Situation): ❌ Missing — no product or stage context
- T (Task): ⚠️ Vague — "initiatives" is too generic
- A (Action): ❌ Missing — no specific actions described
- R (Result): ❌ Missing — no data whatsoever
Score: 1/4 (severely lacking)
Quantified rewriting:
After gathering additional details from the user, rewrite using the STAR structure:
Rewritten: "During a user growth plateau for [Product Name] (DAU 500K+),
led the design of a new-user activation funnel analysis framework (S+T),
optimized 3 critical registration flow touchpoints + designed a 7-day retention incentive strategy (A),
increasing new-user D1 retention from 32% to 45% and monthly active users by 18% within 3 months (R)"
Quantification guidance:
If the user is unsure about specific numbers, provide prompting questions:
| Dimension |
Guiding Questions |
| Scale metrics |
How many people did you manage / product DAU / project budget |
| Efficiency gains |
How long did it take before vs. after optimization |
| Growth metrics |
Revenue / users / conversion rate change |
| Cost savings |
Money / headcount / time saved |
| Impact scope |
Users served / clients covered / teams affected |
Data integrity principles:
- All data must be based on the user's real experience — fabrication is strictly prohibited
- If the user cannot provide exact figures, use reasonable ranges (e.g., "improved by approximately 20%–30%")
- Encourage relative values over absolutes (e.g., "2× efficiency improvement" is safer than "saved 3.7 hours per day")
Rewrite quality checklist:
Each rewritten entry must satisfy:
Output: Before/after comparison table for each entry + STAR score changes
Phase 4: ATS Compatibility Check
Goal: Ensure the resume can pass ATS (Applicant Tracking System) automated screening.
ATS Basics:
ATS is the software companies use to automatically screen resumes. It parses resume text, matches keywords, and assigns scores to determine whether a resume reaches human review. Common systems include Workday, Greenhouse, Lever, Taleo, and iCIMS.
Steps:
Format compatibility check:
| Check Item |
Passing Standard |
Common Issues |
| File format |
PDF or DOCX (PDF preferred) |
Image-based resumes cannot be parsed |
| Layout |
Single-column, standard heading hierarchy |
Multi-column layouts may parse incorrectly |
| Fonts |
Standard fonts (Arial, Calibri, Times New Roman, Helvetica) |
Decorative fonts may render incorrectly |
| Tables |
Avoid complex table-based layouts |
Text inside tables may be skipped |
| Headers/footers |
Keep critical info out of headers/footers |
Some ATS skip header/footer regions |
| Images/icons |
Don't use images to convey key information |
ATS cannot read text in images |
| Special characters |
Avoid special Unicode bullet characters |
Use standard bullets (•) or hyphens (-) |
Content structure check:
| Check Item |
Passing Standard |
| Section titles |
Use standard headings ("Work Experience", "Education", "Projects", "Skills") |
| Date format |
Consistent format (e.g., "Jan 2023 – Jun 2024" or "2023/01 – 2024/06") |
| Company/school names |
Use full names, not abbreviations (e.g., "Amazon Web Services" not "AWS") |
| Contact information |
Include name, phone, email — placed prominently at the top |
| File naming |
Recommended format: "FirstName_LastName_TargetRole_Resume" (e.g., "John_Smith_Product_Manager_Resume.pdf") |
Keyword density check:
- Core keywords should appear at least 2–3 times (distributed across different sections)
- Avoid keyword stuffing (repeating the same keyword within one paragraph)
- Use the exact phrasing from the JD (if the JD says "data analysis," don't write "data mining")
ATS score output:
ATS Compatibility Scorecard
===========================
Format Compatibility: ██████████ 90/100
Section Standards: ████████░░ 80/100
Keyword Match Rate: ███████░░░ 70/100 (see Phase 2)
Content Structure: █████████░ 85/100
──────────────────────────
Overall Score: 81/100 (Good)
⚠️ Major deductions:
1. Uses a two-column layout (−10 pts)
2. Missing a standalone "Skills" section (−5 pts)
3. "Data analysis" keyword appears only once (−5 pts)
Output: ATS compatibility scorecard + item-by-item results + fix recommendations
Phase 5: Final Optimized Output
Goal: Consolidate findings from all four phases into a final optimization deliverable.
Steps:
Optimization summary:
Resume Optimization Summary
===========================
JD Keyword Coverage: 62% → 92% (+30%)
STAR Completeness: Avg 1.5/4 → 3.5/4
ATS Compatibility Score: 55/100 → 88/100
Entries Rewritten: 6/8
Keywords Added: 7
Output the fully rewritten resume:
- Present the optimized resume text section by section
- Bold all changed portions for easy comparison
- Keep all factual information unchanged (schools, companies, dates, etc.)
Additional recommendations (if applicable):
- Resume length guidance (new grads: 1 page; 3–5 years experience: 1–2 pages; 10+ years: up to 2 pages)
- Section ordering suggestions (adjust education vs. experience placement based on career stage)
- Channel-specific tweaks (different emphasis for recruiter / company portal / referral submissions)
Output: Optimization summary + fully rewritten resume + additional recommendations
Workflow Control Rules
Interaction Modes
| User Input |
Mode |
Behavior |
| Resume only, no JD |
Guided mode |
Ask about the target role and JD first, then begin analysis |
| Resume + JD |
Standard mode |
Execute Phases 1–5 in full |
| Requests a specific phase only |
Single-phase mode |
Execute only the requested Phase (e.g., ATS check only) |
| Says "just give it a quick look" |
Diagnostic mode |
Output three scores + Top 3 improvement suggestions — no full rewrite |
Quality Checklist
Before delivering the final output, verify each item:
Iterative Refinement
If the user provides feedback on the optimization:
- Identify which Phase the feedback relates to
- Re-execute from that Phase
- Cascade updates to all downstream content
- Maintain overall consistency (keywords, STAR rewrites, and ATS checks update in lockstep)
Core Principles
- Authenticity first: All optimizations must be based on the user's real experience — fabricating data or experience is strictly prohibited
- Targeted optimization: Every change should serve JD alignment — no aimless embellishment
- Actionable advice: Recommendations must be directly usable — don't say "add metrics" without guiding the user on how
- Privacy protection: Remind users to redact sensitive information (phone numbers, home addresses, etc.) when sharing their resume
1---2name: cv-tailor3description: Optimize resumes by matching keywords to the job description, rewriting experience with the quantified STAR method, and checking ATS compatibility. Triggered when users ask for resume help, review, or polishing, mention JD matching, STAR method, ATS, or want to tailor their resume for a specific role.4license: MIT5---6
7# CV Tailor
8
9**Three pillars of resume optimization**: Analyze keyword alignment against the target JD, rewrite experience bullets using the STAR method with quantified results, and run an ATS compatibility check — producing a highly targeted, high-pass-rate optimized resume.
10
11## Quick Start
12
13The user provides their resume (content or file) and the target JD. The agent then automatically completes the optimization following the workflow below:
14
15```
16User: Help me optimize my resume — I'm applying for this role [attaches JD + resume]
17Agent: [Follows the SOP workflow and outputs optimization recommendations plus a rewritten resume]
18```
19
20## SOP Workflow
21
22### Phase 1: Input Collection & Initial Analysis
23
24**Goal**: Gather the user's resume and target JD; establish an optimization baseline.
25
26**Steps**:
27
281. **Collect materials**:
29 - Obtain the user's resume content (pasted text or file path)
30 - Obtain the target JD (pasted text or role description)
31 - If no JD is provided, ask about the target role direction (industry + position + level)
32
332. **Resume baseline parsing**:
34 - Identify resume sections (education, work experience, projects, skills, etc.)
35 - Count resume length, number of experience entries, and time span
36 - Note the current resume format type (reverse-chronological / functional / hybrid)
37
383. **JD core element extraction**:
39 - Job title and level
40 - Core responsibilities (Top 5)
41 - Hard requirements (must-haves)
42 - Nice-to-haves
43 - Key skill terms and industry jargon
44
45**Output**: Resume status summary + JD element checklist
46
47---
48
49### Phase 2: JD Keyword Match Analysis
50
51**Goal**: Systematically compare keyword coverage between the resume and JD to identify match gaps.
52
53**Steps**:
54
551. **Categorized keyword extraction**:
56 Extract three categories of keywords from the JD:
57
58 | Category | Description | Examples |
59 |----------|-------------|----------|
60 | **Hard skill keywords** | Tech stack, tools, methodologies | Python, SQL, A/B testing, Scrum |
61 | **Soft skill keywords** | Competency requirements | Cross-team collaboration, data-driven, project management |
62 | **Industry/domain keywords** | Domain-specific terminology | DAU, conversion rate, user growth, SaaS |
63
642. **Match analysis**:
65 Search each keyword in the resume and generate a match matrix:
66
67 ```
68 | Keyword | JD Priority | In Resume? | Location | Recommendation |
69 |---------|-------------|------------|----------|----------------|
70 | Python | Required | ✅ Yes | Skills + Project 1 | Keep; add specific use-case context |
71 | SQL | Required | ❌ No | - | Add; weave into project experience |
72 ```
73
743. **Coverage scoring**:
75 - Required keyword coverage = matched required keywords / total required keywords × 100%
76 - Nice-to-have coverage = matched nice-to-have keywords / total nice-to-have keywords × 100%
77 - **Benchmark**: Required keyword coverage ≥ 80% is passing, ≥ 90% is excellent
78
794. **Gap-fill recommendations**:
80 - For each unmatched required keyword, recommend which section and entry to add it to
81 - Provide specific integration approaches (add to skills section / embed in experience bullet / highlight in project outcomes)
82
83**Output**: Keyword match matrix + coverage scores + gap-fill plan
84
85---
86
87### Phase 3: STAR Quantified Rewriting
88
89**Goal**: Rewrite each experience entry using the STAR method, ensuring quantified data support.
90
91**STAR Method Definition**:
92
93| Element | Meaning | Checkpoint |
94|---------|---------|------------|
95| **S** - Situation | Context & background | When, what scenario, what scale |
96| **T** - Task | Objective & responsibility | What was your role, what problem to solve |
97| **A** - Action | Specific actions taken | What you did, what methods/tools you used |
98| **R** - Result | Quantified outcomes | Data changes, efficiency gains, cost savings |
99
100**Steps**:
101
1021. **Diagnose existing entries**:
103 Evaluate STAR completeness for each experience bullet:
104
105 ```
106 Original: "Responsible for user growth initiatives"
107
108 Diagnosis:
109 - S (Situation): ❌ Missing — no product or stage context
110 - T (Task): ⚠️ Vague — "initiatives" is too generic
111 - A (Action): ❌ Missing — no specific actions described
112 - R (Result): ❌ Missing — no data whatsoever
113 Score: 1/4 (severely lacking)
114 ```
115
1162. **Quantified rewriting**:
117 After gathering additional details from the user, rewrite using the STAR structure:
118
119 ```
120 Rewritten: "During a user growth plateau for [Product Name] (DAU 500K+),
121 led the design of a new-user activation funnel analysis framework (S+T),
122 optimized 3 critical registration flow touchpoints + designed a 7-day retention incentive strategy (A),
123 increasing new-user D1 retention from 32% to 45% and monthly active users by 18% within 3 months (R)"
124 ```
125
1263. **Quantification guidance**:
127 If the user is unsure about specific numbers, provide prompting questions:
128
129 | Dimension | Guiding Questions |
130 |-----------|-------------------|
131 | Scale metrics | How many people did you manage / product DAU / project budget |
132 | Efficiency gains | How long did it take before vs. after optimization |
133 | Growth metrics | Revenue / users / conversion rate change |
134 | Cost savings | Money / headcount / time saved |
135 | Impact scope | Users served / clients covered / teams affected |
136
137 **Data integrity principles**:
138 - All data must be based on the user's real experience — fabrication is strictly prohibited
139 - If the user cannot provide exact figures, use reasonable ranges (e.g., "improved by approximately 20%–30%")
140 - Encourage relative values over absolutes (e.g., "2× efficiency improvement" is safer than "saved 3.7 hours per day")
141
1424. **Rewrite quality checklist**:
143 Each rewritten entry must satisfy:
144 - [ ] Contains at least 1 quantified data point
145 - [ ] Covers at least 3 of the 4 STAR elements
146 - [ ] Begins with an action verb (led, built, optimized, drove, designed…)
147 - [ ] No longer than 3 lines (ATS readability)
148 - [ ] Incorporates missing keywords identified in Phase 2
149
150**Output**: Before/after comparison table for each entry + STAR score changes
151
152---
153
154### Phase 4: ATS Compatibility Check
155
156**Goal**: Ensure the resume can pass ATS (Applicant Tracking System) automated screening.
157
158**ATS Basics**:
159ATS is the software companies use to automatically screen resumes. It parses resume text, matches keywords, and assigns scores to determine whether a resume reaches human review. Common systems include Workday, Greenhouse, Lever, Taleo, and iCIMS.
160
161**Steps**:
162
1631. **Format compatibility check**:
164
165 | Check Item | Passing Standard | Common Issues |
166 |------------|------------------|---------------|
167 | File format | PDF or DOCX (PDF preferred) | Image-based resumes cannot be parsed |
168 | Layout | Single-column, standard heading hierarchy | Multi-column layouts may parse incorrectly |
169 | Fonts | Standard fonts (Arial, Calibri, Times New Roman, Helvetica) | Decorative fonts may render incorrectly |
170 | Tables | Avoid complex table-based layouts | Text inside tables may be skipped |
171 | Headers/footers | Keep critical info out of headers/footers | Some ATS skip header/footer regions |
172 | Images/icons | Don't use images to convey key information | ATS cannot read text in images |
173 | Special characters | Avoid special Unicode bullet characters | Use standard bullets (•) or hyphens (-) |
174
1752. **Content structure check**:
176
177 | Check Item | Passing Standard |
178 |------------|------------------|
179 | Section titles | Use standard headings ("Work Experience", "Education", "Projects", "Skills") |
180 | Date format | Consistent format (e.g., "Jan 2023 – Jun 2024" or "2023/01 – 2024/06") |
181 | Company/school names | Use full names, not abbreviations (e.g., "Amazon Web Services" not "AWS") |
182 | Contact information | Include name, phone, email — placed prominently at the top |
183 | File naming | Recommended format: "FirstName_LastName_TargetRole_Resume" (e.g., "John_Smith_Product_Manager_Resume.pdf") |
184
1853. **Keyword density check**:
186 - Core keywords should appear at least 2–3 times (distributed across different sections)
187 - Avoid keyword stuffing (repeating the same keyword within one paragraph)
188 - Use the exact phrasing from the JD (if the JD says "data analysis," don't write "data mining")
189
1904. **ATS score output**:
191
192 ```
193 ATS Compatibility Scorecard
194 ===========================
195 Format Compatibility: ██████████ 90/100
196 Section Standards: ████████░░ 80/100
197 Keyword Match Rate: ███████░░░ 70/100 (see Phase 2)
198 Content Structure: █████████░ 85/100
199 ──────────────────────────
200 Overall Score: 81/100 (Good)
201
202 ⚠️ Major deductions:
203 1. Uses a two-column layout (−10 pts)
204 2. Missing a standalone "Skills" section (−5 pts)
205 3. "Data analysis" keyword appears only once (−5 pts)
206 ```
207
208**Output**: ATS compatibility scorecard + item-by-item results + fix recommendations
209
210---
211
212### Phase 5: Final Optimized Output
213
214**Goal**: Consolidate findings from all four phases into a final optimization deliverable.
215
216**Steps**:
217
2181. **Optimization summary**:
219 ```
220 Resume Optimization Summary
221 ===========================
222 JD Keyword Coverage: 62% → 92% (+30%)
223 STAR Completeness: Avg 1.5/4 → 3.5/4
224 ATS Compatibility Score: 55/100 → 88/100
225 Entries Rewritten: 6/8
226 Keywords Added: 7
227 ```
228
2292. **Output the fully rewritten resume**:
230 - Present the optimized resume text section by section
231 - **Bold** all changed portions for easy comparison
232 - Keep all factual information unchanged (schools, companies, dates, etc.)
233
2343. **Additional recommendations** (if applicable):
235 - Resume length guidance (new grads: 1 page; 3–5 years experience: 1–2 pages; 10+ years: up to 2 pages)
236 - Section ordering suggestions (adjust education vs. experience placement based on career stage)
237 - Channel-specific tweaks (different emphasis for recruiter / company portal / referral submissions)
238
239**Output**: Optimization summary + fully rewritten resume + additional recommendations
240
241---
242
243## Workflow Control Rules
244
245### Interaction Modes
246
247| User Input | Mode | Behavior |
248|------------|------|----------|
249| Resume only, no JD | **Guided mode** | Ask about the target role and JD first, then begin analysis |
250| Resume + JD | **Standard mode** | Execute Phases 1–5 in full |
251| Requests a specific phase only | **Single-phase mode** | Execute only the requested Phase (e.g., ATS check only) |
252| Says "just give it a quick look" | **Diagnostic mode** | Output three scores + Top 3 improvement suggestions — no full rewrite |
253
254### Quality Checklist
255
256Before delivering the final output, verify each item:
257
258- [ ] Keyword match matrix is complete (covers all required JD items)
259- [ ] Every rewritten entry includes at least 1 quantified data point
260- [ ] STAR rewrites preserve the authenticity of the user's real experience
261- [ ] No data or experience has been fabricated
262- [ ] ATS check covers all format items
263- [ ] Rewritten resume length is appropriate
264- [ ] Keywords are woven in naturally — not force-fitted
265- [ ] Contact details and sensitive information have not been leaked or altered
266
267### Iterative Refinement
268
269If the user provides feedback on the optimization:
2701. Identify which Phase the feedback relates to
2712. Re-execute from that Phase
2723. Cascade updates to all downstream content
2734. Maintain overall consistency (keywords, STAR rewrites, and ATS checks update in lockstep)
274
275## Core Principles
276
2771. **Authenticity first**: All optimizations must be based on the user's real experience — fabricating data or experience is strictly prohibited
2782. **Targeted optimization**: Every change should serve JD alignment — no aimless embellishment
2793. **Actionable advice**: Recommendations must be directly usable — don't say "add metrics" without guiding the user on how
2804. **Privacy protection**: Remind users to redact sensitive information (phone numbers, home addresses, etc.) when sharing their resume