Strands Agents tool for generating beautiful CVs with RenderCV
Project description
strands-rendercv
CV generation with Strands Agents + RenderCV
Generate beautiful, typographically perfect CVs from YAML. AI reads your docs, validates schema, outputs PDF.
Installation
pip install strands-rendercv
# macOS: Install LaTeX for PDF generation
brew install --cask mactex-no-gui
Quick Start
from strands import Agent
from strands_rendercv import render_cv
agent = Agent(tools=[render_cv])
# Create template → Edit → Generate
agent.tool.render_cv(action="create_template")
agent.tool.render_cv(action="validate", input_file="John_Doe_CV.yaml")
agent.tool.render_cv(action="render", input_file="John_Doe_CV.yaml")
AI-Powered Generation
agent("""
Read my LinkedIn from ~/linkedin.md and work log from ~/work-log.md.
Generate CV for ... Engineer at ....
Focus on: distributed systems, leadership, open source.
Use 'engineeringresumes' theme.
""")
What happens:
- AI reads your docs
- Extracts + structures data as YAML
- Validates schema
- Generates PDF + HTML + Markdown
Examples
5 production-ready templates in examples/:
- Senior SWE - Full-stack, distributed systems (YAML)
- ML Researcher - PhD, publications (YAML)
- Product Designer - UX/UI, design systems (YAML)
- Startup Founder - Exits, fundraising (YAML)
- DevRel Engineer - Community, content (YAML)
agent.tool.render_cv(action="render", input_file="examples/senior_swe_cv.yaml")
Actions
| Action | Description |
|---|---|
create_template |
Generate sample YAML |
validate |
Check schema before render |
render |
Generate PDF + HTML + MD |
list_themes |
Show available themes |
YAML Structure
cv:
name: Jane Doe # Only required field
headline: Senior Software Engineer
email: jane@example.com
social_networks:
- network: GitHub
username: janedoe
sections:
work_experience:
- company: Tech Corp
position: Staff Engineer
start_date: 2020-01
end_date: present
highlights:
- "Built distributed tracing system (1B+ events/day)"
- "Reduced P99 latency by 80%"
education:
- institution: Stanford
degree: MS
area: Computer Science
start_date: 2016-09
end_date: 2018-06
design:
theme: engineeringresumes # or classic, sb2nov, moderncv
Advanced
Override fields:
render_cv(
action="render",
input_file="cv.yaml",
overrides='{"cv.email": "work@company.com"}'
)
PDF only (faster):
render_cv(
action="render",
input_file="cv.yaml",
dont_generate_png=True,
dont_generate_html=True
)
Multi-target generation:
for company in ["google", "meta", "openai"]:
agent(f"Customize my CV for {company}, output to ./{company}/")
Common Issues
Validation fails:
- Use
YYYY-MMorYYYY-MM-DDorpresentfor dates - Phone format:
+1 234 567 8900(optional) - Social networks: LinkedIn, GitHub, X (not Twitter)
- Page size:
us-letter(not letterpaper)
Empty CV:
- Sections must be under
cv.sections, not at root - Avoid special chars:
#,%
Citation
@software{strands_rendercv2026,
author = {Cagatay Cali},
title = {strands-rendercv: AI-Powered Professional CV Generation},
year = {2026},
url = {https://github.com/cagataycali/strands-rendercv},
note = {Built with Strands Agents and RenderCV}
}
Built with: Strands Agents | RenderCV
License: MIT | Issues & PRs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file strands_rendercv-0.1.0.tar.gz.
File metadata
- Download URL: strands_rendercv-0.1.0.tar.gz
- Upload date:
- Size: 31.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
960a70564a08932a04d6a2a5aeedaa83effa87bf5f11e4913a23bfe8e8a8e0c9
|
|
| MD5 |
964da68d1a3c3ac06d28781c667b3efd
|
|
| BLAKE2b-256 |
c0899bf7957d783e1d06a7e7b4c4cf3cedc65a315ebe525530b4191d4219a019
|
File details
Details for the file strands_rendercv-0.1.0-py3-none-any.whl.
File metadata
- Download URL: strands_rendercv-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09b1b8bed5208e272dd0a7f77cbb1b87b2f04d6ff7a12b7b1f8ae2d4fbe2affe
|
|
| MD5 |
ea0176e7ee6037f6944af61572186d09
|
|
| BLAKE2b-256 |
e4a8e439e6a3ccd4d92fc1343a66d0e2a2fa17650b4b34d5c0147f5ca16dcbb6
|