# Resume Tailoring

> 当用户要直接产出可投递的简历版本、按 JD 重写简历、提升 ATS 通过率、根据公司和岗位改写 bullet points、生成英文终稿、批量准备多个岗位版本，或要求你基于现有简历与经历素材做最终简历定制时使用。优先用于执行型请求：生成最终简历、ATS 优化、英文版、多版本、批量定制。不要用于只做匹配度分析、风险点、面试预测或头脑风暴报告，那类分析型请求使用 `resume-modifier`。

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

---


# Resume Tailoring

## 目标

把“已有经历”转成“对目标岗位最有说服力的表达”，直接生成可继续打磨或投递的简历成品，而不是只给分析意见。

核心原则只有一条：

**真实性优先的优化。**

- 可以重排、重组、重命名表述重点
- 可以把同一事实换成更贴近目标岗位的话术
- 可以通过追问挖出用户确实做过、但没有写进简历的内容
- 不可以编造项目、夸大职责、虚构指标、伪造头衔
- 默认把简历压缩到一页；只有资历、岗位或用户要求确实需要时才做两页
- AI 只用于构思、取舍、改写备选和自检；最终正文要像候选人本人写的，避免模板化 AI 腔
- 简历不是唯一载体：把可验证的深度、代码、作品和个人品味放到高质量外链里
- 简历正文的长度单独控制；生成说明和外部信号检查可以另起文件或另设章节，不能成为简历超页的借口
- 按目标市场过滤个人信息：英文 / 国际 / AI startup 简历默认不放照片、出生日期、婚育等非必要信息；中文本土岗位按用户偏好和行业习惯处理

## 与 `resume-modifier` 的分工

这两个 skill 不是同一个东西。

- [`resume-modifier`](../resume-modifier/SKILL.md)：分析顾问。输出匹配度分析、风险点、竞争策略、面试预测、手动修改建议。
- `resume-tailoring`：执行引擎。直接生成最终简历版本，处理 ATS、英文终稿、批量岗位和最终结构重写。

路由规则：

- 用户说“先分析”“先不要直接改简历”“帮我看风险点 / 面试问题 / 差异化优势”时，优先用 `resume-modifier`
- 用户说“直接帮我改出一版简历”“生成最终版本”“做英文版”“提高 ATS”“做 3 个岗位版本”时，优先用 `resume-tailoring`
- 如果用户表达模糊，先问一句：`你要先拿分析报告，还是直接要一版可投递简历？`

## 何时使用

以下情况应触发本技能：

- 用户提供 JD，要求直接改出一版简历
- 用户要 ATS 优化后的可投递版本
- 用户要英文版、双语版或特定公司版本
- 用户有多份历史简历，需要合成一个新终稿
- 用户想批量处理 2 到 5 个相近岗位
- 用户知道自己做过相关事，但简历里没写清楚，希望通过追问补全后直接进终稿

## 何时不要用

以下情况不要直接使用本技能，或只使用其中一部分流程：

- 用户完全没有任何现有简历、经历素材、项目事实
- 用户主要要写求职信、邮件、LinkedIn 主页
- 用户要求“你帮我虚构得更像一点”
- 用户只是想先看分析报告，不想直接生成简历

如果用户材料很少，不要直接拒绝。先说明风险，再退化为“事实收集 + 最小可用简历”模式。

## 必要输入

默认至少需要下面两项：

1. 目标岗位 JD
2. 简历素材来源

简历素材可以是：

- 一个目录，例如 `./resumes/`
- 一份或多份 Markdown 简历
- 用户直接粘贴的简历文本
- 其他可读材料，例如项目文档、工作总结、个人介绍

建议补充：

- 输出语言：中文 / 英文 / 中英双语
- 目标公司或团队
- 是否需要批量处理多个岗位
- 是否需要 `docx` / `pdf`
- 用户偏好：一页 / 两页、保守改写 / 激进重排

## 输出契约

默认至少生成三样：

1. 定制后的简历正文
2. 一份生成说明
3. 一份申请材料外部信号检查

简历正文默认用 Markdown。
如果输出到同一个 Markdown 文件，必须清楚区分“简历正文”和“生成说明 / 外部信号检查”。判断一页与否时，只看简历正文，不把说明报告算进去。

说明文档至少包含：

- 目标岗位摘要
- 成功画像摘要
- 主要匹配情况
- 做了哪些重写
- 哪些点是强项
- 哪些点仍是缺口
- 面试时应重点准备什么
- 简历如何保持短、准、可信

外部信号检查至少包含：

- 简历长度与每段 bullet 数量是否过载
- 是否有个人网站 / 作品集，以及它是否有明确意图和可读结构
- GitHub 是否能快速看到真实代码、项目质量和构建能力
- LinkedIn 是否更新、准确、适合被内部转发
- X / Twitter 等公开社交链接是否需要清理或暂不放入简历
- 是否体现了 AI / agent / AI-assisted engineering 的真实能力
- 项目列表是否质量优先，而不是堆数量
- 是否避免照片、花哨 badge、无信息量图标和无法证明的自我评价

如果用户明确要求：

- `docx`：调用本地可用的 `docx` 技能生成 Word 版本
- `pdf`：优先通过 `docx` 转换；如果当前环境无法稳定产出 PDF，要明确告知并至少保留 Markdown / DOCX

## 默认工作方式

除非用户明确要求跳过，否则按下面顺序执行：

