|
|
||
|---|---|---|
| src/resume_refinery | ||
| tests | ||
| .gitignore | ||
| job_description.txt | ||
| LAUNCH_SCRIPTS.md | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
| resume_refinery.bat | ||
| resume_refinery.py | ||
| resume_refinery.sh | ||
| sample_resume.txt | ||
Resume Refinery
Resume Refinery is a CrewAI-powered tool that helps improve resumes while maintaining factual accuracy. It analyzes resumes for ATS compatibility, suggests improvements, and enforces a strict no-fabrication policy.
Features
- Multi-format Support: Accepts plain text, Markdown, DOCX, and PDF resume formats
- ATS Optimization: Analyzes resumes for ATS compatibility and suggests improvements
- Truth Preservation: Strictly prevents fabrication of experiences, dates, companies, or credentials
- Impact Enhancement: Improves wording and structure for maximum impact
- Detailed Reporting: Generates comprehensive reports with suggestions and findings
- Diff Output: Shows changes with clear before/after markers
Installation
pip install resume-refinery
For CrewAI Functionality
To use the full CrewAI functionality with LLMs, you'll need to set up your OpenAI API key:
export OPENAI_API_KEY="your-api-key-here"
Alternatively, you can configure other LLM providers supported by LangChain. The system defaults to using gpt-3.5-turbo for most tasks and gpt-4 for the truth-guarding task for maximum accuracy.
Quick Start
# Basic usage
refine --in my_resume.txt --outdir ./output
# With job description for targeted improvements
refine --in my_resume.md --outdir ./output --jd job_description.txt
# Using CrewAI pipeline
refine --in my_resume.docx --outdir ./output --crew
# Processing a PDF resume
refine --in my_resume.pdf --outdir ./output --crew
Supported Formats
Resume Refinery supports the following input formats:
- Plain text (.txt)
- Markdown (.md)
- DOCX (.docx)
- PDF (.pdf)
Truthfulness Policy
Resume Refinery enforces a strict no-fabrication policy:
- No invented employers, titles, dates, degrees, certifications, or responsibilities
- All changes must be traceable via markup/diff output
- If unknown facts are needed for stronger bullets, placeholders tagged
CONFIRM_REQUIREDare used with explanations
Output Files
The tool generates the following output files:
marked_up_resume.md: Resume with changes marked using[-removed-]and{+added+}syntaxrewritten_clean_resume.md: Clean, improved version of the resumeimprovement_report.md: Comprehensive report with analysis and suggestionsrewritten_clean_resume.docx: (Optional) Clean resume in DOCX format if input was DOCX
Architecture
The pipeline consists of several stages:
- Parsing: Converts input to normalized format
- Analysis: Validates content and checks ATS compatibility
- Rewriting: Suggests improvements to wording and structure
- Truth Guard: Ensures all changes are factual
- Output Generation: Creates the final artifacts
Contributing
Contributions are welcome! Please submit a pull request or open an issue to discuss changes.
License
This project is licensed under the MIT License - see the LICENSE file for details.