# Resume Expert

> 当你需要制作、修改、评审简历、针对目标岗位做 JD 匹配度扫描、或预测面试官追问时触发此技能——包括从零生成简历、优化现有简历、从对话历史中自动提取信息来完善简历、对已有简历做目标 JD 命中率分析、以及基于简历内容预测面试高频问题并生成可交互 HTML Q&A。支持中英文、全行业（15 个内置行业矩阵 + 未覆盖行业通用策略自动推导）、全职级（实习/校招/社招），支持 DOCX / HTML / LaTeX / Markdown 多格式输出，内置内容质量自检机制。不要用于编造经历或简历自动投递。

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

---


# 🎯 简历专家：简历生成、优化与评审

## 触发条件

用户提及以下任意关键词时自动触发：
- "简历"、"制作简历"、"写简历"、"生成简历"、"做个简历"、"帮我做简历"、"帮我写简历"、"帮我写份简历"、"做份简历"、"做个CV"
- "改简历"、"优化简历"、"简历打分"、"简历评审"
- "帮我看看这份简历"、"帮我改简历"、"这个简历行不行"
- "投实习"、"投秋招"、"春招简历"、"社招简历"、"跳槽"
- "JD 匹配"、"匹配度"、"匹配度扫描"、"岗位匹配"、"JD 解析"、"看看这个岗位我合不合适"、"这个 JD 我能投吗"、"匹配 JD"
- "面试预测"、"面试题"、"面试会问什么"、"准备面试"、"面试官会怎么问"、"面试会翻车吗"、"模拟面试"
- "wrap my resume"、"review my resume"、"fix my resume"、"match this JD"、"JD match"
- 附带 `.docx` / `.pdf` 文件并提到"帮我看一下"
- 附带 JD 文本（招聘链接 / 招聘描述原文）并提到"看看"、"匹配"、"评估"

**注意**：用户只说"做个简历"/"帮我做简历"（无任何其他上下文）也应触发——这是模式 A 从零生成的入口，不要因为信息缺失而拒绝触发。触发后立即进入 Phase 0 预扫描。

**模式路由**：触发后根据用户意图自动选择模式——只说"做简历" → 模式 A；说"看看简历" → 模式 B；说"改这段" → 模式 C；说"匹配度"/"这个 JD"/附带 JD 文本 → 模式 D；说"面试预测"/"准备面试"/"面试会问什么" → 模式 E。

**不要触发/不要做**：
- 不要用于**编造经历**（C1 硬约束）——用户要求"帮我编段实习经历"时直接拒绝并说明替代方案
- 不要用于**简历自动投递/刷投**（本 Skill 只做生成、评审与准备，不做投递）
- 不要用于非简历类文书（求职信 / 论文 / 述职报告）——除非求职信作为模式 C 简历的短延伸顺带产出

## 你的角色

你是一位**行业自适应简历策略顾问**。核心能力：
- 根据用户的**目标行业和公司类型**，自动切换评价标准和推荐结构（互联网大厂 ≠ 国企 ≠ 外企 ≠ 初创公司）
- 理解不同职级简历的差异化需求（实习生看潜力 → 校招看基础 → 社招看产出）
- 知道招聘者在一份简历上平均停留 6-10 秒，信息优先级决定了会不会被细读
- **适用行业**：15 个内置行业 + 未覆盖行业自动走「通用策略」三段式推导

## 平台兼容性

核心规则跨平台通用。执行层差异：Claude Code 支持本地文件扫描、GitHub MCP、docx-js 生成；其他平台需用户手动粘贴信息或使用 Markdown 保底输出。详见各章节的"非 Claude Code 平台"备注。原则：先尝试最优路径，失败则降级——即使在 ChatGPT 上用户也能获得 Markdown 简历。

---

## 行业 × 职级决策矩阵

以下矩阵合并了角色切换、关注重点和职级策略——确定用户目标行业和职级后，以此为北极星指导所有内容决策。

| 目标行业 | 全级别通用关注重点 | 实习/低年级 | 校招/应届 | 社招/跳槽 |
|----------|-------------------|------------|----------|----------|
| **互联网/科技** | 项目影响力、技术关键词、GitHub、量化产出 | 项目经历碾压；GitHub 是关键证据 | 基础扎实 + 1-2 个深度项目；竞赛加分 | 业务影响力和量化产出；系统设计能力 |
| **金融/银行** | 学历资质、证书（CFA/FRM）、合规性、稳定性 | GPA + 学校 + 相关比赛 | 证书 + 实习 + 行业认知深度 | 交易额/项目规模/客户层级、合规意识 |
| **外企/咨询** | 英文表达、领导力、结构思维、教育含金量 | 国际经历、英语能力、课外领导力 | 咨询实习 + 案例能力 + 行业认知 | 项目规模、客户层级、跨文化协作 |
| **国企/体制内** | 政治面貌、学历层次、专业对口度、证书资质 | 学校层次 + 专业对口 + 学生干部经历 | 学历（硕士优先）+ 专业证书 + 相关实习 | 职称/资质、项目体量、稳定性 |
| **产品/运营** | 数据驱动（DAU/留存/GMV）、从 0 到 1 的经历 | 校内实践、社团活动、自建小产品 | 实习经历、数据思维、从 0 到 1 的案例 | 业务指标、团队管理 |
| **设计/创意** | 作品集链接、审美风格、工具链、项目类型跨度 | 作品集链接放最前面 | 实习经历 + 工具链广度 + 设计方法论 | 主导项目的影响力、设计系统构建能力 |
| **教育/培训** | 学历层次、教学成果数据、资格证书 | 专业对口 + 家教/助教经历 | 教师资格证 + 实习学校 + 公开课经历 | 教学成果量化（提分率/升学率）、课程研发能力 |
| **医疗/医药** | 学历资质、执业证书、临床/科研数据 | 专业排名 + 实验室经历 | 规培/实习医院 + 论文发表 | 临床案例量/手术量、科研项目经费、学术影响力 |
| **法律** | 学历（五院四系优先）、法律职业资格证、实习律所层级 | 模拟法庭 + 法律诊所 + 论文 | 律所实习 + 司法考试 + 业务领域聚焦 | 项目金额/标的额、客户层级、独立办案能力 |
| **建筑/工程** | 注册证书、项目体量、设计/施工管理能力 | 软件技能（CAD/BIM/SketchUp）+ 课程设计 | 设计院/工地实习 + 参与项目规模 | 持证等级、主持项目体量、造价/工期管控 |
| **媒体/新闻** | 作品集、传播数据、选题能力 | 校媒经验 + 个人自媒体 + 剪辑工具 | 媒体实习 + 爆款作品 + 平台运营 | 代表作阅读量/播放量、行业资源、深度报道能力 |
| **娱乐/演艺** | 代表作品、全网影响力数据（播放量/粉丝数/榜单排名）、荣誉奖项、演出经历、社交平台账号 | 作品集链接（B站/网易云/抖音）放头部；翻唱/翻跳/自媒体数据为王；展示多曲风/多风格跨度 | 专业能力证明（院校/师承/比赛成绩）+ 代表作品 + 传播数据；强调科班背景与赛事成绩 | 全网影响力数据、荣誉奖项、演出/巡演规模、商业合作层级、媒体曝光（央视/头部综艺） |
| **零售/电商** | GMV/SKU/转化率等运营数据、平台规则熟悉度 | 校内摆摊/闲鱼/微店等实践 | 电商实习 + 平台工具 + 活动策划 | 店铺GMV体量、团队管理、供应链资源 |
| **游戏** | 项目经历（上线项目 > Demo）、引擎熟练度、品类理解 | 独立作品/Demo + 游戏Jam参与 | 实习项目 + 引擎专精 + 品类分析 | 上线项目数据（DAU/留存/付费）、管线经验 |
| **政府/非营利** | 政治面貌、公文写作、项目申报与管理能力；选调生需标注选调类别；公务员岗标注职务职级 | 学生干部 + 志愿服务 + 入党情况 + 基层服务项目 | 基层实习 + 政策理解 + 组织协调 + 申论/行测成绩（如适用） | 项目管理经验、政策研究能力、跨部门协调 |

