# Resume Craft

> 优化简历，基于目标岗位JD进行关键词匹配分析，用STAR法则量化改写经历描述，并进行ATS友好度检查，最终输出一份针对性强、通过率高的优化简历。当用户请求优化、修改、润色简历，提到JD匹配、关键词、STAR法则、ATS，或询问“帮我改一下简历”、“这份简历能不能优化”、“简历怎么过ATS”等具体问题时触发。

- Skill: `haomingz/resume-craft` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add haomingz/resume-craft`
- Raw SKILL.md: https://api.skillmd.com/api/skills/haomingz/resume-craft/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: haomingz (https://skillmd.com/u/haomingz)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/haomingz/resume-craft

---


# Resume Optimizer

**简历优化三板斧**：基于目标 JD 进行关键词匹配分析，用 STAR 法则量化改写经历描述，最后做 ATS 友好度检查，输出一份针对性强、通过率高的优化简历。

## Quick Start

用户提供简历内容（或文件）和目标 JD，Agent 按以下流程自动完成简历优化：

```
用户：帮我优化一下简历，我要投这个岗位 [附 JD + 简历]
Agent：[按 SOP 流程输出优化建议和改写后的简历]
```

## SOP 流程

### Phase 1: 输入收集与初步分析

**目标**：获取用户的简历内容和目标 JD，建立优化基线。

**操作步骤**：

1. **收集材料**：
   - 获取用户简历内容（文本粘贴或文件路径）
   - 获取目标岗位 JD（文本粘贴或链接描述）
   - 如用户未提供 JD，询问目标岗位方向（行业 + 职位 + 级别）

2. **简历基础信息解析**：
   - 识别简历结构板块（教育背景、工作经历、项目经历、技能清单等）
   - 统计简历长度、经历条数、时间跨度
   - 标注当前简历的格式类型（时间倒序型 / 功能型 / 混合型）

3. **JD 核心要素提取**：
   - 岗位名称与级别
   - 核心职责（Top 5）
   - 必备要求（Hard Requirements）
   - 加分项（Nice-to-Have）
   - 关键技能词和行业术语

**输出**：简历现状摘要 + JD 要素清单

---

### Phase 2: JD 关键词匹配分析

**目标**：系统比对简历与 JD 之间的关键词覆盖度，找到匹配缺口。

**操作步骤**：

1. **关键词分类提取**：
   从 JD 中提取三类关键词：

   | 类别 | 说明 | 示例 |
   |------|------|------|
   | **硬技能关键词** | 技术栈、工具、方法论 | Python, SQL, A/B测试, Scrum |
   | **软技能关键词** | 能力素质要求 | 跨团队协作, 数据驱动, 项目管理 |
   | **行业/业务关键词** | 领域专属术语 | DAU, 转化率, 用户增长, SaaS |

2. **匹配度分析**：
   逐个关键词在简历中检索，生成匹配矩阵：

   ```
   | 关键词 | JD要求等级 | 简历是否包含 | 出现位置 | 匹配建议 |
   |--------|-----------|-------------|----------|----------|
   | Python | 必备 | ✅ 有 | 技能清单+项目1 | 保持，可补充具体场景 |
   | SQL | 必备 | ❌ 无 | - | 需补充，建议在项目经历中体现 |
   ```

3. **覆盖率评分**：
   - 必备关键词覆盖率 = 已匹配必备词数 / 总必备词数 × 100%
   - 加分项覆盖率 = 已匹配加分词数 / 总加分词数 × 100%
   - **基准线**：必备关键词覆盖率 ≥ 80% 为合格，≥ 90% 为优秀

4. **缺口补充建议**：
   - 对每个未覆盖的必备关键词，建议在简历哪个板块、哪段经历中补充
   - 给出具体的融入方式（技能清单直接添加 / 经历描述中嵌入 / 项目成果中体现）

**输出**：关键词匹配矩阵 + 覆盖率评分 + 缺口补充方案

---

### Phase 3: STAR 量化改写

**目标**：用 STAR 法则重写每段经历，确保有量化数据支撑。

**STAR 法则定义**：

| 要素 | 含义 | 检查要点 |
|------|------|----------|
| **S** - Situation | 背景情境 | 什么时候、什么场景、什么规模 |
| **T** - Task | 任务目标 | 你的职责是什么、要解决什么问题 |
| **A** - Action | 具体行动 | 你做了什么、用了什么方法/工具 |
| **R** - Result | 量化成果 | 数据变化、效率提升、成本节约 |

**操作步骤**：

1. **现有经历诊断**：
   对每条经历描述评估 STAR 完整度：

   ```
   原文："负责用户增长相关工作"

   诊断：
   - S（背景）：❌ 缺失 — 不知道什么产品、什么阶段
   - T（任务）：⚠️ 模糊 — "相关工作"太笼统
   - A（行动）：❌ 缺失 — 没有具体动作
   - R（成果）：❌ 缺失 — 没有任何数据
   评分：1/4（严重不足）
   ```

2. **量化改写**：
   引导用户补充信息后，按 STAR 结构改写：

   ```
   改写后："在[产品名称]（DAU 50万+）用户增长停滞期，
   主导搭建新用户激活漏斗分析体系（S+T），
   通过优化注册流程 3 个关键节点 + 设计 7 日留存激励策略（A），
   3 个月内将新用户次日留存率从 32% 提升至 45%，月活增长 18%（R）"
   ```

3. **量化数据引导**：
   如果用户不确定具体数据，提供挖掘思路：

   | 量化维度 | 引导问题 |
   |----------|----------|
   | 规模指标 | 管了多少人/产品日活多少/项目预算多少 |
   | 效率提升 | 之前花多长时间，优化后多长时间 |
   | 业绩增长 | 收入/用户/转化率变化了多少 |
   | 成本节约 | 节省了多少钱/人力/时间 |
   | 影响范围 | 覆盖多少用户/服务多少客户/影响几个团队 |

   **数据诚信原则**：
   - 所有数据必须基于用户真实经历，禁止凭空编造
   - 如用户无法提供精确数据，可用合理范围表述（如"提升约 20%-30%"）
   - 鼓励用户使用"相对值"而非绝对值（如"效率提升 2 倍"比"每天节省 3.7 小时"更安全）

4. **改写质量检查**：
   每条改写后的经历必须满足：
   - [ ] 包含至少 1 个量化数据点
   - [ ] STAR 四要素至少覆盖 3 个
   - [ ] 以动词开头（主导、搭建、优化、推动、设计...）
   - [ ] 单条不超过 3 行（ATS 可读性）
   - [ ] 融入了 Phase 2 中缺失的关键词

**输出**：逐条改写前后对照表 + STAR 评分变化

---

### Phase 4: ATS 友好度检查

**目标**：确保简历能顺利通过 ATS（Applicant Tracking System）自动筛选。

**ATS 基本原理**：
ATS 是企业用来自动筛选简历的系统，它通过解析简历文本、匹配关键词、评分排序来决定简历是否进入人工筛选环节。常见系统包括 Workday、Greenhouse、Lever、北森等。

**操作步骤**：

1. **格式兼容性检查**：

   | 检查项 | 合格标准 | 常见问题 |
   |--------|----------|----------|
   | 文件格式 | PDF 或 DOCX（优先 PDF） | 图片格式简历无法解析 |
   | 排版结构 | 单栏布局，标准标题层级 | 双栏/三栏布局可能解析错乱 |
   | 字体 | 常见字体（宋体、微软雅黑、Arial、Calibri） | 艺术字体可能显示异常 |
   | 表格使用 | 避免使用复杂表格排版 | 表格内文字可能被跳过 |
   | 页眉页脚 | 关键信息不放页眉页脚 | 部分 ATS 跳过页眉页脚区域 |
   | 图片/图标 | 不使用图片承载关键信息 | ATS 无法识别图片中的文字 |
   | 特殊字符 | 避免项目符号使用特殊 Unicode 字符 | 使用标准 bullet（•）或短横线（-） |

2. **内容结构检查**：

   | 检查项 | 合格标准 |
   |--------|----------|
   | 标题命名 | 使用标准板块标题（"工作经历""教育背景""项目经历""技能"） |
   | 时间格式 | 统一格式（如"2023.01 - 2024.06"或"2023年1月 - 2024年6月"） |
   | 公司/学校名称 | 使用全称，不用简写（如"阿里巴巴集团"而非"ali"） |
   | 联系方式 | 包含姓名、电话、邮箱，放在简历开头显眼位置 |
   | 文件命名 | 建议格式："姓名_目标岗位_简历"（如"张三_产品经理_简历.pdf"） |

3. **关键词密度检查**：
   - 核心关键词在简历中出现至少 2-3 次（分布在不同板块）
   - 避免关键词堆砌（同一段落重复使用相同关键词）
   - 关键词使用与 JD 一致的表述（JD 写"数据分析"就不要写成"数据挖掘"）

4. **ATS 评分输出**：

   ```
   ATS 友好度评分卡
   ==================
   格式兼容性：   ██████████ 90/100
   标题规范性：   ████████░░ 80/100
   关键词匹配度： ███████░░░ 70/100（详见 Phase 2）
   内容结构完整性：█████████░ 85/100
   ──────────────────────
   综合评分：     81/100（良好）
   
   ⚠️ 主要扣分项：
   1. 使用了双栏布局（-10分）
   2. 缺少"技能"独立板块（-5分）
   3. "数据分析"关键词仅出现1次（-5分）
   ```

**输出**：ATS 友好度评分卡 + 逐项检查结果 + 修改建议

---

### Phase 5: 综合优化输出

**目标**：整合前四个阶段的结论，输出最终优化方案。

**操作步骤**：

1. **优化摘要**：
   ```
   简历优化总结
   ============
   JD 关键词覆盖率：62% → 92%（+30%）
   STAR 量化完整度：平均 1.5/4 → 3.5/4
   ATS 友好度评分：55/100 → 88/100
   改动经历条数：6/8 条
   新增关键词数：7 个
   ```

2. **输出改写后的完整简历内容**：
   - 按板块顺序输出优化后的完整简历文本
   - 改动部分用**加粗**标注，方便用户对比
   - 保持用户原有的真实信息不变（学校、公司、时间等）

3. **附加建议**（如适用）：
   - 简历长度建议（应届 1 页，3-5 年经验 1-2 页，10 年以上可 2 页）
   - 板块排列顺序建议（根据经验年限调整教育/经历的先后）
   - 针对不同投递渠道的微调建议（猎头/官网/内推侧重点不同）

**输出**：优化摘要 + 改写后完整简历 + 附加建议

---

## 流程控制规则

### 交互模式选择

| 用户输入 | 模式 | 行为 |
|----------|------|------|
| 只提供简历，无 JD | **引导模式** | 先询问目标岗位和 JD，再开始分析 |
| 提供简历 + JD | **标准模式** | 按 Phase 1-5 完整执行 |
| 只要求某个环节 | **单点模式** | 只执行用户指定的 Phase（如只做 ATS 检查） |
| 说"快速看一下" | **诊断模式** | 快速输出三项评分 + Top 3 改进建议，不做完整改写 |

### 质量检查清单

在输出最终结果前，逐项检查：

- [ ] 关键词匹配矩阵是否完整（覆盖 JD 所有必备要求）
- [ ] 每条改写经历是否包含至少 1 个量化数据点
- [ ] STAR 改写是否保持了用户原始经历的真实性
- [ ] 未凭空编造任何数据或经历
- [ ] ATS 检查是否覆盖了所有格式项
- [ ] 改写后的简历长度是否合理
- [ ] 关键词是否自然融入而非生硬堆砌
- [ ] 联系方式等敏感信息未泄露或篡改

### 迭代优化

如果用户对优化结果有反馈：
1. 定位反馈涉及的 Phase
2. 从该 Phase 重新执行
3. 向下级联更新所有受影响的内容
4. 保持整体一致性（关键词、STAR 改写、ATS 检查联动更新）

## 核心原则

1. **真实性第一**：所有优化必须基于用户真实经历，严禁编造数据和经历
2. **针对性优化**：每一处修改都应服务于目标 JD 的匹配，不做无目的的美化
3. **可操作性**：给出的建议用户能直接使用，不说"建议量化"而不给具体引导
4. **隐私保护**：提醒用户在分享简历时注意脱敏（手机号、住址等）

