resume-generator

Professional resume generator with PDF, Word, and HTML export. Supports multiple templates, auto-layout, Chinese/English bilingual, and Markdown/HTML input. Perfect for academic and professional CVs.

3,891 stars

Best use case

resume-generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Professional resume generator with PDF, Word, and HTML export. Supports multiple templates, auto-layout, Chinese/English bilingual, and Markdown/HTML input. Perfect for academic and professional CVs.

Teams using resume-generator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/resume-generator-clean/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/31504254/resume-generator-clean/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/resume-generator-clean/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How resume-generator Compares

Feature / Agentresume-generatorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Professional resume generator with PDF, Word, and HTML export. Supports multiple templates, auto-layout, Chinese/English bilingual, and Markdown/HTML input. Perfect for academic and professional CVs.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Resume Generator

A professional resume generator skill for creating beautiful, print-ready resumes with multiple export formats (PDF, Word, HTML) and full Chinese character support.

## Features

- **Multiple Export Formats**: PDF, Word (.docx), and HTML
- **PDF Generation**: 
  - Direct PDF generation using ReportLab
  - HTML-to-PDF conversion (WeasyPrint, pdfkit, ReportLab, FPDF)
- **Word Export**: Generate editable .docx files
- **Chinese Support**: Full Chinese character rendering with system fonts
- **Multiple Templates**: Modern, classic, and minimal styles
- **Auto Layout**: Smart pagination and content organization
- **Professional Design**: Clean typography with visual hierarchy
- **Flexible Input**: Support YAML config, Markdown, and HTML

## Installation

```bash
# Clone the repository
git clone https://github.com/yourusername/resume-generator.git

# Install dependencies
pip install reportlab pyyaml python-docx beautifulsoup4

# Optional: For better PDF quality from HTML
pip install weasyprint pdfkit

# Register with OpenClaw
openclaw skills install resume-generator
```

## Quick Start

### Method 1: Generate from YAML Config

```bash
# Generate from config file
python generate_resume.py --config resume_config.yaml --output resume.pdf

# Use specific template
python generate_resume.py --config config.yaml --template modern_blue --output resume.pdf
```

### Method 2: Convert HTML to PDF

```bash
# Convert HTML resume to PDF
python scripts/resume_to_pdf.py input.html output.pdf

# Use specific template
python scripts/resume_to_pdf.py input.html output.pdf --template modern
```

### Method 3: Convert HTML/Markdown to Word

```bash
# Convert HTML to Word
python scripts/resume_to_docx.py input.html output.docx

# Convert Markdown to Word
python scripts/resume_to_docx.py input.md output.docx --markdown
```

### Method 4: Python API

```python
from scripts.resume_pdf import ResumePDFGenerator

# Create generator
gen = ResumePDFGenerator(theme='modern_blue')

# Add content
gen.add_header(
    name="张三",
    title="高级工程师",
    phone="138-0000-0000",
    email="example@example.com",
    address="北京市海淀区示例路1号"
)

gen.add_section("工作经历", [
    {
        "title": "高级工程师",
        "org": "某某科技有限公司",
        "period": "2020-至今",
        "detail": "软件开发 · 系统架构设计"
    }
])

# Generate PDF
gen.save("resume.pdf")
```

## Export Methods

### 1. Direct PDF Generation (ReportLab)

Best for programmatic resume creation from Python:

```python
from scripts.resume_pdf import ResumePDFGenerator

gen = ResumePDFGenerator(theme='modern_blue')
gen.add_header(...)
gen.add_section(...)
gen.save("output.pdf")
```

### 2. HTML to PDF Conversion

Best for converting existing HTML resumes:

```bash
# Tries multiple PDF backends automatically
python scripts/resume_to_pdf.py resume.html output.pdf

# Supported backends (auto-detected):
# - WeasyPrint (best quality)
# - pdfkit (requires wkhtmltopdf)
# - ReportLab (fallback)
# - FPDF (fallback)
```

### 3. Markdown/Word Export

Best for creating editable documents:

```bash
# Markdown to Word
python scripts/resume_to_docx.py resume.md output.docx --markdown

# HTML to Word
python scripts/resume_to_docx.py resume.html output.docx
```

## Templates