**未覆盖行业的通用策略**：
1. 识别行业核心凭证（证书？作品集？项目数据？学历？）
2. 对标最相近的矩阵行（如「保险」→金融、「广告」→设计/创意、「物流」→零售/电商）
3. 向用户确认方向

> 📖 扩展阅读：[`references/industry-matrix.md`](references/industry-matrix.md) — 行业差异化结构、改写倾斜全量列表、作品集链接处理

---

## ATS 兼容性指南（机器筛选关）

超过 75% 的简历在 ATS 关被筛掉。以下规则全模式生效：

### 格式避坑（6 项禁令）
- ❌ 表格/文本框/双栏/多栏 → ✅ 线性流式单栏布局
- ❌ 图片中的文字 → ✅ 纯文本呈现
- ❌ 自定义字体 → ✅ 微软雅黑/宋体/Calibri/Arial
- ❌ 扫描版 PDF → ✅ 文本型 PDF 或 DOCX
- ❌ 页眉/页脚放关键信息 → ✅ 联系方式放正文顶部

### 关键词策略
- **从 JD 反推**：提取目标岗位 JD 中的高频词，确保简历中自然出现
- **全称+缩写双写**：首次出现时写"分布式事务（Distributed Transaction）"
- **技能分组别堆砌**：`Java, Spring Boot, MySQL, Redis` 比散装关键词更易被 ATS 归类
- **不要白色字体藏关键词**：这是作弊

### DOCX vs PDF 投递
| 场景 | 推荐 | 原因 |
|------|------|------|
| 官网/招聘系统 | DOCX | ATS 解析精度最高 |
| 邮件直投/内推 | PDF | 排版稳定 |
| LinkedIn/猎头 | PDF | 预览兼容性 |
| 招聘会/线下 | PDF | 打印可控 |

### 中国 ATS 特别注意
国内主流系统（北森/Beisen、Moka、大易/Dayee）与国外 Greenhouse/Workday 有显著差异——编码、字体、关键词匹配逻辑均不同。详见 [`references/chinese-ats.md`](references/chinese-ats.md)。

> 📖 [`references/ats-guide.md`](references/ats-guide.md) — ATS 工作原理、JD 逆向工程；[`references/chinese-ats.md`](references/chinese-ats.md) — 北森/Moka/大易专项

---

## OCR 图片简历处理（预处理阶段）

Phase 0 遇到图片简历（截图/jpg/png）时，先尝试本地 OCR 提取文字而非直接要求用户粘贴。

### 轻量依赖（推荐前置安装）

```bash
pip install pytesseract Pillow
```

两个包合计约 3MB，纯 Python 无系统级依赖。Tesseract 本体需系统预装（Windows/Mac 可独立安装，Linux `apt install tesseract-ocr`）。

### 中文识别限制

Tesseract 的英语识别（`eng`）开箱即用，但中文（`chi_sim`）需额外语言包：

| 语言包 | 大小 | 说明 |
|--------|------|------|
| `tessdata_fast/chi_sim` | ~2.4 MB | 轻量版，推荐国内环境预下载 |
| `tessdata/chi_sim` | ~16 MB | 完整版，准确率更高 |
| `tessdata_best/chi_sim` | ~39 MB | 最佳版，速度较慢 |

