# Vibe Resume Editor

> Use when editing VibeResume templates, converting resume facts and target roles into polished one-page or two-page HTML resumes, and validating the generated PDF.

- Skill: `liumengxuan04/vibe-resume-editor` (Agent Skill)
- Install (CLI): `npx skillmds@latest add liumengxuan04/vibe-resume-editor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/liumengxuan04/vibe-resume-editor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: liumengxuan04 (https://skillmd.com/u/liumengxuan04)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/liumengxuan04/vibe-resume-editor

---


# VibeResume Editor

## Purpose

Use this skill to help a user maintain a resume in the VibeResume templates. The PDF is generated by `scripts/export-pdf.mjs`.

Template sources:

- Standard one-page template: `templates/internship-employment/standard-one-page/index.html` + `styles.css`
- Dense one/two-page technical template: `templates/internship-employment/dense-two-page/index.html` + `templates/internship-employment/dense-two-page/styles.css`
- Research application template: `templates/research-application/research-classic/index.html` + `templates/research-application/research-classic/styles.css`

## Core Rules

- Keep the resume credible and specific. Do not invent degrees, employers, dates, awards, metrics, or project claims when editing a real resume.
- Use `templates/internship-employment/standard-one-page/` by default when the user does not specify length.
- When the user explicitly asks for two pages, a dense resume, or has substantial technical experience that clearly needs two pages, default to `templates/internship-employment/dense-two-page/`.
- When the user is applying for a PhD, research internship, research assistant role, or needs to foreground publications and a representative research contribution, use `templates/research-application/research-classic/`.
- The dense template is backward compatible: keep one `.resume-page` for a one-page version, or two `.resume-page` elements for a two-page version.
- The research template intentionally exports as a continuous long page. Do not force it into A4 unless the user explicitly requires A4.
- Prefer concise, formal resume wording with strong verbs, concrete scope, and measurable outcomes.
- Keep the selected template's semantic HTML structure unless a section truly needs to be added or removed.
- Keep visual edits scoped to `styles.css`, and preserve the screen-to-PDF export mechanism.
- Treat company/project logos as optional. Use SVG/vector icons when useful, but keep text-only names when no suitable asset is available.
- When a company logo is needed, proactively ask the user to manually search and download an SVG from `https://www.iconfont.cn/`, verify that it is the intended company mark, and attach it for the Agent to copy into `assets/logos/`. An official company brand/media library is also preferred. For AI model/product/provider icons, read `https://lobehub.com/icons/skill.md`, inspect `@lobehub/icons` `toc`, and use `getLobeIconCDN`. Production resumes must reference local files and never hotlink.

## Demo And Easter Egg Policy

For template/demo mode:

- Treat the profile, education, roles, project details, dates, contact data, awards, and skills as mock content.
- The avatar at `assets/avatar.png` is AI-generated and should be described that way in docs.
- The dense demo uses user-provided Iconfont SVGs for ByteDance, Kuaishou, and Meituan, plus `Bilibili.Color` for Bilibili. Label every company with `Mock 模拟经历`, keep all role details fictional, and match each role bar's background/accent color to the selected icon's primary color.
- In the dense template, render company logos directly on the role bar with transparency. Do not add a white tile, white border, extra outline, or decorative radius around a logo. Calibrate each SVG separately because artwork canvases contain different amounts of whitespace: target a perceived mark height near 75–80% of the 44px role bar, using roughly 35–39px display boxes in the current template. Preserve aspect ratio and never crop or stretch the artwork.
- Preserve the dense template's reference typography: A3 portrait proportions; 12pt-equivalent body; 22.5pt-equivalent name; 18pt-equivalent section headings; 13.5–15pt-equivalent project and role headings; PingFang SC for Chinese with the repository's local EB Garamond files for Latin text. Do not casually substitute an all-sans or all-serif font stack.
- Demo company logos are optional local SVG assets under `assets/logos/`; remove or replace them if they would misrepresent a real resume.
- MiniCode may remain as a real open-source easter egg: `https://github.com/LiuMengxuan04/MiniCode`.

For personal-resume mode:

- Replace mock personal details with user-provided facts.
- Ask for missing high-impact facts only when they are necessary; otherwise use placeholders that are visibly marked.
- Remove or replace easter eggs if they would misrepresent the user's experience.

## Editing Workflow

1. Inspect `README.md`, `scripts/export-pdf.mjs`, and the HTML/CSS pair for the selected template.
2. Identify whether the task is demo/template maintenance or a real personal resume.
3. Select `templates/internship-employment/standard-one-page/`, `templates/internship-employment/dense-two-page/`, or `templates/research-application/research-classic/` using the rules above.
4. Update resume content in the selected HTML file.
5. Adjust spacing, width, typography, density, and page balance in the selected CSS file only when needed.
6. For company logos, ask the user to manually download the intended SVG from `https://www.iconfont.cn/` (or an official brand library) and attach it; then copy it into `assets/logos/`. For AI/model/provider marks, follow `https://lobehub.com/icons/skill.md`: inspect `toc`, select a supported variant, use `getLobeIconCDN`, and store it locally. Do not guess slugs or substitute a product logo for a company logo without explicit user approval.
7. Keep links, email, phone, and visible labels consistent.
8. Run the PDF export.
9. Verify the PDF has the requested page count and contains all major sections.

## Export And Validation

### Required export path

- The browser is for HTML preview only. Do not use the browser's Print / Save as PDF output as the deliverable PDF.
- Always generate the final PDF through the repository's official exporter: `npm run export:pdf`, `npm run export:pdf:dense-two-page`, `npm run export:pdf:research-classic`, or `./export-pdf.sh <output> <input-html>`.
- If a user clicks the in-page print button, treat that result as a preview diagnostic only and regenerate the deliverable with the official script.

Use:

```bash
npm install
npm run export:pdf
```

For the dense two-page template:

```bash
npm run export:pdf:dense-two-page
```

For the research application template:

```bash
npm run export:pdf:research-classic
```

Then check:

```bash
pdfinfo export/vibe-resume-demo.pdf
pdftotext export/vibe-resume-demo.pdf -
```

Validation expectations:

- `pdfinfo` reports the requested page count: one page for the root and research templates, one or two pages for the dense template.
- The PDF text includes profile, education, internships or research work, projects or publications, and skills.
- No important section is clipped or missing.
- For two pages, both pages have intentional section boundaries and balanced bottom whitespace; a project or role must not be accidentally split across pages.
- The generated PDF visually matches the browser page closely because the exporter uses Chromium screen layout.

## Useful User Prompts

```text
把这份模板改成我的算法实习简历，保持一页 PDF，突出模型部署、推理优化和工程落地。
```

```text
根据这个 JD 调整我的项目经历，把关键词自然融入简历，但不要编造没有做过的事情。
```

```text
这个 PDF 底部留白太大，帮我微调页面宽度、字号和间距，保持网页预览和 PDF 一致。
```