### modern_blue
- Deep blue color scheme (#1e3a5f)
- Clean header with contact grid
- Blue section dividers
- Professional academic style

### classic
- Traditional black and white
- Conservative layout
- Standard section ordering

### minimal
- Ultra-clean design
- Minimal color usage
- Maximum content density

## Configuration Format

```yaml
name: "张三"
title: "高级工程师 · 某某科技有限公司"
contact:
  phone: "138-0000-0000"
  email: "example@example.com"
  address: "北京市海淀区示例路1号"

sections:
  - title: "工作经历"
    items:
      - title: "高级工程师"
        org: "某某科技有限公司"
        period: "2020-至今"
        detail: "软件开发 · 系统架构设计"
  
  - title: "教育背景"
    items:
      - title: "计算机科学硕士"
        org: "某某大学"
        period: "2010-2013"
        detail: "导师:某某教授"

  - title: "发表论文"
    type: "publications"
    items:
      - "[1] Author et al. Paper title[J]. Journal, Year."
      - "[2] ..."
```

## API Reference

### ResumePDFGenerator Class

```python
class ResumePDFGenerator:
    def __init__(self, theme='modern_blue'):
        """Initialize with theme name."""
    
    def add_header(self, name, title, phone, email, address):
        """Add resume header."""
    
    def add_section(self, title, items):
        """Add a content section."""
    
    def add_publications(self, papers):
        """Add publications section."""
    
    def save(self, output_path):
        """Generate and save PDF."""
```

### HTML to PDF Functions

```python
from scripts.resume_to_pdf import generate_pdf

# Convert HTML file to PDF
generate_pdf('input.html', 'output.pdf', template='modern')

# Convert HTML string to PDF
html_content = "<h1>Name</h1><p>Content...</p>"
generate_pdf(html_content, 'output.pdf', template='classic')
```

### HTML/Markdown to Word

```python
from scripts.resume_to_docx import generate_docx, generate_docx_from_markdown

# HTML to Word
generate_docx('input.html', 'output.docx', template='modern')

# Markdown to Word
generate_docx_from_markdown('input.md', 'output.docx', template='classic')
```

## Examples

See `examples/` directory for complete resume samples:
- `example_resume.yaml` - Academic researcher CV
- `academic_cv.yaml` - Academic CV with publications
- `professional_resume.yaml` - Industry resume
- `minimal_resume.yaml` - One-page minimal design

## Directory Structure

```
resume-generator/
├── SKILL.md              # Skill documentation
├── README.md             # Project readme
├── LICENSE               # MIT License
├── generate_resume.py    # Main CLI entry point
├── requirements.txt      # Python dependencies
├── scripts/
│   ├── resume_pdf.py     # Direct PDF generation (ReportLab)
│   ├── resume_to_pdf.py  # HTML to PDF conversion
│   └── resume_to_docx.py # HTML/Markdown to Word
├── examples/
│   └── example_resume.yaml
└── assets/
    └── templates/        # HTML templates
```

## Advanced Usage

### Custom Styling

```python
from scripts.resume_pdf import ResumePDFGenerator

# Use custom colors
gen = ResumePDFGenerator(
    theme='modern_blue',
    primary_color='#1e3a5f',
    accent_color='#2c5282'
)
```

### Multi-page Layout

The generator automatically handles pagination:
- Header repeats on each page
- Smart section breaks
- Balanced content distribution

### Batch Processing

```bash
# Generate multiple resumes
for file in configs/*.yaml; do
    python generate_resume.py --config "$file" --output "output/$(basename $file .yaml).pdf"
done
```

## Troubleshooting

### Chinese Characters Not Displaying

Ensure you have Chinese fonts installed:
- macOS: `/System/Library/Fonts/STHeiti Medium.ttc`
- Linux: Install `fonts-wqy-microhei`
- Windows: SimHei or Microsoft YaHei

### PDF Generation Fails

The skill will automatically fallback to HTML output if PDF libraries are unavailable. Open the HTML in browser and print to PDF.

### Word Export Issues

Make sure `python-docx` is installed:
```bash
pip install python-docx beautifulsoup4
```

## Dependencies

Required:
- `reportlab` - PDF generation
- `pyyaml` - YAML config parsing
- `python-docx` - Word document generation
- `beautifulsoup4` - HTML parsing

Optional (for better PDF quality):
- `weasyprint` - High-quality HTML to PDF
- `pdfkit` - wkhtmltopdf wrapper

## License

MIT License - See LICENSE file for details.

## Contributing

Pull requests welcome! Please follow the existing code style and add tests for new features.

## Changelog

### v1.1.0
- Added HTML to PDF conversion (multiple backends)
- Added HTML/Markdown to Word export
- Enhanced template system
- Improved Chinese font support

### v1.0.0
- Initial release
- Direct PDF generation with ReportLab
- YAML config support
- Multiple themes

Related Skills

Invoice Generator

3891
from openclaw/skills

Creates professional invoices in markdown and HTML

Workflow & Productivity

Incident Postmortem Generator

3891
from openclaw/skills

Generate blameless incident postmortems from raw notes, Slack threads, or bullet points.

DevOps & Infrastructure

Partnership Agreement Generator

3891
from openclaw/skills

Generate comprehensive partnership agreements, joint venture frameworks, and strategic alliance documents for B2B relationships.

Legal Documents & Agreements

Employee Onboarding Generator

3891
from openclaw/skills

Build a structured 90-day onboarding plan for any role. Covers pre-boarding, Day 1, Week 1, 30/60/90-day milestones, buddy assignments, and success metrics.

Workflow & Productivity

Employee Handbook Generator

3891
from openclaw/skills

Build a complete, customized employee handbook for your company. Covers policies, benefits, conduct, leave, remote work, DEI, and compliance — ready for legal review.

Content & Documentation

IT Disaster Recovery Plan Generator

3891
from openclaw/skills

Build production-ready disaster recovery plans that actually get followed when things break.

DevOps & Infrastructure

Compliance Audit Generator

3891
from openclaw/skills

Run internal compliance audits against major frameworks without hiring a consultant.

Security

API Documentation Generator

3891
from openclaw/skills

Generate production-ready API documentation from endpoint descriptions. Outputs OpenAPI 3.0, markdown reference docs, and SDK quickstart guides.

Coding & Development

Annual Report Generator

3891
from openclaw/skills

Build a complete annual business report from raw data. Covers financial performance, operational metrics, strategic highlights, and forward-looking guidance.

Workflow & Productivity

daily-report-generator

3891
from openclaw/skills

Automatically generate daily/weekly work reports from git commits, calendar events, and task lists. Use when you need to quickly create professional work reports without manual effort.

Workflow & Productivity

hr-policy-generator

3891
from openclaw/skills

Comprehensive HR policy development covering attendance, time-off, overtime, remote work, and compliance. Generates structured policy documents, legal checklists, exception handling frameworks, and employee communication plans tailored to company size, work arrangement, and jurisdiction.

Workflow & Productivity

hr-policy-generator-cn

3891
from openclaw/skills

综合性 HR 政策设计工具,覆盖考勤、休假、加班、远程办公及合规要求。根据公司规模、办公模式、适用法律等输入,生成完整的政策文档、法律合规清单、例外处理机制及员工沟通方案。

Workflow & Productivity