Based on HR Criticism of Resumes project's core methodology, use runtime agent reasoning capabilities to conduct an in-depth HRBP-perspective audit of resumes, without the need for an external LLM API.
Workflow Overview
用户输入(简历 + JD) → 文本提取 → 结构化分析 → 5 步 HRBP 审计 → 输出完整报告
│
▼
导出到 a4cv 编辑器
(提取 markdown →
规范化 → 保存文件)
Step 1: Obtain Input
Input Forms
Users may provide input in the following ways, and it needs to be handled flexibly:
- Resume File: PDF or DOCX file path + JD text
- Resume Text: directly pasted resume text + JD text
- Resume Only: only a resume; need to ask for the target position/JD
- JD Only: only a job description; need to ask for the resume
- Reference Files: existing example files in the project (file names are for reference only; replace them with real files in actual use)
- Example Resume (DOCX):
苏明远2-简历-20260615.docx - Example JD (text):
AI Agent 工程师岗位要求(JD).txt
- Example Resume (DOCX):
File Parsing
If the user provides a PDF/DOCX file path, use the following command to extract text:
python ".agents/skills/resume-matcher/scripts/extract-text.py" "<文件路径>"
The output is plain text and can be used directly as the resume content.
Input Validation
- Resume content cannot be empty (at least 50 characters)
- JD content cannot be empty (at least 30 characters)
- If the JD is missing, proactively ask the user what the JD is for the target position
- If the resume is missing, ask the user to provide a resume file or paste text
Step 2: Structured Analysis (Agent Reasoning)
After obtaining the resume text and JD text, do not directly output the audit report. First perform structured reasoning to transform unstructured text into structured understanding.
Reason About Resume Structure
Extract the following information from the resume text (refer to references/resume-schema.md):
- Personal Information: name, contact information, location
- Work Experience: company, position, time, responsibility description, tech stack
- Project Experience: project name, description, tech stack
- Skills List: categorized by type
- Education Background: school, degree, major, time
- Achievements/Certificates: if any
Reason About JD Structure
Extract the following information from the JD text (refer to references/resume-schema.md):
- Job Title & Company
- Core Responsibilities
- Required Qualifications vs Preferred Qualifications
- Tech Stack Requirements
- Keywords
Output Structured Understanding
Present the structured results to the user in a clear form so the user can confirm whether the understanding is correct. For example:
📋 简历概览
- 姓名:苏明远
- 目标岗位:AI Agent 工程师
- 核心技能:Python, LangChain, RAG, LLM
- 最新经历:星河智能科技 · AI Agent 工程师 (2022.06 — 至今)
- 教育背景:XX大学 · 计算机科学 · 硕士
📋 JD 概览
- 目标岗位:AI Agent 工程师 / LLM Agent 应用开发
- 核心要求:Python工程、Agent框架、RAG、Eval体系
- 必备/NICE:3年以上AI工程经验 / 有LLM论文发表优先
Step 3: Execute In-depth HRBP Audit
This is the core step. Strictly follow references/analysis-framework.md framework and output a 5-step audit report.
Key Points Before the Audit
- Read
references/analysis-framework.mdUnderstand the complete audit framework and methodology - Read
references/output-examples.mdto understand the output format and style - Conduct the audit in the role of a FAANG-level HRBP + Technical Leader + Growth Coach
- The audit must be specific and constructive, avoiding vague evaluations
Output format requirements
## Step 1 · 第一印象
...
## Step 2 · 地毯式审计(精选 N 条)
...
## Step 3 · 修改蓝图
...
## Step 4 · 修改后的完整简历
```md
[优化后的简历 markdown]
Step 5 · Final Verdict
...
### 关键约束
- 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
Normalization notes
The script automatically performs the following conversions:
- Convert bold headings to ## headings:
**工作经历**→## 工作经历 - Add # to the name on the first line:
苏明远→# 苏明远
Start the a4cv editor
# 启动自带的 HTTP 服务(默认端口 8765)
python ".agents/skills/resume-matcher/scripts/serve.py"
# 指定端口并自动打开浏览器
python ".agents/skills/resume-matcher/scripts/serve.py" --port 8888 --open
After starting, visit http://localhost:8765/a4cv/ to open the editor.
Load the resume in the editor
Method 1: Import a file
- After starting the service, open in the browser
http://localhost:8765/a4cv/ - Click the toolbar's "Import Document" button
- Select the
.mdfile you just saved - Adjust the layout and styles in the visual interface, then finally export as PDF
Method 2: Load directly via URL
# 将 markdown 内容 URL 编码后拼接到 URL
# 使用 normalize-markdown.py 处理后的文件
# 直接访问:http://localhost:8765/a4cv/index.html?md=<urlencoded_markdown>
Output file recommendations
<姓名>-优化简历-<日期>.md
Scripts and references included in this Skill
Dependency installation
pip install -r ".agents/skills/resume-matcher/requirements.txt"
Scripts
| Script | Purpose |
|---|---|
scripts/extract-text.py |
Extract plain text from PDF/DOCX |
scripts/parser.py |
Core document parsing (PDF/DOCX text extraction) |
scripts/normalize-markdown.py |
Extract resume markdown from the analysis report and normalize it into a4cv-compatible format |
scripts/serve.py |
Start the built-in HTTP service, providing access to the a4cv visual editor |
Reference files
| File | Purpose |
|---|---|
references/resume-schema.md |
Structured JSON Schema for resumes & JDs |
references/analysis-framework.md |
5-step HRBP audit framework |
references/output-examples.md |
Output format reference example |
references/a4cv-integration.md |
a4cv visual editor integration guide |
Known resume and JD files (reference)
Existing example files in the project (file names are for reference only):
- Example resume (DOCX):
苏明远2-简历-20260615.docx - Example JD (text):
AI Agent 工程师岗位要求(JD).txt
Limitations and notes
- This skill uses agent runtime reasoning and does not depend on an external LLM API
- PDF/DOCX parsing depends on
scripts/parser.py(requires installation ofpdfminer.six, seerequirements.txt) - Cannot process encrypted or protected PDF files
- Very large files (>10MB) may parse slowly
- For resumes in image format (such as scans/JPG/PNG), text cannot be extracted; please ask the user to provide a text version
- The a4cv editor is built into this skill; use
scripts/serve.pyto start the HTTP service and access it - This skill is fully self-contained and does not depend on external project files