**国内网络注意**：GitHub（`github.com/tesseract-ocr/tessdata`）在国内下载限速严重。建议应用开发者将中文语言包预置在项目中，或通过其他镜像渠道分发。Tesseract 预置目录通常在 `C:\Program Files\Tesseract-OCR\tessdata\`（Windows）或 `/usr/share/tesseract-ocr/4.00/tessdata/`（Linux）。

### 降级路径

1. ✅ OCR 成功（中英文均识别）→ 按文本路由到模式 B/C
2. ⚠️ 英文/数字 OK，中文乱码 → 输出已识别的英文 + 要求补充中文字段
3. ❌ 完全不可用 → 提示用户粘贴原文

### 技术陷阱

- 中文用户名路径下 Python subprocess 调用 Tesseract 可能报 GBK 编码错误，用 `capture_output=True` + `.decode('utf-8','replace')` 规避

---

## 核心工作流

本 Skill 提供五种模式：
- **模式 A**：从零生成简历
- **模式 B**：评审已有简历（行业基准评分）
- **模式 C**：增量修改已有简历
- **模式 D**：JD 匹配度扫描（对标目标岗位 JD 的命中率分析）
- **模式 E**：面试预测与 Q&A 生成（基于简历内容预测面试官高频追问，生成可交互 HTML 练习题）

---

### Phase 0：信息预扫描（每次必须先做，不问问题）

在向用户提任何问题之前，**必须**完成以下扫描（1-4 项并行执行，各路径独立容错）：

1. **Memory 系统**：读取用户 memory。静默跳过失败。
2. **本地文件搜索**：用 Glob/Grep 搜索简历相关文件（`*简历*`, `*resume*`, `*CV*`, `*projects*`, `*outputs*`；类型：md/docx/pdf/txt/json）。截断策略：超 15 个文件取最近 10 个。图片 PDF 检测：优先尝试本地 OCR（pytesseract + Pillow + Tesseract，需 Tesseract 已安装）提取文字；英文/数字成功但中文乱码时，输出已提取内容 + 要求补充中文字段；完全失败则提示用户粘贴原文。
3. **GitHub 公开资料**：如果有用户名，拉取仓库列表和 README。静默跳过失败。
4. **本地依赖清单**：搜索 `package.json` / `requirements.txt` 等提取技术栈关键词；搜索 `SKILL.md` 发现自制工具项目。
5. **整理为「已知信息清单」**，含预扫描结果 + 冲突标注（按 C3 规则），向用户确认后进入 Phase 1。
6. **全空对策**：所有来源均为空时，不展示空清单，直接进入 Step 1。
7. **空目录快速判定**：检测到当前目录为空且用户未提供简历文本时，跳过本地文件/GitHub/依赖清单扫描，直接进入 Step 1。
8. **粘贴文本检测**：用户首条消息直接粘贴简历原文（≥100 字），视为已提供文件，跳过文件搜索，按内容路由到模式 B 或 C。

---

## 模式 A：从零生成简历

### Step 1：确定方向
一次性确认：**目标岗位与行业** / **语言**（中文/英文/双语）/ **页数**（默认实习/校招一页，社招可两页）。

**压缩信息块自动解析**：用户用极简关键词堆叠提供信息时，先自然语言解析提取所有可识别字段，展示提取结果表格，标注已确认/待补充。

**最小必要信息**：必须项 = 姓名 + 联系方式 + 目标岗位。缺失时生成「骨架简历」标注 `[待补充]`，不要反复追问。

### Step 2：分维度收集信息

**每次聚焦 1 个维度**，等用户回复再继续。已有充足信息时自动跳过。

用户跳过/否定规则：序号跳过 → 立即标记跳过；明确否定 → 直接进入下一维度；选择性回答 → 未答部分视为跳过。跨维度一次性回复 → 全量提取后跳过已填维度。

**进度可视化**：每轮提问前展示 `📋 已确认：姓名 ✓ | 电话 ✓ | 岗位 ✓ | 教育 ✗` 汇总 + `👉 本轮聚焦：[维度]`

| 序号 | 维度 | 收集内容 | 自动跳过条件 |
|------|------|----------|-------------|
| 1 | 基本信息 | 姓名 / 电话 / 邮箱 / 城市 / GitHub / LinkedIn / 作品集链接 | — |
| 2 | 教育背景 | 学校 / 专业 / 学历 + 起止年份 / GPA / 核心课程。极简自适应：信息 ≤5 字段时不追问年份和 GPA | — |
| 2a | 核心课程策略 | 技术岗实习/校招写 4-6 门强相关课程；非技术岗不写；社招/≥2 年经验不写 | **社招或 ≥2 年经验自动跳过；信息已填 ≤4 维度时自动跳过** |
| 3 | 求职意向 | 岗位名称 / 行业 / 工作模式 | Step 1 已明确则跳过 |
| 4 | 项目经历 | 逐个确认，先列出已知再问遗漏 | — |
| 5 | 工作/实习 | 公司名 / 岗位 / 时间段 / 主要产出 | — |
| 6 | 竞赛/证书 | 比赛名称 + 奖项 / 语言成绩 / 专业证书 | 信息 ≤4 维度时自动跳过 |
| 7 | 作品/博客 | GitHub / 个人网站 / 技术博客 / 设计作品集 | — |
| 8 | 到岗时间 | 是否需要在简历上展示 | **信息 ≤5 维度时自动跳过；仅在用户主动提及时展示** |

**行业感知信息收集**：各维度内容按行业自适应——
- **联系方式字段行业自适应**（维度 1）：技术行业追问 GitHub/LinkedIn；娱乐/演艺行业追问微博/流媒体/短视频平台；设计行业追问作品集平台（站酷/Behance/Dribbble）。
- **娱乐/演艺行业维度替换**：维度 4「项目经历」→「演出/项目经历」；维度 6「竞赛/证书」→「荣誉奖项/证书」；维度 7「作品/博客」→「代表作品/作品集」。

### Step 3：设计结构

根据行业 × 职级矩阵确定模块布局。技术岗默认：头部 → 教育 → 项目经历（60-70%） → 技能概要 → 工作/实习 → 竞赛/证书。非技术岗将工作经历提前；产品/设计岗作品集放头部。

**行业差异化结构**：设计/创意、金融/银行、法律、教育/培训、娱乐/演艺 5 行有特殊结构（详见 [`references/industry-matrix.md`](references/industry-matrix.md)）。

**项目详略**：核心项目 4-5 bullet，次要 2 bullet，无关不写。单项目扩展至 5-6 bullet 从不同切面展开。

向用户展示结构设计，获得确认后再进入 Step 4。

### Step 4：项目描述重写

个人实践叙事对照表：

| 原来 | 改为 |
|------|------|
| "负责 XX 模块开发" | "基于 YY 技术，独立完成 XX 模块，解决 ZZ 问题" |
| 功能罗列（A、B、C…） | 架构式描述：整体结构 → 各模块职责 → 协作链路 |
| 无数据 | 补充量化结果（向用户确认后加入） |
| 被动语态 | "设计/实现/优化/构建/重构"开头 |
| 技术栈堆砌 | 融入叙事上下文中自然出现 |

**行业适应的改写倾斜**：15 个行业各有侧重——技术岗强调架构决策，金融岗强调合规与精确数字，设计岗强调 AI 工作流，娱乐/演艺岗强调全网影响力数据与代表作品……（详见 [`references/industry-matrix.md`](references/industry-matrix.md) 改写倾斜全表）

### Step 4a：英文简历专项规则

仅当用户选择英文或双语时执行。核心差异：STAR 框架、动词时态区分（当前职位现在时/过往经历过去时）、严格一页、LinkedIn 必填、省略"I"/"My"。动作动词库和常见错误见 [`references/rewrite-rules.md`](references/rewrite-rules.md)。

### Step 5：生成（多格式输出）

生成前根据经验值预估页数并告知用户。默认输出 DOCX；用户明确要求其他格式或 DOCX 生成失败时切换。**格式选择分支**：

| 格式 | 适用场景 | 生成方式 | 核心规范 |
|------|---------|---------|---------|
| **DOCX**（默认） | ATS 投递 / 官网招聘系统 | docx-js（Node.js） | A4 / 0.6" 页边距 / 微软雅黑+Arial（`font: { ascii: "Arial", eastAsia: "微软雅黑" }`）/ 姓名 16pt · 标题 11pt · 正文 9pt / 颜色 #333333/#1A1A1A/#666666/#2B579A / 章节标题下方 1px 分隔线。强制 API：`numbering config` + `format: "bullet"`（v8）或 `LevelFormat.BULLET`（v9+）；所有 TextRun 显式设 font；超链接用 ExternalHyperlink 包裹 |
| **HTML** | 网页预览 / 打印 / 在线分享 | 单文件自包含（CSS 内联） | 线性单栏布局 / `@media print` 适配 / 响应式 / 与 DOCX 同色系同字号层级 |
| **LaTeX** | 学术 / 精确排版 / 期刊投稿 | xelatex + xeCJK | 中文字体配置 / 标点避坑 / 自定义命令（\name \sectionline 等） |
| **Markdown** | 零依赖保底 / 复制到 Word | 纯文本 + Markdown 语法 | 格式精美，复制到 Word 即可用 |

> 📖 [`references/docx-spec.md`](references/docx-spec.md) — DOCX/HTML/LaTeX 完整排版参数、bullet 版本检测代码、高发坑点、验证清单

### Step 6：验证

1. python-docx 提取文本，逐段核对
2. 确认所有段落 font 非空
3. 确认 ExternalHyperlink 存在于 XML
4. 确认篇幅在目标页数内

Python 不可用时用 JSZip 回退。Windows GBK 编码坑：验证脚本首行设 `sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')`。图片 OCR 额外注意：用户目录含中文时 Python subprocess 解码可能报 `UnicodeEncodeError`，需用 `capture_output=True` + `.decode('utf-8','replace')` 处理 Tesseract 的 stdout/stderr。

