Resume Optimizer
Overview
在不改变原意、不虚构任何经历/数字的前提下,用 STAR 法则(Situation-Task-Action-Result)重写简历中的经历条目,使其更结构化、可量化、贴合目标岗位(JD),并按与岗位的匹配度对经历条目重新排序(匹配度高的靠前),最终输出与上传原件格式完全一致的优化后简历。
核心红线(任何时候不可违背)
- 忠于事实:只做"表达升级",不做"内容造假"。禁止编造公司、职位、时间、职责、数据、成果、技能证书。原文没有的量化数字不得杜撰——缺数据时用"标记待补"方式处理(见 references/star-method.md)。
- 保持格式一致:输出文件类型 = 输入文件类型(docx→docx、pdf→pdf 版式尽量还原、md→md、飞书文档→飞书文档)。字体、字号、分栏、模块顺序、配色、项目符号风格尽量原样保留,只改文字内容。
- 保持事实性字段不变:姓名、联系方式、公司名、职位名、起止时间、学校、专业等原样保留,不做"优化"。
工作流(按顺序执行)
优化一份简历包含以下步骤:
1. 读取输入 —— 拿到原简历与 JD,识别原件格式。
2. 诊断分析 —— 拆解简历结构,定位可优化的经历条目,提炼 JD 关键词并为每条经历打匹配度。
3. STAR 改写 —— 对每条经历按 STAR 法则重写,忠于原意、贴合 JD。
4. 按匹配度排序 —— 在同一模块内,把与岗位匹配度高的经历条目前移;模块级顺序保持不动。
5. 原格式输出 —— 用与原件一致的格式生成优化后简历。
6. 自检交付 —— 对照红线自检后交付,并给出优化说明。
步骤 1:读取输入
- 读原简历:docx/pdf/txt/md 用
Read或页面文件获取工具读取全文;图片简历用视觉能力(VLM)读图,不要调 OCR 工具;飞书文档用 lark-doc skill 读取。读取原件时同时记录其格式特征(模块顺序、每个模块的排版、项目符号样式、是否分栏、字体色块等),供步骤 5 复现。 - 读 JD:用户以文本、链接或文件形式提供的岗位职责/任职要求。若用户未提供 JD,先询问目标岗位;无法获取时,按"通用优化"进行,并在交付说明中提示"未针对具体岗位定向优化"。
- 若原件是需下载的文件,先落到本地工作目录再读取。
步骤 2:诊断分析
- 拆出简历模块:个人信息 / 求职意向 / 教育 / 工作经历 / 项目经历 / 实习 / 技能 / 证书 / 自我评价等。
- 从 JD 中提炼关键能力词与硬指标(如:数据分析、A/B 实验、用户增长、SQL、跨部门协作、GMV、留存率……),作为改写时的靠拢目标。
- 标记出每一条待优化的经历条目(通常是工作/项目/实习下的每个 bullet)。个人信息、时间、学历等事实字段不进入改写。
- 详细的诊断维度与 STAR 拆解方法见
references/star-method.md。
步骤 3:STAR 改写(技能核心)
对每条经历条目,套用 STAR 结构改写为"动作 + 方法/工具 + 可量化结果"的表达。务必先阅读 references/star-method.md,其中包含:STAR 四要素释义、强动词词库、量化技巧、JD 关键词对齐方法、"缺数据不造假"的处理规范、以及大量 before→after 改写范例。
改写要求:
- 一句话讲清"做了什么、怎么做的、带来什么结果",优先前置成果与量化数字。
- 用强动词开头(主导/搭建/推动/优化…),去掉"负责/参与/协助"式的模糊表达(但不得夸大真实角色)。
- 自然嵌入 JD 关键词,但不堆砌、不改变事实。
- 改写后逐条与原文比对,确认语义未偏移、未新增事实。
步骤 4:按匹配度排序
- 排序范围:只在同一模块内调整 bullet 顺序(如"工作经历"下的各条职责、"项目经历"下的各项目)。模块级顺序保持不动(教育/工作/项目/技能等大模块仍按原件顺序),以保证版式一致性。
- 匹配度判定(优先级从高到低):
1. 直接命中 JD 核心硬指标 / 关键职责(如 JD 要求"用户增长",经历恰好是增长项目)。
2. 命中 JD 硬技能 / 工具栈(如 SQL、A/B 实验、Python、Figma)。
3. 命中 JD 软能力(跨部门协作、项目推动、数据分析思维)。
4. 相关性弱、或仅为日常事务性工作 → 靠后。 - 同一段经历内的多条 bullet,也按"最能体现核心能力 → 辅助性事务"的顺序排列。
- 若未提供 JD(通用优化),则按"成果最显著 / 最能体现能力"的条目靠前,不强行重排。
- 详细的排序方法与示例见
references/star-method.md第七节。
步骤 5:原格式输出
根据输入格式选择输出方式,详细方法见 references/format-preservation.md:
- .docx:优先在原文件上做"文字替换"以最大限度保留样式。用 scripts/replace_docx_text.py,传入"原句→新句"的 JSON 映射,脚本在保留字体/字号/段落样式的前提下就地替换文本。
- .md / .txt:直接按原有标题层级、缩进、符号体系输出对应文本。
- .pdf:无法可靠原地编辑时,用 python-docx 复刻原版式生成 .docx,再转 PDF;并在交付说明中告知"已尽量还原原版式"。
- 图片简历:文字无法回填原图,输出为版式相近的 .docx/.md,并说明格式做了转换。
- 飞书文档:用 lark-doc skill 新建/更新飞书文档,保持原模块结构。
- 交付格式判定与飞书导入/交付规则遵循主流程规范(本地格式产物按需导入飞书并交付在线 URL;图片走 markdown 等)。
步骤 6:自检交付
交付前逐项核对:
- [ ] 无编造的公司/职位/时间/数据/证书;量化数字均来自原文或已标记待补
- [ ] 姓名、联系方式、公司名、职位名、起止时间、学历等事实字段未被改动
- [ ] 输出文件格式与原件一致(类型/模块顺序/排版风格)
- [ ] 每条经历都体现 STAR,且贴合 JD 关键词
- [ ] 同一模块内经历条目已按岗位匹配度排序(匹配度高的靠前)
- [ ] 语义与原意一致,无夸大真实角色
交付时随产物附一段简短优化说明:改了哪些模块、对齐了哪些 JD 关键词、做了哪些排序调整、哪些地方"缺数据待用户补充"。
Resources
references/star-method.md—— STAR 法则详解、强动词库、量化技巧、JD 对齐、匹配度排序方法、缺数据处理规范、before→after 范例。执行步骤 2/3/4 前必读。references/format-preservation.md—— 按输入格式(docx/pdf/md/图片/飞书)保持输出格式一致的具体做法。执行步骤 5 前必读。scripts/replace_docx_text.py—— 在保留 .docx 原有格式的前提下按 JSON 映射就地替换文本的脚本。