From utility-tools
Use when the user wants to convert a Markdown resume into a PDF file. Trigger on phrases like 'generate resume PDF', 'convert resume to PDF', 'make PDF from my resume', 'resume markdown to PDF', '/resume-pdf', or when the user has a .md resume file and wants a formatted PDF output.
npx claudepluginhub charles0719/raven-agent --plugin utility-toolsThis skill is limited to using the following tools:
Convert a Markdown resume into a professionally formatted PDF using customizable HTML templates.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Convert a Markdown resume into a professionally formatted PDF using customizable HTML templates.
The user has a structured Markdown resume and wants to generate a PDF file. The user may also want to:
This skill is self-contained. All resources (scripts, templates, examples) are located relative to this SKILL.md file:
resume-pdf/
├── SKILL.md ← this file
├── scripts/md2pdf.mjs ← conversion engine
├── scripts/package.json ← dependencies (puppeteer-core)
├── templates/ ← HTML templates
├── examples/ ← example resume
└── references/ ← format documentation
Use the directory containing this SKILL.md as <skill-dir> in the commands below.
Before running the conversion script, ensure dependencies are installed:
cd <skill-dir>/scripts && [ -d node_modules ] || npm install && cd -
The system must have Google Chrome or Chromium installed. The script auto-detects the browser path across macOS, Windows, and Linux.
Ask the user for:
<skill-dir>/templates/简历模板-标准专业版.html — Standard Professional (navy blue, centered header, formal) [default]<skill-dir>/templates/简历模板-简洁商务版.html — Clean Business (modern, three-column work experience layout)Execute the conversion script:
node <skill-dir>/scripts/md2pdf.mjs <resume.md> [--template <template.html>] [--output <output.pdf>]
Examples:
# Default template (auto-detected from script location)
node <skill-dir>/scripts/md2pdf.mjs my-resume.md
# Business template
node <skill-dir>/scripts/md2pdf.mjs my-resume.md --template <skill-dir>/templates/简历模板-简洁商务版.html
# Custom output path
node <skill-dir>/scripts/md2pdf.mjs my-resume.md --output ~/Desktop/resume.pdf
The script outputs:
.html file (intermediate, for debugging/preview).pdf file (final output)Tell the user both file paths and the key stats (skills count, jobs count, projects count) logged by the script.
Common issues and fixes:
| Error | Cause | Fix |
|---|---|---|
Cannot find package 'puppeteer-core' | Dependencies not installed | Run npm install in <skill-dir>/scripts/ |
Chrome/Chromium not found | No browser installed | Install Chrome: brew install --cask google-chrome (macOS) / apt install google-chrome-stable (Linux) |
Could not find expected browser | Puppeteer can't locate Chrome | Check Chrome installation path |
The Markdown resume must follow this structure. See references/md-format.md for full details.
# Name
Contact info line (phone, email, GitHub)
## 技能清单
1. Skill item 1
2. Skill item 2
## 期望职位
Position City Salary
## 工作经历
### YYYY/MM - YYYY/MM Company Role
- Description bullet
## 项目经历
### YYYY/MM - YYYY/MM Project Name
技术选型:Tech stack
项目描述:Project description
责任描述:
- Responsibility bullet
## 教育背景
School / Major / Degree / Period
@media print and @page { size: A4 } CSS技能清单, 期望职位, 工作经历, 项目经历, 教育背景