1. Intake：确认目标岗位、输出语言、素材位置
2. Library Build：从现有简历和补充材料构建经历库
3. Research：分析 JD，并做公司 / 角色研究
4. Template Plan：设计这个岗位专用的简历结构
5. Discovery：针对缺口追问，挖出未写明经历
6. Matching：把经历库和模板逐条匹配并打分
7. Generation：输出简历与说明报告
8. Library Update：用户确认后再把新版本回写进素材库

## 交互原则

- 先追求正确方向，再追求措辞好看
- 用户目标清晰但路径不短时，主动建议更短路径
- 关键节点要让用户确认，但不要每一步都打断
- 对缺口要透明，不要悄悄硬凑
- 尽量把“结论 + 依据 + 下一步”一起给用户
- 面向真实招聘场景做取舍：招聘方通常只会快速扫读，不会花很久理解一份材料
- 对 AI 生成痕迹要敏感；可以给用户多版表达方向，但不要把过度润色的文本当终稿

## 快速路由

### 单岗位模式

当用户只给一个 JD 或一个岗位时，走默认流程。

### 多岗位模式

满足任一条件时，视为可能是批量投递：

- 提供多个 JD URL
- 一次粘贴多个岗位描述
- 用户说“多个岗位”“批量”“3 个职位”“几家公司一起投”
- 一次提到多个公司和角色组合

如果检测到多岗位，先问一次是否进入批量模式：

```text
我检测到你在同时准备多个岗位。建议进入批量模式。

这样做的好处：
- 共享一次经历挖掘，避免重复追问
- 为每个岗位单独生成版本
- 后续新增岗位时可以复用已补充的经历

要用批量模式吗？
```

只有当岗位相似度足够高时才推荐批量模式。若岗位差异很大，提醒用户拆开做。

## Phase 1: 素材库构建

### 目标

把用户已有材料整理成结构化经历库，供后续检索、比对、重写。

### 执行方式

读取所有可用素材，提取：

- 公司、岗位、时间
- 每段经历的 bullet points
- 技术栈、方法论、业务领域
- 指标与结果，例如百分比、金额、用户规模、效率提升
- 教育背景、证书、开源、研究、志愿经历
- 个人网站、作品集、GitHub、LinkedIn、X / Twitter、博客、公开项目链接
- 能体现个人判断力和品味的材料，例如技术写作、项目复盘、书单、产品思考
- 用户习惯的风格，例如一页 / 两页、偏技术 / 偏业务、常用句式

为每段经历建立统一记录。最少要有这些字段：

- `company`
- `title`
- `dates`
- `summary`
- `bullets`
- `skills`
- `metrics`
- `source`

如果用户提供了外链，把外链也作为素材库的一部分，但要先判断是否值得放进简历。不要默认所有链接都加上去。

如果素材不足，要直说，不要假装库已经足够：

```text
你的现有素材偏少，我仍然可以继续做，但会有三个影响：
1. 可选表达更少
2. 某些 JD 要求可能只能部分覆盖
3. 后续经历挖掘会变得更重要
```

## Phase 2: JD 与公司研究

### 目标

不要只盯着 JD 关键词，而是推导出这个岗位真正需要的“成功画像”。

### 先做 JD 解析

从 JD 中提取：

- 明确要求：must-have 与 nice-to-have
- 技术关键词、业务术语、行业语境
- 隐性偏好：组织协作、 owner 意识、节奏、层级
- 风险信号：经验不匹配、资历过高、行业跨越过大
- 角色原型：技术 IC / 管理 / 跨团队协调 / 产品驱动 / 研究导向

### 再做外部研究

只要问题依赖最新信息，就使用网页搜索和抓取。研究重点：

- 公司使命、价值观、产品和客户
- 近期新闻、战略重点、组织变化
- 该岗位常见背景与话术
- 同类岗位在行业里的表达方式

可优先搜索：

- 公司官网、招聘页、工程博客
- 最近的新闻或官方发布
- 公开的岗位画像或相近团队信息

### 产出成功画像

把研究结果整理成：

- 核心要求
- 加分能力
- 文化匹配信号
- 推荐叙事主线
- 术语映射
- 风险点与缓解策略

在继续之前，用中文向用户总结：

```text
基于 JD 和公司研究，我认为这个岗位最看重的是：

- 核心要求 1
- 核心要求 2
- 核心要求 3

对候选人的隐性期待：
- ...

我建议把你的简历主线往这几个方向靠：
- ...

这和你的理解一致吗？如果你知道额外上下文，也可以现在补充。
```

## 详细执行说明

只有在你已经确定要生成最终简历成品时，再继续读下面的参考文档：

- [`references/execution_workflow.md`](references/execution_workflow.md)
  何时读：需要做模板设计、经历挖掘、内容匹配、重写、生成最终简历或回写素材库时
- [`references/edge_cases_and_examples.md`](references/edge_cases_and_examples.md)
  何时读：用户材料少、研究受限、内容超页、关键要求无匹配，或你需要参考示例与质量标准时

## 最小执行规范

即使不展开参考文档，也必须遵守以下底线：

- 不编造任何内容
- 每条关键 bullet 尽量能追溯到素材来源
- 关键缺口必须显式标出
- 如果用户只要分析不要终稿，切回 `resume-modifier`
- 如果用户要终稿，就不要只停在分析报告

## 本地适配说明

这个本地版基于上游 `resume-tailoring-skill` 思路做了两类适配：

- 中文化：默认用中文交互，适配中文用户的工作流
- 自包含：把上游分散在仓库根目录的策略文档收拢到本 skill 目录下的 `references/`，避免安装后引用断链

