A Python tool that automates the process of customizing your skills and qualifications based on job descriptions using Claude AI.
This tool helps job seekers quickly create tailored skill lists and content for their CV/resume and cover letters by:
- Taking your existing skills template and a job description
- Merging them into a single document
- Sending the merged document to Claude AI to extract relevant skills
- Processing Claude's response to create a clean, structured list of skills and categories
- Merges a skills template with a job description
- Sends the merged document to Claude API for analysis
- Extracts structured lists from Claude's response
- Saves all outputs in a well-organized folder structure
- Formats results as clean, bullet-pointed lists in Word documents
- Python 3.6+
- An Anthropic API key for Claude AI
-
Clone this repository:
git clone https://github.com/SCBenson/automate_cv_coverletters.git cd automate_cv_coverletters -
Create a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies:
pip install python-docx anthropic python-dotenv
-
Create a
.envfile in the project root with your API key:ANTHROPIC_API_KEY=your_anthropic_api_key_here
automate_cv_coverletters/
├── main.py # Main script
├── .env # Environment variables (API key)
├── assets/ # Template files
│ ├── skills-prompt.docx # Your skills template
│ └── job-description.docx # Current job description
├── job_application_outputs/ # Generated outputs
│ ├── skills_prompt_w_job-*.docx # Merged document
│ ├── claude_response-*.docx # Claude's response
│ └── extracted_lists-*.docx # Extracted skill lists
└── README.md # This file
-
Put your skills template in
assets/skills-prompt.docx -
Put the job description in
assets/job-description.docx -
Run the script:
python main.py
-
Check the
job_application_outputsfolder for the results
- Document Merging: The tool takes your skills template and adds the job description to it
- Claude API: The merged document is sent to Claude AI for analysis
- Response Processing: Claude's response is extracted into clean, categorized skill lists
- Document Generation: The extracted lists are formatted into a new Word document
- Modify the main script to change the output folder name or file naming conventions
- Adjust the extraction patterns in
extract_list_items_text()if needed for different formats - Change the formatting in
save_extracted_lists()to modify the output document style
MIT
Feel free to submit issues or pull requests if you have suggestions for improvements!
- python-docx for document handling
- Anthropic Claude API for AI-powered content analysis