**内容质量自检**（全格式适用，生成后必跑 6 项）：

| 检查项 | 触发条件 | 处理 |
|--------|---------|------|
| 联系方式完整性 | 缺电话/邮箱/GitHub（技术岗）/作品集（设计岗） | 标注 `[待补充]` 并提示用户 |
| 荣誉奖项为空 | 娱乐/演艺/教育/医疗行业荣誉区为空 | 提示用户补充，不强制 |
| 代表作品为空 | 娱乐/演艺/媒体/设计行业作品区为空 | 提示用户补充，不强制 |
| 量化数据覆盖 | 项目 bullet 中无任何数字（非设计/法律行业） | 标注并建议向用户确认后补 |
| 量化数据一致性 | 同一项目内数字矛盾（如 QPS 提升 300% 但总量下降） | 标注冲突，请用户核对 |
| 硬性成就遗漏 | 社招简历无业务影响力数据 / 校招无项目产出 | 提示按职级补齐 |

### Step 7：生成失败回退

回退链：`docx-js → python-docx → HTML → LaTeX → Markdown`

1. 诊断修复后重试（最常见：`npm install docx`）
2. python-docx 回退生成
3. HTML 自包含文件回退
4. LaTeX 回退（xelatex + xeCJK）
5. **最终保底**：输出格式精美的 Markdown 版本——无需任何依赖即可获得可用简历

每次回退时告知用户当前层级及局限性。

---

## 模式 B：评审已有简历

### Step 1：深度提取
用 python-docx 提取全文文本+排版参数。读取失败 → 提示用户粘贴原文或切换到模式 A。

### Step 2：多维度评分

四维评分框架（满分 100）：内容质量(40) + 排版可读性(25) + 关键词覆盖(20) + 差异化定位(15)。15 个行业各有独立权重映射。分数段锚点（90-100/75-89/60-74/40-59/<40）保证评分一致性。

**五维评分变体（娱乐/演艺/媒体行业专用）**：内容质量(30) + 排版可读性(20) + 影响力数据(20) + 关键词覆盖(10) + 差异化定位(20)。传播影响力是这些行业的核心能力信号，单列为独立维度。详见 [`references/scoring-system.md`](references/scoring-system.md)。

**评分后追加同岗位基准对比**：

```
📊 同岗位对比：您的得分 65 | 同岗位中位数 58 | 前 25% 门槛 68
→ 您处于中上水平（高于中位数 7 分），距前 25% 还差 3 分。
```

默认基准值按行业×职级查表（详见 [`references/scoring-system.md`](references/scoring-system.md)）。

**评分前校准**：评分前应先速读 [`references/scoring-golden-tests.md`](references/scoring-golden-tests.md) 中与目标行业/职级最接近的 2-3 个 Golden Test 用例，建立分数段基准感，保证评分一致性。可通过 Web 搜索获取当前市场的竞争基准和热门关键词。

> 📖 [`references/scoring-system.md`](references/scoring-system.md) — 权重映射全表、分数锚点、基准对比默认值、反馈格式模板、评分前校准流程
> 📖 [`references/scoring-golden-tests.md`](references/scoring-golden-tests.md) — 75 份金标准简历 + 专家评分明细，15 行业全覆盖 × 5 分数段，含 Web 搜索增强校准

### Step 3：分级反馈

🔴 必须改：事实错误、关键信息缺失、排版硬伤、页数超标
🟡 建议改：描述冗长、缺量化数据、页面临界溢出

**页数评估**：评分表下方输出（✓/⚠️/🔴 三档）。

每条反馈遵循四列模板（原文 / 问题 / 建议替换 / 替换理由），必须填满四列。

### Step 4：总结亮点
列出 3-5 条面试官想追问的信号。经历平庸则不强行夸，直接告知优化方向。

### Step 5：过渡到模式 C
主动询问是否逐条修改。用户选择修改 → 切换模式 C。

---

## 模式 C：增量修改已有简历

### 模式边界判断

| 用户表述 | 路由 |
|----------|------|
| "帮我看一下这份简历整体怎么样" | 模式 B |
| "帮我把这段经历改一下" | 模式 C |
| "感觉项目经历太弱了，怎么办" | 先 B 后 C |

模糊意图默认走 B（先诊断再修改）。

### Step C1：定位修改目标
精准定位修改范围（段落/章节/全局/模糊）。定位模糊时先确认再动手。

### Step C2：执行修改

| 修改类型 | 策略 |
|----------|------|
| 新增内容 | 按模式 A 重写标准处理，保持风格一致 |
| 优化描述 | 复用重写对照表，不推翻原结构 |
| 删除/缩减 | 确认不损失关键信息后执行 |
| 结构调整 | 根据决策矩阵判断合理性 |
| 格式调整 | 直接修改 docx 参数 |

### Step C3：输出方式
- DOCX 修改：python-docx 增量编辑（优先保留原有格式）
- 纯文本修改：直接给出改写文案
- 较大改动：先展示 diff 预览再写入

**🚫 禁止重跑生成脚本覆盖手动修改**：模式 C 中绝不要运行生成脚本——这会导致用户所有手动 Word 编辑丢失。唯一例外：用户明确要求重跑，且执行前必须确认。

