resume-builder
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese简历构建器 (Resume Builder)
Resume Builder
通过对话为用户创建视觉精美、排版专业的 HTML/PDF 简历,支持视觉 A4 单页和 ATS-safe 两种输出模式。
Create visually stunning, professionally formatted HTML/PDF resumes for users through conversations, supporting two output modes: visual A4 single-page and ATS-safe.
核心理念
Core Concepts
- 输出:独立 HTML 文件,内嵌 CSS,A4 尺寸(210mm × 297mm),浏览器打印 PDF
- 设计:大胆有辨识度,拒绝通用 AI 审美(详见 )
references/design-guidelines.md - 生成前先选择输出模式:视觉 HTML/PDF 或 ATS-safe HTML/PDF;两种模式共享同一事实数据。
- Output: Standalone HTML file with embedded CSS, A4 size (210mm × 297mm), PDF export via browser printing
- Design: Bold and distinctive, rejecting generic AI aesthetics (see for details)
references/design-guidelines.md - Select output mode before generation: Visual HTML/PDF or ATS-safe HTML/PDF; both modes share the same factual data.
先决规则
Prerequisite Rules
开始收集、写作或生成前,必须先完整读取并遵循 和 。这两份共享参考文档优先于本入口中的示例、版式偏好和流程提示;证据不足时保留事实边界,不为填满版面或迎合格式补写内容。
references/resume-contract.mdreferences/content-writing.mdBefore starting collection, writing or generation, you must fully read and follow and . These two shared reference documents take precedence over examples, layout preferences and process prompts in this entry; when evidence is insufficient, retain factual boundaries and do not fill content to meet layout or format requirements.
references/resume-contract.mdreferences/content-writing.md入口与协作
Entry & Collaboration
这是创建和更新母版的主入口。若用户提供已有简历,先提取为待确认 claim,展示已识别内容、模糊项和疑似过期项;用户确认后只做增量追问,优先询问最近变化、缺失证据和低置信度字段。不要将解析文本直接当作最终事实,也不要重新进行完整采访。
若用户没有已有简历,按下面的信息收集流程采访。将用户确认的 claim 保存到项目目录外的私有 ,其结构使用 ;它是后续母版和 JD 定制的事实源。事实确认完成后,才选择输出模式与六个视觉模板。发现某条经历职责化、缺少具体贡献或证据不足时,可建议用户调用 ;它不是生成母版的必经步骤。
resume-facts.yamlreferences/resume-facts.example.yamlresume-bullet-writerThis is the main entry for creating and updating master resumes. If the user provides an existing resume, first extract it into pending confirmation claims, displaying identified content, ambiguous items and suspected outdated entries; after user confirmation, only conduct incremental follow-ups, prioritizing recent changes, missing evidence and low-confidence fields. Do not directly use parsed text as final facts, nor restart a full interview.
If the user has no existing resume, conduct the interview following the information collection process below. Save user-confirmed claims to the private outside the project directory, using the structure from ; this is the factual source for subsequent master resume and JD customization. Only select the output mode and six visual templates after fact confirmation is completed. When an experience is described in responsibilities-only terms, lacks specific contributions or has insufficient evidence, you can suggest the user call ; this is not a mandatory step for generating the master resume.
resume-facts.yamlreferences/resume-facts.example.yamlresume-bullet-writer工作流程
Workflow
第一步:信息收集
Step 1: Information Collection
仅在从零采访或已有简历存在缺口时逐个板块提问,不要一次抛出所有问题。按 建立每条 claim 的 、、、、 记录,并在用户确认后更新私有 ,再按 写作。
resume-contract.mdsectionsourceconfidenceevidencemetric_statusresume-facts.yamlcontent-writing.md收集顺序:基础信息 → 教育背景 → 实习/工作经历 → 项目经验 → 技能 → 校园经历 → 自我评价
- 优先追问可核验的指标、范围、时间、质量、角色和交付物;没有可信数字时,使用已确认的非数字证据。
- 技能数量、自我评价长度/句数和经历结构服从事实、岗位相关性与版面,不设机械数量或字数门槛。
- 应届生可根据岗位相关性前置项目或校园经历,不把固定排序当成事实规则。
- 待确认字段只能保留在采集记录或分析报告中,不能进入最终简历 HTML/PDF。
Only ask questions one section at a time when conducting a zero-based interview or when there are gaps in an existing resume; do not throw all questions at once. Establish records of , , , , for each claim as per , update the private after user confirmation, then write content according to .
sectionsourceconfidenceevidencemetric_statusresume-contract.mdresume-facts.yamlcontent-writing.mdCollection order: Basic Information → Education Background → Internship/Work Experience → Project Experience → Skills → Campus Experience → Self-Assessment
- Prioritize follow-ups on verifiable metrics, scope, time, quality, roles and deliverables; when no credible numbers are available, use confirmed non-numeric evidence.
- The number of skills, length/sentence count of self-assessment and structure of experiences follow facts, job relevance and layout; no mechanical quantity or word count thresholds are set.
- For fresh graduates, project or campus experience can be prioritized based on job relevance; fixed order should not be treated as a factual rule.
- Pending confirmation fields can only be kept in collection records or analysis reports, and cannot be included in the final resume HTML/PDF.
第二步:风格确认
Step 2: Style Confirmation
先让用户选择视觉 HTML/PDF 或 ATS-safe HTML/PDF 模式,再选择或描述视觉风格。视觉模式读取对应 CSS 和 HTML 参照文件;ATS-safe 模式使用单栏、标准标题和可复制文本结构:
| 风格 | CSS | HTML 参照 |
|---|---|---|
| 现代简约 | | |
| 经典商务 | | |
| 创意个性 | | |
| 日式极简 | | |
| 科技感 | | |
| 简约蓝色商务 | | |
CSS 文件包含 3 套配色变量 + 推荐字体 + 风格 CSS。 为通用排版(每次必用)。
css/common.mdFirst let the user select the visual HTML/PDF or ATS-safe HTML/PDF mode, then select or describe the visual style. Visual mode reads corresponding CSS and HTML reference files; ATS-safe mode uses single-column, standard headings and copyable text structure:
| Style | CSS | HTML Reference |
|---|---|---|
| Modern Minimal | | |
| Classic Business | | |
| Creative Bold | | |
| Japanese Minimal | | |
| Tech Dark | | |
| Minimal Blue Business | | |
CSS files include 3 sets of color variables + recommended fonts + style CSS. is for universal typesetting (must be used every time).
css/common.md第三步:生成 HTML
Step 3: Generate HTML
根据第二步选定的模式合并 排版 + 对应风格 CSS/布局 + 已通过契约门槛的用户信息,生成独立 HTML。视觉模式使用 ;ATS-safe 模式使用 ,对应 PDF 使用相同前缀和 扩展名。
css/common.md<姓名>_<岗位>_visual.html<姓名>_<岗位>_ats.html.pdf视觉模式:
- A4 尺寸、页边距、字号、间距、行高等排版参数参见 (唯一定义源)
css/common.md - CSS 变量统管颜色,系统字体栈(PingFang SC, Microsoft YaHei)
- 交付为单文件时,头像等本地图片使用 内嵌;若保留外部网页字体,必须同时提供系统字体回退,并在验证中说明离线渲染可能不同。
data URL - 技能标签用 排列,badge 样式由风格 CSS 定义(ATS 友好)
<span class="skill-badge"> - 不在简历模板中嵌入导出按钮;PDF 由浏览器打印或本地 Canvas 的“打印为 PDF”操作导出,避免遮挡简历内容
- 使用任一内置风格时,生成的 必须包含对应的
<html>(data-resume-editor-template、modern-minimal、classic-business、creative-bold、japanese-minimal或minimal-blue-business)和tech-dark。每个需要 Canvas 微调的真实文本必须有稳定、唯一、语义化的data-resume-editor-version="1";不要依赖运行时补齐。data-resume-editor-id - 上述标记供 的本地 Canvas 微调器识别;Canvas 可编辑已有字段的纯文本并保存受限排版覆盖,不允许插入 HTML 或新增字段。文字事实变更后必须重新确认事实并验证 PDF;不要将标记用于头像、布局容器、任意 HTML 或未经确认的字段。
npx @chasen-liao/resume-skills@latest editor <resume.html>
ATS-safe 模式:
- 使用单栏、标准板块标题、普通可复制文本和稳定的正文阅读顺序;重要信息不依赖图片、文本框、复杂嵌套表格、页眉页脚或装饰字体。
- 技能以可复制文本列表表达;不因 ATS-safe 模式改变 claim 内容、证据状态或删除待确认标记之外的事实。
- 同样只生成 HTML 与浏览器打印 PDF;仓库当前没有 DOCX 生成能力,不承诺 DOCX 产物。
Combine typesetting + corresponding style CSS/layout + user information that meets the contract thresholds based on the mode selected in Step 2 to generate standalone HTML. Visual mode uses ; ATS-safe mode uses , with corresponding PDFs using the same prefix and extension.
css/common.md<Name>_<Position>_visual.html<Name>_<Position>_ats.html.pdfVisual Mode:
- A4 size, margins, font size, spacing, line height and other typesetting parameters refer to (the only definition source)
css/common.md - CSS variables manage colors uniformly, using system font stacks (PingFang SC, Microsoft YaHei)
- When delivering as a single file, local images like avatars are embedded using ; if external web fonts are retained, system font fallbacks must be provided simultaneously, and it should be noted in verification that offline rendering may differ.
data URL - Skill tags are arranged using , with badge styles defined by style CSS (ATS-friendly)
<span class="skill-badge"> - Do not embed export buttons in the resume template; PDF is exported via browser printing or local Canvas's "Print as PDF" operation to avoid obscuring resume content
- When using any built-in style, the generated must include the corresponding
<html>(data-resume-editor-template,modern-minimal,classic-business,creative-bold,japanese-minimalorminimal-blue-business) andtech-dark. Each real text that requires Canvas fine-tuning must have a stable, unique, semanticdata-resume-editor-version="1"; do not rely on runtime completion.data-resume-editor-id - The above tags are recognized by the local Canvas fine-tuner of ; Canvas can edit plain text of existing fields and save restricted typesetting overrides, but does not allow inserting HTML or adding new fields. After text facts are changed, facts must be reconfirmed and PDF verified; do not use tags for avatars, layout containers, arbitrary HTML or unconfirmed fields.
npx @chasen-liao/resume-skills@latest editor <resume.html>
ATS-safe Mode:
- Use single-column, standard section headings, normal copyable text and stable body reading order; important information does not rely on images, text boxes, complex nested tables, headers/footers or decorative fonts.
- Skills are expressed as copyable text lists; do not change claim content, evidence status or remove facts except pending confirmation marks due to ATS-safe mode.
- Only generate HTML and browser-printed PDF; the repository currently does not have DOCX generation capability, and does not promise DOCX output.
第四步:按模式验证(强制执行,不可跳过)
Step 4: Mode Verification (Mandatory, Cannot Be Skipped)
视觉 HTML/PDF:导出 PDF 后同时检查结构、PDF 页数和可提取文本、页面密度和可打印安全区:
bash
powershell -NoProfile -ExecutionPolicy Bypass -File skills/resume-builder/scripts/render_resume.ps1 -HTML "<生成的_visual.html路径>" -OutputPdf "<生成的_visual.pdf路径>"--check-layout- 必须是
PDF page count;超过 1 页直接失败,不能用裁切或隐藏溢出伪装成单页。1 page - 以 PDF 可提取文本的纵向范围估算页面占用率,目标至少
page fill;低于目标是警告,必须继续调整到接近一页,但不能为填白编造事实。78% - 检查可打印区域上下留白差;出现警告时优先均匀调整板块间距、条目间距和容器内边距,避免内容挤在顶部或底部。
vertical balance - 不得失败;内容越过可打印底部安全区时,必须回退间距或字号调整。
bottom safety
版面调整顺序:先使用已有且已确认的板块和内容;页面偏空时均匀增加板块/条目间距、行高或容器内边距,页面溢出时反向压缩;仍溢出再按“页边距不小于 8mm → 间距 → 行高不低于 1.25 → 正文不小于 9.5px → 精简低相关内容 → 在适合时切换双栏”的顺序处理。上下间距尽量相近,任何一次调整后都重新导出 PDF 并运行同一命令。不得新增未确认经历、指标、技能或占位文本,也不以难以阅读的小字号硬塞一页。
渲染脚本会执行浏览器溢出和 PDF 布局验证,并生成同名前缀的 ,其中包含 HTML/PDF SHA-256、renderer 版本和验证结果。、 或 hash 不一致都不可交付。完成自动检查后,再人工检查截图中的可见裁切、字体回退、链接和打印背景;自动检查不能保证这些视觉细节。视觉模式以 A4 单页为目标,所有警告都要记录处理结果。
*.resume-manifest.jsondegradedfailATS-safe HTML/PDF:检查 DOM 是否单栏、标题和时间/组织/职位关系是否清晰、正文复制后顺序是否正确,以及 PDF 文本是否可提取;再检查无图片文字、复杂嵌套表格、关键页眉页脚信息和不可复制装饰字体。按目标平台要求检查 HTML/PDF 格式,不宣称 ATS 必然通过。
Visual HTML/PDF: After exporting PDF, check structure, PDF page count, extractable text, page density and printable safe area at the same time:
bash
powershell -NoProfile -ExecutionPolicy Bypass -File skills/resume-builder/scripts/render_resume.ps1 -HTML "<path_to_generated_visual.html>" -OutputPdf "<path_to_generated_visual.pdf>"Acceptance rules for :
--check-layout- must be
PDF page count; if it exceeds 1 page, it fails directly, and cannot be disguised as a single page by cropping or hiding overflow.1 page - estimates page occupancy based on the vertical range of extractable PDF text, with a target of at least
page fill; below the target is a warning, and adjustments must continue to be close to one page, but facts cannot be fabricated to fill space.78% - checks the difference between top and bottom white space in the printable area; when a warning occurs, prioritize evenly adjusting section spacing, item spacing and container padding to avoid content being crowded at the top or bottom.
vertical balance - must not fail; when content crosses the printable bottom safe area, spacing or font size must be adjusted back.
bottom safety
Layout adjustment order: First use existing confirmed sections and content; when the page is too empty, evenly increase section/item spacing, line height or container padding, and reverse compression when the page overflows; if still overflowing, process in the order of "margins not less than 8mm → spacing → line height not less than 1.25 → body text not less than 9.5px → streamline low-relevance content → switch to two columns when appropriate". Try to make top and bottom spacing similar, and re-export PDF and run the same command after any adjustment. Do not add unconfirmed experiences, metrics, skills or placeholder text, nor force content into one page with unreadably small fonts.
The rendering script will perform browser overflow and PDF layout verification, and generate a with the same prefix, which includes HTML/PDF SHA-256, renderer version and verification results. , or inconsistent hash values cannot be delivered. After completing automatic checks, manually check visible cropping, font fallback, links and print background in screenshots; automatic checks cannot guarantee these visual details. Visual mode targets A4 single-page, and all warnings must have recorded processing results.
*.resume-manifest.jsondegradedfailATS-safe HTML/PDF: Check if the DOM is single-column, if the relationship between headings and time/organization/position is clear, if the order is correct after copying the body text, and if PDF text is extractable; then check for no image-based text, complex nested tables, key header/footer information and non-copyable decorative fonts. Check HTML/PDF format according to target platform requirements, and do not claim that ATS will definitely pass.
第五步:交付
Step 5: Delivery
视觉模式完成 A4/PDF 验证后,必须启动本地 Canvas 预览,让用户先看到成品,再按需做受限排版微调:
bash
npx @chasen-liao/resume-skills@latest editor "<生成的_visual.html路径>"高级 CLI 参数说明(适用于 Agent 自动化或无 GUI 容器环境):
- :以 JSON 格式输出一次服务启动信息(如 URL、端口和源 HTML 路径);服务会继续运行,供 Agent 连接该地址。
--json - :禁用自动打开系统浏览器(适合控制台或集成环境)。
--no-open - :指定监听端口。
--port <number> - Live Preview:编辑器建立连接后支持 SSE 热刷新。当 Agent 重新写入或修改该 HTML 时,页面将自动重载展示最新效果。
命令会在本机启动服务并打开浏览器。告知用户原始 HTML 和 PDF 的位置;Canvas 保存时会直接覆盖该 HTML,并将关联 PDF manifest 标为失效。保存后必须重新运行渲染脚本,只有新 manifest 的 hash 和验证结果有效才可交付。Canvas 只允许编辑已有字段的纯文本和受限排版,不能插入 HTML、做 JD 匹配或调整结构。如当前环境无法执行 ,明确报告未启动,并提供带实际 HTML 路径的完整命令,不得声称已启动。
npxATS-safe 模式不使用 Canvas(其单栏 HTML 不属于 Canvas 支持的视觉模板);告知文件位置与浏览器打印 PDF 方法。两种模式都可在后续使用 针对 JD 定制。
jd-tailorerAfter completing A4/PDF verification for visual mode, you must start the local Canvas preview to let the user see the finished product first, then make restricted typesetting adjustments as needed:
bash
npx @chasen-liao/resume-skills@latest editor "<path_to_generated_visual.html>"Advanced CLI Parameter Description (for Agent automation or GUI-less container environments):
- : Output service startup information (such as URL, port and source HTML path) in JSON format once; the service will continue to run for the Agent to connect to this address.
--json - : Disable automatic opening of the system browser (suitable for console or integrated environments).
--no-open - : Specify the listening port.
--port <number> - Live Preview: After the editor establishes a connection, SSE hot refresh is supported. When the Agent rewrites or modifies the HTML, the page will automatically reload to display the latest effect.
The command will start a local service and open the browser. Inform the user of the location of the original HTML and PDF; when Canvas saves, it will directly overwrite the HTML and mark the associated PDF manifest as invalid. After saving, the rendering script must be re-run, and only when the new manifest's hash and verification results are valid can it be delivered. Canvas only allows editing plain text and restricted typesetting of existing fields, and cannot insert HTML, perform JD matching or adjust structure. If cannot be executed in the current environment, clearly report that it has not been started, and provide the complete command with the actual HTML path, and do not claim that it has been started.
npxATS-safe mode does not use Canvas (its single-column HTML does not belong to the visual templates supported by Canvas); inform the user of the file location and browser printing PDF method. Both modes can be customized for JD using later.
jd-tailorer参考文档索引
Reference Document Index
references/- — 设计美学、字体排版、单页参数细节
design-guidelines.md - — 事实来源、证据、置信度、指标状态和输出门槛
resume-contract.md - — 私有
resume-facts.example.yaml的最小结构resume-facts.yaml - — 六大风格-配色索引
color-palettes.md - — 证据优先写作、ATS 两种输出模式、自检清单
content-writing.md - — CSS 使用方式与配色选择策略
css/README.md - — 通用紧凑排版 CSS(每次必用)
css/common.md - +
css/<style>.md— 每个风格一对参照文件examples/<style>.html
Read as needed from the directory:
references/- — Design aesthetics, font typesetting, single-page parameter details
design-guidelines.md - — Fact sources, evidence, confidence, metric status and output thresholds
resume-contract.md - — Minimum structure of private
resume-facts.example.yamlresume-facts.yaml - — Six style-color index
color-palettes.md - — Evidence-first writing, two ATS output modes, self-check list
content-writing.md - — CSS usage and color selection strategy
css/README.md - — Universal compact typesetting CSS (must be used every time)
css/common.md - +
css/<style>.md— A pair of reference files for each styleexamples/<style>.html