Skip to content

Commit f7cfbe4

Browse files
updated agent and task configuration for resume tailoring
1 parent ff14b11 commit f7cfbe4

2 files changed

Lines changed: 58 additions & 110 deletions

File tree

src/gary/config/agents.yaml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,16 @@ job_analyst:
1313
and ensure nothing substantive is missed. Your outputs enable precise ATS keyword matching and strategic resume tailoring.
1414
1515
resume_tailor:
16-
role: "Certified Professional Tech Resume Writer"
16+
role: "ATS-Optimized Tech Resume Writer"
1717
goal: >
18-
Transform master resumes into ATS-optimized, culturally-aligned documents that authentically match
19-
target roles across technical qualifications, soft skills, and company values while maintaining
20-
natural human readability. Never fabricate—only strategically emphasize genuine experience.
18+
Transform a master resume into an ATS-optimized document that authentically matches a target role while
19+
maintaining natural, human readability.
2120
backstory: >
22-
You are an expert tech resume writer specializing in ATS optimization and cultural alignment. You
23-
systematically process JobAnalysis reports to extract and prioritize keywords from all fields
24-
(emphasizing repeated phrases as high-priority signals), map authentic experiences to requirements,
25-
and humanize content through varied structures and natural keyword integration. You work methodically
26-
through a 7-step process: analyze JobAnalysis, craft summary, tailor experience, curate skills,
27-
refine projects, update education, and validate completeness. You never fabricate—you authentically
28-
align existing qualifications with target role requirements while eliminating AI patterns and
29-
maintaining conversational professionalism.
21+
You are a master resume writer who views each resume as a strategic narrative. Your expertise lies in
22+
understanding the dual audience: the ATS algorithm that scans for keywords and the human recruiter who
23+
reads for impact. You excel at translating a candidate's raw experience into a compelling story of
24+
achievement, always prioritizing authenticity and data-backed results over fluff. Your work ensures that
25+
a candidate's true qualifications shine through, perfectly aligned with the target role's requirements.
3026
3127
resume_validator:
3228
role: "Resume Quality Assurance Specialist"

src/gary/config/tasks.yaml

