cv-builder
Generate professional CVs and resumes from structured YAML data using rendercv. Use when a user asks to create a CV, build a resume, generate a PDF resume, format a curriculum vitae, make a professional CV from their experience, or convert career data into a polished resume document. Supports multiple templates and PDF output.
Usage
Getting Started
- Install the skill using the command above
- Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
- Reference the skill in your prompt
- The AI will use the skill's capabilities automatically
Example Prompts
- "Generate a professional invoice for the consulting work done in January"
- "Draft an NDA for our upcoming partnership with Acme Corp"
Documentation
Overview
Generate professional, well-formatted CVs and resumes from structured YAML input using the rendercv library. Define your experience, education, skills, and projects in a YAML file and produce publication-ready PDF output with consistent formatting. Choose from multiple built-in templates or customize your own.
Instructions
When a user asks you to create or update a CV/resume, follow these steps:
Step 1: Gather career information
Ask the user for or extract the following details:
- Personal info: Full name, email, phone, location, LinkedIn/GitHub URLs
- Summary: A brief professional summary or objective (2-3 sentences)
- Experience: Job titles, companies, dates, bullet-point accomplishments
- Education: Degrees, institutions, graduation dates, GPA (optional)
- Skills: Technical skills, languages, tools, frameworks
- Projects (optional): Notable projects with descriptions
- Certifications (optional): Professional certifications with dates
Step 2: Create the YAML input file
Structure the data into a rendercv-compatible YAML file:
cv:
name: Jane Smith
location: San Francisco, CA
email: jane.smith@email.com
phone: "+1-555-123-4567"
website: https://janesmith.dev
social_networks:
- network: LinkedIn
username: janesmith
- network: GitHub
username: janesmith
sections:
summary:
- >-
Senior software engineer with 8 years of experience building
scalable web applications. Expertise in Python, TypeScript, and
cloud infrastructure.
experience:
- company: Acme Corp
position: Senior Software Engineer
location: San Francisco, CA
start_date: 2021-03
end_date: present
highlights:
- "Led migration of monolith to microservices, reducing deploy time by 70%"
- "Mentored team of 4 junior engineers through code reviews and pairing"
- "Designed real-time data pipeline processing 2M events/day"
- company: StartupXYZ
position: Software Engineer
location: Remote
start_date: 2018-06
end_date: 2021-02
highlights:
- "Built REST API serving 50K daily active users with 99.9% uptime"
- "Implemented CI/CD pipeline reducing release cycle from 2 weeks to 1 day"
education:
- institution: University of California, Berkeley
area: Computer Science
degree: BS
start_date: 2014-09
end_date: 2018-05
highlights:
- "GPA: 3.8/4.0"
skills:
- label: Languages
details: Python, TypeScript, Go, SQL
- label: Frameworks
details: React, FastAPI, Django, Next.js
- label: Infrastructure
details: AWS, Docker, Kubernetes, Terraform
design:
theme: classic
font_size: 10pt
page_size: letterpaper
margins:
page:
top: 2cm
bottom: 2cm
left: 2cm
right: 2cm
Save this file as cv.yaml in the working directory.
Step 3: Choose a template theme
Available rendercv themes:
- classic - Traditional single-column layout, best for corporate roles
- sb2nov - Modern two-column layout popular in tech
- moderncv - Academic-style CV with colored accents
- engineeringresumes - Clean, ATS-friendly format optimized for engineering
Set the theme in the design.theme field of the YAML file.
Step 4: Generate the PDF
rendercv render cv.yaml
This creates a rendercv_output/ directory containing:
cv.pdf- The final PDF resumecv.tex- LaTeX source (for manual adjustments)cv.md- Markdown versioncv.html- HTML version
Step 5: Validate and iterate
Review the generated PDF with the user:
- Check for formatting issues or text overflow
- Verify dates and details are correct
- Adjust margins, font size, or theme if needed
- Re-run
rendercv render cv.yamlafter changes
Examples
Example 1: Create a new resume from scratch
User request: "Help me create a professional resume. I'm a data scientist with 5 years of experience."
Steps:
- Ask the user for their full career details
- Create
cv.yamlwith their information using thesb2novtheme - Run
rendercv render cv.yaml - Present the PDF output path and offer to adjust formatting
Output:
Created cv.yaml with your career data
Generated PDF: rendercv_output/cv.pdf
Also available: cv.tex, cv.md, cv.html
The resume uses the sb2nov theme (modern two-column layout).
Would you like to adjust the template, font size, or content?
Example 2: Update an existing CV with a new job
User request: "Add my new position at Google to my existing CV"
Steps:
- Read the existing
cv.yamlfile - Add the new experience entry at the top of the experience section
- Re-run
rendercv render cv.yaml - Confirm the update with the user
Example 3: Switch template theme
User request: "Change my resume to a more traditional format for a finance role"
Steps:
- Read the existing
cv.yaml - Change
design.themefromsb2novtoclassic - Optionally adjust font size to
11ptfor readability - Re-run
rendercv render cv.yaml
Guidelines
- Always use quantifiable achievements in bullet points (numbers, percentages, metrics).
- Keep the resume to 1 page for candidates with under 10 years of experience; 2 pages maximum for senior professionals.
- Use action verbs to start each bullet point (Led, Built, Designed, Implemented, Reduced).
- Order experience entries reverse-chronologically (most recent first).
- Tailor the skills section to match the target role when the user specifies one.
- Validate the YAML syntax before running rendercv to catch formatting errors early.
- If rendercv is not installed, guide the user:
pip install rendercv. - Store the YAML file in version control so the user can track resume changes over time.
- Avoid including personal photos, age, or marital status unless the user explicitly requests it and it is customary for their region.
Information
- Version
- 1.0.0
- Author
- terminal-skills
- Category
- Business
- License
- Apache-2.0