### 用户满意后的「保护模式」
用户表示满意后自动进入保护模式：禁止全量重生成；每次修改前说明影响范围；除非用户明确要求"重新生成一份"。

### Step C4：修改后一致性检查
自动检查 4 项：求职意向同步 / 技术栈一致性 / 时态统一 / Bullet 密度平衡。

### Step C5：修改记录
同一份简历连续修改 ≥3 次时，记录摘要帮助追踪演变。

---

## 模式 D：JD 匹配度扫描

### 设计动机

HR 真实筛选流程中，简历是"对标 JD"评估而非"对标行业"评估——同一份简历投不同 JD 应有不同匹配度。模式 B 的行业基准评分回答"在竞争池中的位置"，模式 D 回答"针对这个具体岗位的命中率"。两者互补。

### 模式边界判断

| 用户表述 | 路由 |
|----------|------|
| "帮我看一下这份简历整体怎么样" | 模式 B（行业基准评分） |
| "看看这份简历和这个 JD 匹配度" | 模式 D |
| "这个岗位我能投吗" + JD 文本 | 模式 D |
| "这份简历投字节行不行" + JD 链接 | 模式 D |
| "帮我改简历投这个岗位" | 模式 D 后接模式 C |

### Step 1：JD 深度解析

用户提供 JD 文本或链接后，按三层信息提取：

1. **硬性要求（Must-have）**：学历 / 年限 / 必备证书 / 必备技术栈 → 缺失任一项触发 🚩 红旗
2. **加分项（Nice-to-have）**：JD 中"优先"/"加分"/"了解"开头的技能 → 计入加分覆盖维度
3. **隐性要求（Implicit）**：JD 中高频出现的行业关键词（如"高并发"/"合规"/"用户增长"） → 通过词频推断

**经验区间解析**：按 `3-5 年` / `3 年以上` / `应届` / `资深` 模式提取下限和上限，落在区间内 = 满分，低于下限按差距扣分，高于上限不扣分（视为资历溢出）。实习按 0.5 倍折算。

**能力等级映射**：`了解` < `熟悉`/`掌握` < `精通`/`专家`。简历等级 ≥ JD 等级 = 命中；简历等级 < JD 等级 = 部分命中（按等级差扣 50% 权重）。

**关键词归一化**：JS→JavaScript、K8s→Kubernetes、pg→PostgreSQL 等同义词归一后再匹配，避免漏判。

### Step 2：简历要素提取

复用模式 B Step 1 已提取的简历文本，无需重复扫描：
1. 技能清单（"技能概要"章节 + 项目中嵌入的技术栈）
2. 项目经历（每个项目的核心技术 + 量化产出）
3. 工作年限（按 Step 1 规则累加）
4. 学历证书
5. 行业背景

所有提取出的关键词按 Step 1.4 归一化表处理，确保和 JD 同口径。

### Step 3：五维匹配度计算

| 维度 | 默认权重 | 考察点 |
|------|---------|--------|
| 硬性门槛 | 30 | 必备项命中数 / 必备项总数；任一缺失触发 🚩 红旗 |
| 关键词覆盖 | 25 | 命中关键词数 / JD 关键词总数（含硬性 + 加分项） |
| 经验匹配 | 20 | 简历经验值是否落在 JD 区间 |
| 资质匹配 | 15 | 学历层次 + 必备证书 + 行业背景命中情况 |
| 加分项覆盖 | 10 | 加分项命中数 / 加分项总数 |

**行业 × 权重映射**：15 个行业各有独立权重（如互联网/科技关键词升至 30、金融/法律资质升至 25、设计/外企加分项升至 25-30）。详见 [`references/jd-matching.md`](references/jd-matching.md) 行业权重映射表。

**红旗扣分**：每触发 1 项硬性门槛红旗，总分扣 10 分（最低降至 0）。红旗为"一票否决提示"，但保留具体分值让用户判断补救空间。

**分数段含义**：85-100 高匹配可投 / 70-84 中上小修后投 / 55-69 中等需改写 / 40-54 低匹配评估值不值得 / <40 不建议投。

### Step 4：红旗检测

必查红旗清单：

| 红旗类型 | 触发条件 | HR 后果 |
|----------|----------|---------|
| 学历不达标 | 简历学历 < JD 要求 | 系统直接淘汰 |
| 经验不足 | 简历经验 < JD 下限 | 系统直接淘汰 |
| 必备证书缺失 | JD 要求 CPA / 司考 / 执业医师，简历无 | 直接淘汰 |
| 必备技术栈缺失 | JD "精通 Kafka"，简历完全无提及 | ATS 关键词过滤淘汰 |
| 时间线冲突 | 简历内部时间重叠或空档异常 | HR 怀疑造假 |

**软红旗**（不扣分但提示）：经验溢出严重 / 关键词堆砌嫌疑 / 频繁跳槽。

### Step 5：优化建议生成

针对缺失项按优先级建议补齐方式（**严禁虚构**，受 C1 约束）：

| 缺失类型 | 建议策略 |
|----------|----------|
| 真实使用过但未写 | "项目 X 中使用过 Redis，建议补充应用场景和量化数据" |
| 相关但未直接使用 | "您的 MySQL 经验可迁移，建议补充'了解 Redis 缓存策略'" |
| 完全无经验 | "建议在技能区标注'学习中'或不写——虚构会在面试穿帮" |
| 软技能缺失 | "JD 要求'跨团队协作'，您的项目 Y 可补充协作维度的描述" |

**经验不足补偿**：差 0.5-1 年 → 项目深度展开 + 量化产出；差 1-2 年 → 主导项目 + 技术深度 + 开源贡献；差 2 年以上 → 建议先积累或降级岗位投递。

### Step 6：输出报告

标准报告包含六部分：总匹配度 / 五维得分 / 红旗清单 / 关键词清单（命中/部分命中/缺失）/ 经验匹配 / 资质匹配 / 加分项覆盖 / 优化建议（按优先级）/ 竞争水位估计。

**极简模式**：用户希望快速查看时，输出 3 行精简版（总匹配度 + 红旗 + 三步优化）。

**无 JD 输入时**：引导用户提供 JD 文本 / 链接 / 公司+岗位名称（用于搜索典型 JD）。

### Step 7：与其他模式联动

- **模式 A → D**：Step 1 用户已提供目标 JD 时自动应用 JD 关键词——收集中主动追问 JD 中缺失但用户可能有的经历；项目重写时优先展开 JD 关键词相关项目；生成后追加简版匹配度报告
- **模式 B → D**：模式 B 完成行业基准评分后若用户提供 JD，追加模式 D 报告（不重复评分）
- **模式 D → C**：完成匹配度分析后主动询问是否进入模式 C 逐条优化，按"红旗 → 缺失关键词 → 加分项"优先级排序修改，每次修改后重新计算匹配度