Lines changed: 50 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -32,111 +32,63 @@ job_analysis_task:
3232
3333
resume_tailoring_task:
3434
description: >
35-
**OBJECTIVE:** Transform the master resume into an ATS-optimized, culturally-aligned document that
36-
authentically matches the target role. Use the rich JobAnalysis report to guide ALL tailoring decisions.
37-
38-
**STEP 1 - DEEP ANALYSIS OF JOB ANALYSIS REPORT:**
39-
Extract and prioritize keywords from ALL JobAnalysis fields, noting their purpose:
40-
- `skills.technical` (must-have qualifications for Skills section)
41-
- `skills.soft` (to be DEMONSTRATED through experience bullets, NOT listed)
42-
- `skills.management` (to be SHOWN through leadership examples, NOT listed)
43-
- `skills.bonus` (nice-to-have differentiators to include if possessed)
44-
- `responsibilities_and_qualifications` (CRITICAL—repeated phrases are highest priority)
45-
- `tone_and_priorities` (adapt writing style to match company character)
46-
- `culture_and_values` (subtly reflect these in narrative)
47-
48-
Map master resume experiences to these requirements and plan keyword distribution across sections:
49-
Summary (strategic placement) > Recent role > Projects > Earlier roles > Education.
50-
Target 50-70% natural keyword coverage from JobAnalysis.
51-
52-
**STEP 2 - CRAFT PROFESSIONAL SUMMARY (50-80 words, 4-6 sentences):**
53-
Structure: [Target job title + years of experience] → [2-3 expertise areas matching key responsibilities] → [quantified achievement]
54-
55-
- Calculate years from work history
56-
- Highlight expertise areas matching high-priority items from `responsibilities_and_qualifications`
57-
- Naturally weave 3-5 high-priority keywords (especially repeated phrases)
58-
- Conclude with quantified achievement demonstrating relevant technical proficiency
59-
- **REFLECT COMPANY CHARACTER:** Adapt tone to `tone_and_priorities` (e.g., dynamic language for "fast-paced," metrics for "data-driven," teamwork for "collaborative")
60-
- **SUBTLE CULTURAL ALIGNMENT:** If authentic, incorporate 1-2 concepts from `culture_and_values` (e.g., mention innovation if valued)
61-
- Write as cohesive, conversational paragraph (NOT bullet points, NO company names)
62-
63-
Example: "Software Engineer with 8+ years building scalable cloud infrastructure on AWS. Led development of microservices handling 50M+ daily requests, reducing latency by 40%. Passionate about rapid iteration and data-driven optimization."
64-
65-
**STEP 3 - TAILOR WORK EXPERIENCE:**
66-
67-
**Role Title Handling (CRITICAL AUTHENTICITY RULE):**
68-
- If most recent title is functionally similar but uses different terminology (e.g., "Software Developer" vs. "Software Engineer"), align it to target title
69-
- NEVER change seniority level (e.g., "Engineer" → "Senior Engineer") or core function (e.g., "Data Analyst" → "Data Scientist")
70-
- Keep ALL earlier titles unchanged
71-
- If in doubt, keep original title and use bullets to emphasize relevant responsibilities
72-
73-
**Bullet Point Crafting:**
74-
- Select 5 most relevant accomplishments per role from master resume
75-
- Rewrite using STAR method: Action + Quantifiable Result/Impact
76-
- Keep to 1-2 lines (15-30 words) for scannability, but prioritize clarity—allow slight extensions for complex achievements
77-
- **DEMONSTRATE SOFT & MANAGEMENT SKILLS** through concrete examples:
78-
* For collaboration: "Partnered with design and product teams of 12 to..."
79-
* For mentorship: "Mentored 3 junior engineers, improving team code quality by 25%"
80-
* For stakeholder management: "Presented technical roadmap to executive leadership"
81-
- Use strong, varied action verbs: Technical (Architected, Built, Optimized); Leadership (Led, Managed, Mentored); Research (Analyzed, Investigated)
82-
- Use "leveraged" or "spearheaded" ONLY sparingly and tied to specific measurable outcomes
83-
- Vary sentence structures (action-first, result-first, time-based) for natural flow
84-
- Include 1-2 metrics per bullet where measurable; emphasize scope/complexity if not quantifiable—don't force metrics
85-
- Format metrics consistently (%, K, M)
86-
- Integrate keywords from `skills.technical` and repeated phrases from `responsibilities_and_qualifications` naturally where they authentically fit
87-
88-
**STEP 4 - CURATE SKILLS:**
89-
- Filter master resume skills to match `skills.technical` from JobAnalysis—remove unaligned items
90-
- Organize into clear categories: Programming Languages, Frameworks, Databases, Cloud Platforms, Developer Tools, Methodologies
91-
- List ONLY technical/hard skills (soft/management skills are demonstrated through experience bullets, NOT listed here)
92-
- Use exact industry-standard names (JavaScript not Javascript, MySQL not Mysql)
93-
- Avoid redundancy (don't list both "Python" and "Python 3.x")
94-
- **BONUS SKILLS STRATEGY:** Review `skills.bonus` from JobAnalysis—if possessed, include these differentiators prominently in relevant categories
95-
- **IMPLIED SKILLS RULE:** Add skills not in master resume ONLY if directly implied by existing projects/work
96-
* ACCEPTABLE: Add "Python" if project used "Django"
97-
* NOT ACCEPTABLE: Don't infer "Distributed Systems" from basic "AWS" usage
98-
99-
**STEP 5 - REFINE PROJECTS:**
100-
- Write 2-4 sentence narratives using problem-solution-result structure
101-
- Highlight technologies matching `skills.technical` from JobAnalysis
102-
- Include measurable outcomes where available
103-
- **USE PROJECTS TO SHOWCASE BONUS QUALIFICATIONS:** If `skills.bonus` contains technologies/skills not covered in work experience, feature them here
104-
- Use projects to fill competency gaps not fully demonstrated in work experience
105-
- Write conversationally with natural flow
106-
107-
**STEP 6 - UPDATE EDUCATION:**
108-
- List up to 5 relevant courses per degree directly relating to `skills.technical` or `responsibilities_and_qualifications`
109-
- Use natural phrasing: "Relevant coursework includes..."
110-
- Omit unrelated coursework
111-
112-
**STEP 7 - FINAL VALIDATION:**
113-
Verify the resume fully aligns with ALL aspects of the JobAnalysis report:
114-
- High-priority keywords (especially repeated phrases) naturally integrated
115-
- Technical, soft, management, and bonus skills covered where applicable
116-
- Tone and culture authentically reflected
117-
- No fabrication or keyword stuffing (max 1-3 uses per critical keyword)
118-
- Natural readability with varied sentence structures
119-
- No pronouns (I, me, we), no passive voice, no AI patterns
120-
- Consistent tense (past for previous roles, present for current), capitalization, and metric formatting
121-
122-
**CRITICAL AUTHENTICITY & QUALITY RULES:**
123-
- NEVER fabricate or add anything not in master resume (skills, experiences, titles)
124-
- NEVER change seniority or core function in job titles
125-
- NEVER keyword stuff—integrate naturally across sections
126-
- NEVER use robotic patterns (avoid overused phrases without context like "synergy," excessive "leveraged")
127-
- DO rephrase and strategically emphasize existing content authentically
128-
- DO vary sentence structures and lengths for conversational professionalism
129-
- DO integrate keywords naturally, targeting 50-70% coverage
130-
- DO demonstrate soft/management skills through examples, not lists
35+
Transform master resume into ATS-optimized document that authentically matches target role using JobAnalysis report.
36+
37+
**INPUT VALIDATION:**
38+
- Verify JobAnalysis contains: skills (technical/soft/management/bonus), responsibilities_and_qualifications, tone_and_priorities
39+
- Confirm master resume has: work experience (titles/dates/bullets), skills, education
40+
- Calculate skill overlap: If <30% match between master resume skills and JobAnalysis technical skills, STOP and output:
41+
{"error": "fundamental_mismatch", "overlap_percentage": X, "message": "Insufficient alignment between candidate background and role requirements"}
42+
43+
**CORE PRINCIPLES (Apply to ALL steps):**
44+
1. **AUTHENTICITY** - Never fabricate skills/experience not in master resume. Never change seniority level (Junior→Senior) or core function (Analyst→Scientist).
45+
2. **KEYWORD OPTIMIZATION** - Target 50-70% coverage from JobAnalysis. Prioritize keyword placement: Summary > Recent Role > Projects > Earlier Roles. Max 3 uses per keyword.
46+
3. **NATURAL LANGUAGE** - Vary sentence structures. Avoid AI patterns: "leveraged/spearheaded" (unless tied to specific metrics), "synergy", robotic repetition.
47+
4. **DEMONSTRATION** - Show soft/management skills through examples, NEVER list them. Technical skills only in Skills section.
48+
5. **RECENCY** - Focus 70% content on last 5 years of experience. Condense older roles to 2-3 bullets max.
49+
50+
**STEP 1 - KEYWORD ANALYSIS & MAPPING:**
51+
Extract from JobAnalysis: `skills.technical` (Skills section), `skills.soft` (demonstrate in bullets), `skills.management` (show through leadership examples),
52+
`skills.bonus` (differentiators if possessed), `responsibilities_and_qualifications` (repeated phrases = highest priority). Map authentic master resume experiences to requirements.
53+
54+
**STEP 2 - PROFESSIONAL SUMMARY (50-80 words):**
55+
Structure: [Job title + years] → [2-3 expertise areas] → [quantified achievement]. Weave 3-5 high-priority keywords naturally.
56+
Adapt tone to JobAnalysis: Fast-paced → dynamic verbs; Data-driven → metrics-heavy; Collaborative → team language; Innovative → new solutions.
57+
Example: "Software Engineer with 8+ years building scalable AWS infrastructure. Led microservices handling 50M+ daily requests, reducing latency 40%."
58+
59+
**STEP 3 - WORK EXPERIENCE:**
60+
61+
**Title Handling:** Align most recent title ONLY if functionally identical (Developer<-->Engineer OK, Analyst<-->Scientist NOT OK). When unclear, keep original and emphasize relevant duties in bullets.
62+
63+
**Bullets (5-6 for recent roles, 2-3 for older roles per RECENCY principle):**
64+
- **Review ALL master resume bullets** for each role. Select most relevant content—combine related achievements to preserve impactful details without losing key information.
65+
- STAR format: Action + Quantifiable Result (15-30 words, max 35 for complex achievements)
66+
- **Include metrics where authentic** (1-2 per bullet max). Use %, K, M format consistently. No metrics? Emphasize scope, complexity, or technical depth instead.
67+
- Examples: Collaboration = "Partnered with X team of N..."; Mentorship = "Mentored N engineers, improving Y by Z%"; Leadership = "Led initiative resulting in..."
68+
- Vary action verbs: Technical (Architected, Built, Optimized); Leadership (Led, Mentored); Analysis (Investigated, Analyzed)
69+
- Integrate keywords from `skills.technical` and repeated phrases from `responsibilities_and_qualifications` naturally where authentic fit exists
70+
71+
**STEP 4 - SKILLS:**
72+
Filter master skills to match `skills.technical`. Organize: Programming Languages | Frameworks | Databases | Cloud Platforms | Developer Tools | Methodologies.
73+
Use exact names (JavaScript not Javascript). Include `skills.bonus` if possessed.
74+
**Implied Skills Rule:** Add ONLY if technological prerequisite (Django→Python OK; AWS→Distributed Systems NOT OK).
75+
76+
**STEP 5 - PROJECTS:**
77+
2-4 sentences: Problem → Solution → Result. Feature `skills.bonus` technologies not covered in work experience. Include metrics if available.
78+
79+
**STEP 6 - EDUCATION:**
80+
List up to 5 courses matching `skills.technical` or `responsibilities_and_qualifications`. Use natural phrasing: "Relevant coursework includes..."
81+
82+
**STEP 7 - SELF-CHECK:**
83+
Verify adherence to CORE PRINCIPLES and keyword distribution targets. Confirm: no pronouns (I/me/we), consistent tense (past for previous/present for current).
13184
13285
**Master Resume:**
13386
```
13487
{master_resume}
13588
```
13689
13790
expected_output: >
138-
A single, clean JSON object that strictly adheres to the `ResumeContent` Pydantic model.
139-
Do not include any introductory text, explanations, or any content outside of the final JSON object.
91+
Single JSON object adhering to `ResumeContent` Pydantic model. NO preamble, explanations, or markdown formatting—JSON only.
14092
14193
resume_validation_task:
14294
description: >

0 commit comments

Comments
 (0)