Date: 2025-10-26
Status: ✅ Production Ready
Tests: All Passing
A simple, unified workflow that combines:
- Job Listing Fetcher - Pulls job listings from URLs
- Resume Tailoring - Tailors resume to job requirements
- HTML/DOCX Generation - Exports professional resumes
src/tailor_from_url.py(300 lines)- Main integration script
- Combines fetching, tailoring, and generation
- Supports RAG and LLM enhancements
- Fully documented with docstrings
scripts/test_tailor_from_url.py(150 lines)- Integration test suite
- Verifies workflow steps
- Tests HTML generation
- All tests passing ✅
docs/TAILOR_FROM_URL_INTEGRATION.md(300 lines)- Complete user guide
- Command reference
- Examples and troubleshooting
- Architecture overview
python src/tailor_from_url.py \
--url "https://example.com/job" \
--resume "Master Resume" \
--out out/tailored.htmlpython src/tailor_from_url.py \
--url "https://example.com/job" \
--resume "Ford" \
--out out/tailored.html \
--docx \
--theme modernpython src/tailor_from_url.py \
--url "https://example.com/job" \
--resume "Master Resume" \
--out out/tailored.html \
--use-rag \
--theme executiveUser provides URL
↓
Fetch job listing from URL
↓
Extract job metadata (title, company, location, description)
↓
Save to data/job_listings/
↓
Update data/job_listings/index.json
↓
Load resume (by name or path)
↓
Extract keywords from job description
↓
[Optional] Retrieve RAG context
↓
Score and select relevant experience bullets
↓
Generate HTML resume with theme
↓
[Optional] Export to DOCX
↓
Output files ready
✅ Simple One-Command Workflow
- Single command to go from URL → tailored resume
- No intermediate steps required
✅ Auto-Saves Job Listings
- Fetched jobs saved to
data/job_listings/ - Index automatically updated
- Reusable for future tailoring
✅ Flexible Resume Lookup
- By file path:
data/master_resume.json - By name:
"Master Resume","Ford", etc. - Automatic lookup in resume index
✅ Multiple HTML Themes
- Professional (default)
- Modern
- Executive
- Creative
✅ Optional Enhancements
- DOCX export
- RAG-based experience retrieval
- LLM-powered bullet rewriting
✅ Workflow steps verified
✅ Job listing processing: PASSED
✅ Keyword extraction: PASSED (26 keywords)
✅ Resume tailoring: PASSED
✅ HTML generation: PASSED (23,214 bytes)
| Argument | Description |
|---|---|
--url |
Job listing URL |
--resume |
Resume name or file path |
--out |
Output HTML file path |
| Argument | Description | Default |
|---|---|---|
--theme |
HTML theme | professional |
--docx |
Export to DOCX | False |
--use-rag |
Use RAG for tailoring | False |
--use-llm-rewriting |
Use LLM for rewriting | False |
--vector-store |
RAG vector store path | data/rag/vector_store.json |
- HTML Resume - Professional HTML with embedded CSS
- DOCX Resume (optional) - Fully editable Word document
- Job Listing (auto-saved) - Markdown file in
data/job_listings/ - Index Update (auto-updated) - Metadata in
data/job_listings/index.json
The agent can use this script to tailor resumes:
User: "Tailor my resume for this job: https://example.com/job"
Agent: "I'll tailor your resume to that job posting.
run: python src/tailor_from_url.py --url "https://example.com/job" --resume "Master Resume" --out out/tailored.html --docx
[After execution]
✅ Resume tailored successfully!
- HTML: out/tailored.html
- DOCX: out/tailored.docx
- Job listing saved to: data/job_listings/Job_Title.md
tailor_from_url.py
├── fetch_job_listing() # Fetch from URL
├── ingest_jd() # Parse job description
├── extract_keywords() # Extract keywords
├── retrieve_rag_context() # [Optional] RAG retrieval
├── load_resume() # Load resume
├── select_and_rewrite() # Tailor bullets
├── generate_html_resume() # Generate HTML
└── generate_docx_from_html() # [Optional] Export DOCX
- Fetch job listing: ~2-5 seconds
- Extract keywords: ~0.5 seconds
- Tailor resume: ~1-2 seconds
- Generate HTML: ~1-2 seconds
- Export DOCX: ~2-3 seconds
Total: ~7-15 seconds (depending on options)
- Simplicity - One command does everything
- Automation - No manual job listing management
- Flexibility - Works with any resume or job URL
- Quality - Keyword-based tailoring ensures relevance
- Extensibility - Optional RAG and LLM enhancements
- Integration - Works seamlessly with agent system
Run the integration test:
python scripts/test_tailor_from_url.pyExpected output:
✅ ALL TESTS PASSED
- User Guide:
docs/TAILOR_FROM_URL_INTEGRATION.md - Job Listing Fetcher:
docs/JOB_LISTING_FETCHER_README.md - Resume Tailoring:
docs/AGENT_RESUME_TAILORING_IMPLEMENTATION.md - RAG System:
docs/RAG_CAPABILITIES_ANALYSIS.md
- ✅ Integration complete
- ✅ Tests passing
- ✅ Documentation complete
- Ready for agent integration
- Ready for production use
The tailor_from_url.py script provides a stupid simple way to:
- Pull job listings from URLs
- Tailor resumes to job requirements
- Generate professional HTML/DOCX output
All in one command. No intermediate steps. No manual file management.
Status: ✅ Production Ready
Created: 2025-10-26
Last Updated: 2025-10-26