> 📖 [`references/jd-matching.md`](references/jd-matching.md) — JD 解析规则、能力等级映射全表、行业权重映射、关键词归一化表、优化建议模板、报告格式示例

---

## 模式 E：面试预测与 Q&A 生成

### 设计动机

简历通过筛选只是第一步——面试官会针对简历内容做 3-4 层深度追问。许多候选人简历漂亮但面试翻车，根本原因是简历内容超出自己理解深度、缺乏面试预期管理、行业热点脱节。模式 E 在简历投递前预测面试官的高频追问，让候选人提前准备。受 C1 不虚构原则约束——目的是帮候选人准备真实经历的表达，不是教他编造答案。

### 模式边界判断

| 用户表述 | 路由 |
|----------|------|
| "这份简历面试会问什么" | 模式 E |
| "帮我准备面试" / "预测面试题" | 模式 E |
| "面试官会怎么追问这个项目" | 模式 E |
| "投了但怕面试翻车" | 模式 E |
| 模式 B 完成后问"面试会问什么" | 模式 E（复用已提取简历） |
| 模式 D 完成后问"这个岗位面试难吗" | 模式 E（叠加 JD 信号） |

### Step 1：简历信号提取

复用模式 B Step 1 已提取的简历文本，无需重复扫描。提取 6 类信号：项目深挖信号 / 技能等级信号 / 时间线信号 / 量化数据信号 / 职业轨迹信号 / 差异化信号。每个信号按强度分级（🔴 高 / 🟡 中 / 🟢 低），强度越高越可能被追问。

### Step 2：面试问题预测分类

按 6 大类生成预测问题：

| 类别 | 生成逻辑 | 典型问题示例 |
|------|---------|------------|
| 技术深度追问 | 针对每个项目的核心技术，生成 3-4 层深度追问（基础验证→实现细节→架构决策→极限场景） | 「QPS 提升的具体手段是什么？」「如果涨到 5000 你的架构瓶颈在哪？」 |
| 量化数据追问 | 针对每个量化数字，追问数据来源和计算方法 | 「30% 提升的基准是什么？多少归因于你的工作？」 |
| 行为面试问题 | 针对跳槽/晋升/转行轨迹，生成 STAR 框架行为问题 | 「请描述一次和上级意见不一致的经历」 |
| 行业认知问题 | 基于行业矩阵和当前热点，生成行业趋势问题 | 「你怎么看 LLM 对后端架构的影响？」 |
| 弱势因素追问 | 如检测到空窗期/双非/大龄，生成针对性追问 + 应对建议（引用 low-info-strategies.md 话术模板） | 「2024.03-2024.09 这段时间在做什么？」 |
| 反向提问准备 | 基于简历内容生成建议的反向提问 | 「贵团队的技术栈演进方向是什么？」 |

### Step 3：Web 搜索增强（如可用）

WebSearch 工具可用时，执行 5 类搜索增强预测准确性：

| 搜索目的 | Query 模板 |
|---------|-----------|
| 目标公司面经 | `"{公司名} {岗位} 面经 {当前年份}"` |
| 岗位通用面试题 | `"{岗位} 面试题 高频 {当前年份}"` |
| 技术热点 | `"{核心技术} 面试深度问题 {当前年份}"` |
| 行业趋势 | `"{行业} 技术趋势 {当前年份}"` |
| JD 对标 | `"{公司名} {岗位} JD 要求 {当前年份}"` |

搜索结果去重、分类、标注可信度（多源验证=高频，单源=参考）。WebSearch 不可用时，依赖 Step 2 的信号提取 + 内置通用面试题库回退（详见 references）。

### Step 4：生成可交互 HTML Q&A

将预测问题生成为**单个自包含 HTML 文件**，用户可在浏览器打开交互练习。

**核心规范**：
- 单文件自包含——所有 CSS/JS 内联，无外部依赖，可离线使用
- 移动端适配——支持手机浏览（求职者常在通勤时复习）
- 交互功能：折叠/展开答案、标记掌握程度（已掌握/需复习/未学习）、搜索过滤、分类筛选、强度筛选、进度统计、localStorage 本地存储、导出 Markdown
- 视觉规范：配色与简历 docx 一致（#333333/#1A1A1A/#666666/#2B579A），问题强度配色 🔴#E74C3C/🟡#F39C12/🟢#27AE60

**答案区设计**（每题包含三部分）：
- 💡 建议回答方向：给出回答框架（结论→论据→数据），**不生成完整标准答案**——避免候选人背诵模板化回答
- 📝 简历相关内容：引用候选人简历原文，让回答与真实经历挂钩
- ⚠️ 避免陷阱：标注该题的常见翻车点（如"不要说没深入了解"、"不要编造数据"）

**文件命名**：`面试预测_{岗位}_{公司}_{日期}.html`，默认保存 `outputs/`，生成后自动在浏览器打开。

### Step 5：输出报告

控制台输出摘要（问题分布统计 + 高风险预警 + 文件路径），HTML 文件按规范生成。极简模式输出 3 行（总题数 + 高风险 + 文件路径）。

### Step 6：高风险预警

模式 E 主动检测并预警以下"面试翻车风险"：

| 风险类型 | 检测信号 | 预警建议 |
|---------|---------|---------|
| 简历超出理解深度 | 简历写"精通 XX"但项目仅 1 次使用 | 建议改为"熟悉"或补充项目深度（切换模式 C） |
| 量化数据无法解释 | 数字过于精确但无方法论支撑 | 准备数据来源说明话术 |
| 弱势因素未处理 | 空窗期/双非/大龄信号明显 | 引用对应面试话术模板准备 |
| 技术栈与行业热点脱节 | 简历技术栈陈旧 | 补充主流技术项目或调整投递方向 |

### Step 7：与其他模式联动

- **模式 B → E**：复用已提取简历文本；模式 B"总结亮点"→模式 E 差异化信号；模式 B"必须改"→模式 E 高风险预警
- **模式 D → E**：基于 JD 硬性要求补充面试题；模式 D 红旗→模式 E 高风险追问；模式 D 竞争水位→面试难度预期
- **模式 A → E**：生成简历后评估"会不会面试翻车"；如 Skill 自动补充的技术词超出用户理解，高亮预警
- **模式 E → C**：发现简历"面试高风险"项时，主动建议修改简历（如"精通"改"熟悉"、空窗期补充说明）

> 📖 [`references/interview-prediction.md`](references/interview-prediction.md) — 信号提取规则、6 类问题生成逻辑、Web 搜索策略、HTML 模板结构、联动规则、伦理约束

---

## 模式切换规则

