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.
What this skill does
# CV 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: ```yaml cv: name: Jane Smith location: San Francisco, CA email: [email protected] 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 ```bash rendercv render cv.yaml ``` This creates a `rendercv_output/` directory containing: - `cv.pdf` - The final PDF resume - `cv.tex` - LaTeX source (for manual adjustments) - `cv.md` - Markdown version - `cv.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.yaml` after 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:** 1. Ask the user for their full career details 2. Create `cv.yaml` with their information using the `sb2nov` theme 3. Run `rendercv render cv.yaml` 4. 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:** 1. Read the existing `cv.yaml` file 2. Add the new experience entry at the top of the experience section 3. Re-run `rendercv render cv.yaml` 4. 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:** 1. Read the existing `cv.yaml` 2. Change `design.theme` from `sb2nov` to `classic` 3. Optionally adjust font size to `11pt` for readability 4. 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.
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.