Tailor Resume¶
The Tailor step uses Claude AI to rewrite your resume sections based on the specific JD, with strict guards against hallucination.
Usage¶
How It Works¶
flowchart TD
Base[Base Resume] --> Split[Split into Sections]
JD[JD Analysis] --> Prompt[Tailoring Prompt]
Split --> |Tailorable sections only| Prompt
Prompt --> LLM[Claude AI]
LLM --> Modified[Modified Sections]
Modified --> Diff[Side-by-Side Diff]
Diff --> |User approves| Save[Save Tailored Version]
Diff --> |User rejects| Discard[Discard]
Split --> |Protected sections| Merge[Merge]
Save --> Merge
Merge --> Final[Complete Tailored Resume]
Anti-Hallucination Guards¶
The LLM prompt enforces strict rules:
- Only rephrase, reorder, or emphasize existing content
- Never invent skills, experiences, or achievements
- Never modify: Education, dates, company names, contact info
- Only modify: Summary, Technologies/Skills, experience bullet points
The system works by:
1. Sending only tailorable: true sections to Claude
2. Including the JD analysis (keywords, required skills) as context
3. Asking Claude to optimize for ATS keyword matching while preserving truthfulness
4. Setting temperature to 0.3 for controlled creativity
The Diff View¶
After tailoring, a side-by-side diff is shown for review:
+-- Original ----------------+-- Tailored -------------------+
| | |
| Experienced software | Experienced software |
| developer with expertise | developer with deep expertise |
| in Rust and Python. | in Rust, async systems, and |
| | cloud-native Python services. |
| | |
| - Built CLI tools in Rust | - Built high-performance CLI |
| | tools in Rust with async |
| | I/O and error handling |
+-----------------------------+-------------------------------+
| [y] Approve [n] Reject [e] Edit manually [r] Retry |
+------------------------------------------------------------+
Resume Versions¶
- Base resume is never modified
- Tailored versions only store the changed sections
- Full resume is reconstructed by merging base + tailored sections
- Export to LaTeX or PDF:
kairos resume export --job-id <job-id>