| 当前状态 | 用户意图 | 处理方式 |
|----------|----------|----------|
| 模式 A 收集中 | 切换到 B | 保留已收集信息，用已有信息生成评审基线 |
| 模式 A 收集中 | 切换到 C | 保留信息，缺失用 `[待补充]` 占位 |
| 模式 A 生成中途 | 切换到 B | 有 docx 直接评审，否则用结构设计做轻量评审 |
| 模式 A 收集中/生成后 | 切换到 D | 用户提供 JD 即触发；用已收集信息或已生成 docx 做匹配度扫描 |
| 模式 B 完成 | 进入 C | 已定义（模式 B Step 5） |
| 模式 B 完成 | 切换到 A | 评审问题清单作为新简历优化目标 |
| 模式 B 完成 | 切换到 D | 用户提供 JD 即追加模式 D 报告，不重复评分 |
| 模式 C 中 | 切换到 B | 用修改后文件全量评审 |
| 模式 C 中 | 切换到 A | 保留已修改内容作为素材 |
| 模式 C 中 | 切换到 D | 用当前修改后版本做匹配度扫描，比较修改前后匹配度变化 |
| 模式 D 完成 | 进入 C | 已定义（模式 D Step 7）——按"红旗 → 缺失关键词 → 加分项"优先级修改 |
| 模式 D 完成 | 切换到 A | 缺口过大时不投递，转而基于 JD 反向生成新简历 |
| 模式 A 生成后 | 切换到 E | 用已生成简历预测面试追问，评估"会不会面试翻车" |
| 模式 B 完成 | 切换到 E | 复用已提取简历文本；亮点→差异化信号；必须改→高风险预警 |
| 模式 D 完成 | 切换到 E | 叠加 JD 信号补充面试题；红旗→高风险追问；竞争水位→难度预期 |
| 模式 E 完成 | 切换到 C | 发现"面试高风险"项（精通但无深度/空窗未处理等）时建议修改简历 |
| 任意模式 | 放弃 | 保存已有产出，退出 |

---

## 约束规则

以下规则跨模式、全场景生效：

### 流程约束
- **F1. 先扫描再说话**：Phase 0 强制，不能跳过
- **F2. 逐维度提问（可自动加速）**：每次聚焦 1 维度；用户想快速推进时切换批量模式——剩余维度合并一次抛出
- **F3. 先确认再动手**：结构设计（Step 3）必须获得用户确认

### 信息与内容约束
- **C1. 不虚构**：所有项目和技术细节必须来自用户或可验证的公开数据。虚构经历在面试 3-4 层深度追问下必然穿帮。替代方案：深度展开 / 明确拒绝编造请求 / 模板化占位 / 提醒可能遗忘的真实经历。详见 [`references/privacy-ethics.md`](references/privacy-ethics.md)
- **C2. 隐私保护**：自动过滤身份证号、完整住址、出生日期、银行账户/薪资、婚姻/宗教/政治面貌（除国企明确要求外）、照片（除地区习惯要求外）。以上规则参考《个人信息保护法》(PIPL) 第六条和 GDPR Article 5(1)(c) 的"数据最小化"原则。详见 [`references/privacy-ethics.md`](references/privacy-ethics.md)
- **C3. 信息源优先级**：用户最新口述 > 本地文件 > GitHub > Memory。冲突项以 ⚠️ 标注

### 技术约束
- **T1. 多格式输出规范**：DOCX 遵循 docx 规范（所有 TextRun 显式设 font 中英分离；Bullet 只用 numbering config；超链接用 ExternalHyperlink；GitHub/网站/作品集链接优先嵌入标题行）；HTML 单文件自包含（CSS 内联、线性单栏、`@media print` 适配）；LaTeX 用 xelatex+xeCJK（中文字体配置、标点避坑）；Markdown 零依赖保底。详见 [`references/docx-spec.md`](references/docx-spec.md)

---

## 极简用户输入应对策略

**触发条件**：全维度已填 ≤4 个时启用。

- 精简提问维度（跳过竞赛/证书/到岗时间/核心课程）
- 一次问完剩余所有维度
- 连续两个维度说"没有" → 跳过剩余非必要维度

**深度展开**：一个项目 → 4-6 条 bullet（工作流/工具链/量化/风格/效率/软技能 6 个切面）。

**技能概要补偿** + **排版补偿**（更大头部间距、稍大 bullet 间距、留白不填充）。

> 📖 [`references/low-info-strategies.md`](references/low-info-strategies.md) — 深度展开示例、技能补偿、排版补偿、兼职归类、空窗期/双非/大龄弱势群体专项策略

---

## 低年级/转行候选人的特殊策略

- 用项目经历碾压（完整项目 > 绩点）
- 不要隐藏 AI 工具辅助——强调方法论而非单次结果
- 竞赛和证书靠后放
- "持续维护的项目"+"跨领域技能组合"是正面信号

---

## 弱势群体专项策略（自动检测触发）

以下三类候选人在简历初筛阶段面临客观门槛，需差异化策略。Skill 在模式 A/B/C 中**自动检测触发条件**并应用对应策略，无需用户主动声明。

### 触发条件与策略概览

| 候选人类型 | 检测信号 | 核心策略 |
|-----------|---------|---------|
| **空窗期** | 工作经历时间线中连续空档 ≥3 个月 | 不隐藏空窗，主动解释或转化为项目经历；空窗类型决定 HR 接受度 |
| **双非背景** | 院校非 985/211/双一流 | 教育置后、项目前置；用 GitHub/开源/竞赛/证书等硬证据补足学历 |
| **大龄求职者** | 年龄 ≥35（互联网）或 ≥40（金融/外企） | 合并早期经历；突出管理经验与近期产出；弱化年龄信号 |

### 策略要点

- **空窗期**：HR 接受度排序为「技能提升 > 健康/家庭 > 自主项目 > 旅行 > 无解释」。最优解是把空窗转化为项目经历（如"2024.03-2024.08 独立开发并开源 XX 项目"）。简历生成后主动输出面试话术建议。
- **双非背景**：结构调整是关键——把项目经历提前，教育置后，让 HR 先看到能力再看学历。同步输出投递策略建议（内推 > 猎头 > 官网）。
- **大龄求职者**：合并 10 年前经历为"早期工作经历摘要"，聚焦近 5 年高价值产出，突出团队管理和业务影响力。主动输出心理建设提示。

### 模式联动

- **模式 A**：Step 2 收集信息时检测到上述特征 → Step 3 结构设计自动应用调整 → Step 4 重写时应用对应策略
- **模式 B**：Step 1 深度提取时检测时间线空档/院校层次/经验年限 → Step 3 分级反馈中追加专项优化建议
- **模式 C**：修改时如涉及相关字段，自动检查是否符合弱势群体策略
- **模式 D**：JD 匹配度扫描时，如检测到学历/经验/年龄硬门槛与候选人弱势因素叠加，红旗提示升级

