git clone https://github.com/ComeOnOliver/skillshub
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/TerminalSkills/skills/cv-builder" ~/.claude/skills/comeonoliver-skillshub-cv-builder && rm -rf "$T"
skills/TerminalSkills/skills/cv-builder/SKILL.mdCV Builder
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:
- The final PDF resumecv.pdf
- LaTeX source (for manual adjustments)cv.tex
- Markdown versioncv.md
- HTML versioncv.html
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
after changesrendercv render cv.yaml
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
with their information using thecv.yaml
themesb2nov - 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
filecv.yaml - 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
fromdesign.theme
tosb2novclassic - Optionally adjust font size to
for readability11pt - 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.