| name | resume-matcher |
| description | 简历深度分析与优化。当用户需要分析简历、优化简历匹配岗位、HRBP 视角审计简历、获取简历修改建议、简历批评、简历与 JD 匹配度评估时使用。涵盖简历解析、JD 匹配、HR 审计报告生成、简历重写等场景。即使用户只说"帮我看看这个简历"也应该触发。 |
Resume Matcher – 简历深度分析与优化 Skill
基于 HR批评简历 项目的核心方法论,使用运行时 agent 推理能力对简历进行深度 HRBP 视角审计,无需外部 LLM API。
工作流总览
用户输入(简历 + JD) → 文本提取 → 结构化分析 → 5 步 HRBP 审计 → 输出完整报告
│
▼
导出到 a4cv 编辑器
(提取 markdown →
规范化 → 保存文件)
第一步:获取输入
输入形式
用户可能会以以下几种方式提供输入,需要灵活处理:
- 简历文件:PDF 或 DOCX 文件路径 + JD 文本
- 简历文本:直接粘贴的简历文本 + JD 文本
- 仅简历:只有简历,需要询问目标岗位/JD
- 仅 JD:只有岗位描述,需要询问简历
- 参考文件:项目中已有的示例文件(文件名仅作参考,实际使用时请替换为真实文件)
- 示例简历(DOCX):
苏明远2-简历-20260615.docx
- 示例 JD(文本):
AI Agent 工程师岗位要求(JD).txt
文件解析
如果用户提供的是 PDF/DOCX 文件路径,使用以下命令提取文本:
python ".agents/skills/resume-matcher/scripts/extract-text.py" "<文件路径>"
输出为纯文本,直接用作简历内容。
输入校验
- 简历内容不能为空(至少 50 字)
- JD 内容不能为空(至少 30 字)
- 如果缺少 JD,主动询问用户目标岗位的 JD 是什么
- 如果缺少简历,请用户提供简历文件或粘贴文本
第二步:结构化分析(Agent 推理)
在获取简历文本和 JD 文本后,不要直接输出审计报告。先进行结构化推理,将非结构化文本转化为结构化认知。
推理简历结构
从简历文本中提取以下信息(参考 references/resume-schema.md):
- 个人信息:姓名、联系方式、位置
- 工作经历:公司、职位、时间、职责描述、技术栈
- 项目经历:项目名称、描述、技术栈
- 技能清单:按类别归类
- 教育背景:学校、学位、专业、时间
- 成就/证书:如有
推理 JD 结构
从 JD 文本中提取以下信息(参考 references/resume-schema.md):
- 职位名称 & 公司
- 核心职责
- 必备要求 vs 优先要求
- 技术栈要求
- 关键词
输出结构认知
将结构化结果以清晰的形式呈现给用户,让用户确认理解是否正确。例如:
📋 简历概览
- 姓名:苏明远
- 目标岗位:AI Agent 工程师
- 核心技能:Python, LangChain, RAG, LLM
- 最新经历:星河智能科技 · AI Agent 工程师 (2022.06 — 至今)
- 教育背景:XX大学 · 计算机科学 · 硕士
📋 JD 概览
- 目标岗位:AI Agent 工程师 / LLM Agent 应用开发
- 核心要求:Python工程、Agent框架、RAG、Eval体系
- 必备/NICE:3年以上AI工程经验 / 有LLM论文发表优先
第三步:执行 HRBP 深度审计
这是核心步骤。严格遵循 references/analysis-framework.md 中的框架,输出 5 步审计报告。
审计前要点
- 阅读
references/analysis-framework.md 了解完整的审计框架和方法论
- 阅读
references/output-examples.md 了解输出格式和风格
- 以 FAANG 级别 HRBP + 技术 Leader + 成长教练 的身份进行审计
- 审计要具体、有建设性,避免空泛评价
输出格式要求
## Step 1 · 第一印象
...
## Step 2 · 地毯式审计(精选 N 条)
...
## Step 3 · 修改蓝图
...
## Step 4 · 修改后的完整简历
```md
[优化后的简历 markdown]
Step 5 · 最终裁决
...
### 关键约束
- Step 1-3 总计 ≤ 800 中文字(诊断+建议)
- Step 4 ≤ 1000 中文字(简历重写)
- Step 5 ≤ 200 中文字
- 每条审计使用三段式:批判 ❓ / 解析 🤔 / 建议 💡
- 优化后简历放在 ````md` 代码块内
- 缺失信息使用 `[量化指标:...]` 占位符
---
## 第四步:输出与后续
### 输出完整报告
将完整的 5 步审计报告输出给用户。
### 后续建议
根据情况,可以主动提供以下增值服务:
- 询问是否需要针对特定 JD 再优化
- 建议修改简历中的关键薄弱点
- 提供面试准备建议(基于审计发现的短板)
- **主动询问是否要将优化后的简历导出到 a4cv 可视化编辑器**(见第五步)
---
## 第五步:导出到 a4cv 可视化编辑器(可选)
a4cv 是一个独立的中文可视化简历编辑器,已经内置于本 skill 中(`a4cv/` 目录)。优化后的简历可以从 Step 4 的 ````md` 代码块中提取,规范化后通过 a4cv 编辑器进行可视化微调。
### 提取流程
**先阅读 `references/a4cv-integration.md` 了解完整流程。**
1. 从 Step 4 的 ````md` 代码块中提取优化后的简历 markdown
2. 使用 `scripts/normalize-markdown.py` 进行规范化处理
```bash
# 将分析报告保存为文件后提取
python ".agents/skills/resume-matcher/scripts/normalize-markdown.py" \
--input 分析报告文件路径.md \
--output 优化简历输出路径.md
规范化说明
脚本会自动执行以下转换:
- 加粗标题转 ## 标题:
**工作经历** → ## 工作经历
- 首行姓名补 #:
苏明远 → # 苏明远
启动 a4cv 编辑器
python ".agents/skills/resume-matcher/scripts/serve.py"
python ".agents/skills/resume-matcher/scripts/serve.py" --port 8888 --open
启动后访问 http://localhost:8765/a4cv/ 即可打开编辑器。
在编辑器中加载简历
方式一:导入文件
- 启动服务后,在浏览器中打开
http://localhost:8765/a4cv/
- 点击工具栏的 "导入文档" 按钮
- 选择刚才保存的
.md 文件
- 在可视化界面中调整布局、样式,最终导出为 PDF
方式二:URL 直接载入
输出文件建议
<姓名>-优化简历-<日期>.md
本 Skill 包含的脚本与参考
依赖安装
pip install -r ".agents/skills/resume-matcher/requirements.txt"
脚本
| 脚本 | 用途 |
|---|
scripts/extract-text.py | 从 PDF/DOCX 提取纯文本 |
scripts/parser.py | 文档解析核心(PDF/DOCX 文本提取) |
scripts/normalize-markdown.py | 从分析报告提取简历 markdown 并规范化为 a4cv 兼容格式 |
scripts/serve.py | 启动自带的 HTTP 服务,提供 a4cv 可视化编辑器访问 |
参考文件
| 文件 | 用途 |
|---|
references/resume-schema.md | 简历 & JD 结构化 JSON Schema |
references/analysis-framework.md | 5 步 HRBP 审计框架 |
references/output-examples.md | 输出格式参考示例 |
references/a4cv-integration.md | a4cv 可视化编辑器集成指南 |
已知简历与 JD 文件(参考)
项目中已有的示例文件(文件名仅作参考):
- 示例简历(DOCX):
苏明远2-简历-20260615.docx
- 示例 JD(文本):
AI Agent 工程师岗位要求(JD).txt
限制与说明
- 本 skill 使用 agent 运行时推理,不依赖外部 LLM API
- PDF/DOCX 解析依赖
scripts/parser.py(需安装 pdfminer.six,见 requirements.txt)
- 无法处理加密或受保护的 PDF 文件
- 超大文件(>10MB)可能解析缓慢
- 对于图片格式的简历(如扫描件/JPG/PNG),无法提取文本,请用户提供文本版本
- a4cv 编辑器已内置于本 skill 中,使用
scripts/serve.py 启动 HTTP 服务即可访问
- 本 skill 完全自包含,不依赖外部项目文件