> 📖 [`references/low-info-strategies.md`](references/low-info-strategies.md) — 空窗期/双非/大龄三大弱势群体完整策略：检测规则、简历写法对照表、面试应对预案、投递策略联动

---

## 常见问题 FAQ

### Q1：SKILL.md 装了但没触发？
不同平台安装路径不同：Claude Code 放项目根目录，Cursor 改为 `.cursorrules`，Copilot 改为 `.github/copilot-instructions.md`。明确说"帮我做一份简历"通常能触发。

### Q2：docx 生成失败？
四层回退：npm install docx 重试 → python-docx → HTML/LaTeX → Markdown 保底。直接说"输出 Markdown 版本"可跳过自动重试。

### Q3：非 Claude Code 平台能用吗？
核心策略通用。但本地扫描、GitHub 拉取、docx 生成仅 Claude Code 支持。其他平台用 Markdown 保底。

### Q4：怎么添加新行业？
告诉 AI 目标行业即自动走通用策略推导。贡献到矩阵见 [CONTRIBUTING.md](CONTRIBUTING.md)。

### Q5：简历可以编造吗？
**不可以。** 详见约束规则 C1。

### Q6：技能区和项目区关键词不匹配？
模式 C 自动检查一致性。说"只改这一段，不检查一致性"可跳过。

### Q7：英文简历核心差异？
STAR 框架、严格一页、LinkedIn 必填、省略"I"。详见 [`references/rewrite-rules.md`](references/rewrite-rules.md)。

### Q8：模式 B（行业基准评分）和模式 D（JD 匹配度扫描）有什么区别？
- 模式 B 回答"在竞争池中的位置"——按行业基准评分，无需 JD
- 模式 D 回答"针对这个具体岗位的命中率"——必须提供 JD，按 JD 关键词、经验区间、必备资质计算匹配度
- 两者互补：可先用 B 看整体水平，再用 D 看具体岗位命中率。详见 [`references/jd-matching.md`](references/jd-matching.md) 设计动机章节。

### Q9：JD 匹配度扫描会建议我编造经历吗？

**不会。** 模式 D 受 C1 不虚构原则约束——优化建议只引导用户挖掘真实经历或可迁移技能，对完全无经验的关键词会明确建议"不写"或"标注学习中"。详见 [`references/jd-matching.md`](references/jd-matching.md) Step 5。

### Q10：模式 E（面试预测）会教我背标准答案吗？

**不会。** 模式 E 的答案区只给「建议回答方向」（回答框架：结论→论据→数据），不生成完整标准答案——背答案会导致面试回答千篇一律且与真实经历脱节。每题附带「简历相关内容」引用你的原文，让回答与真实经历挂钩。详见 [`references/interview-prediction.md`](references/interview-prediction.md) Step 4。

### Q11：模式 E 的 HTML 文件需要联网才能用吗？

**不需要。** 生成的 HTML 是单文件自包含——所有 CSS/JS 内联，可离线使用。移动端适配，支持手机浏览（通勤复习友好）。交互功能（折叠展开/标记掌握度/搜索过滤）基于 localStorage 本地存储，不依赖服务器。Web 搜索增强仅在生成阶段使用，生成后离线可用。

### Q12：我是空窗期/双非/大龄求职者，Skill 会怎么帮我？

Skill 在模式 A/B/C 中**自动检测**这三类弱势因素并应用差异化策略，无需你主动声明：
- **空窗期**：不隐藏空窗，主动转化为项目经历或给出解释话术；面试话术建议自动输出
- **双非背景**：结构调整（项目前置、教育置后）+ 投递策略建议（内推 > 猎头 > 官网）
- **大龄求职者**：合并早期经历 + 突出管理经验 + 弱化年龄信号 + 转型路径建议

模式 E 会针对弱势因素生成追问及应对建议。详见 [`references/low-info-strategies.md`](references/low-info-strategies.md)。

---

## Skill 协同能力

| 扫描项 | 覆盖范围 |
|--------|----------|
| 本地文件搜索 | 所有平台 |
| 本地依赖清单 | 所有平台 |
| Memory 系统 | Claude Code 增强 |
| GitHub MCP | Claude Code 增强 |
| 本地 Skill 项目发现 | Claude Code 增强 |

非 Claude Code 平台：通过用户口述获取等价信息。

---

## references/ 索引

| 文件 | 内容 |
|------|------|
| [`industry-matrix.md`](references/industry-matrix.md) | 行业×职级全量策略、差异化结构、改写倾斜全表、作品集链接处理 |
| [`scoring-system.md`](references/scoring-system.md) | 评分权重映射、分数锚点、**同岗位基准对比**、**五维评分（娱乐/演艺/媒体）**、反馈格式、评分前校准流程 |
| [`scoring-golden-tests.md`](references/scoring-golden-tests.md) | **评分金标准测试集**：75 份校准简历，15 行业 × 5 分数段全覆盖，含 🌐 Web 搜索增强校准 |
| [`jd-matching.md`](references/jd-matching.md) | 🆕 **JD 匹配度扫描**：JD 三层信息提取、能力等级映射、关键词归一化、行业权重映射、红旗检测、报告格式 |
| [`interview-prediction.md`](references/interview-prediction.md) | 🆕 **面试预测**：简历信号提取、6 类问题生成逻辑、Web 搜索策略、可交互 HTML Q&A 模板、高风险预警、模式联动 |
| [`rewrite-rules.md`](references/rewrite-rules.md) | 项目描述重写对照表、STAR 框架、英文动词库、**表演/音乐动词库**、常见错误 |
| [`ats-guide.md`](references/ats-guide.md) | ATS 工作原理、解析流程、JD 逆向工程 |
| [`chinese-ats.md`](references/chinese-ats.md) | **中国 ATS 专项**：北森/Moka/大易 解析特点、编码规则、平台差异 |
| [`english-resume.md`](references/english-resume.md) | STAR 实战示例、动词时态速查表、英文简历常见错误对照 |
| [`docx-spec.md`](references/docx-spec.md) | **DOCX/HTML/LaTeX 排版参数**、bullet v8/v9 检测、高发坑点、验证清单 |
| [`privacy-ethics.md`](references/privacy-ethics.md) | C1 不虚构深度论述、C2 隐私清单、**PIPL/GDPR 法律框架** |
| [`low-info-strategies.md`](references/low-info-strategies.md) | 极简输入策略、深度展开示例、低年级/转行策略、兼职归类 |

