/install hr-resume-scorer
\r \r
简历批量筛选打分技能\r
\r
概述\r
\r 本技能提供完整的简历筛选解决方案:解析简历文件、基于JD匹配度分析、多维度自动评分、批量处理、生成结构化报告。\r \r 核心能力:\r
- 支持 PDF、Word、TXT、Markdown 格式简历解析\r
- 基于职位描述(JD)的智能匹配度分析\r
- 5维度评分体系:学历、经验、技能匹配、行业匹配、稳定性\r
- 批量处理 + Excel/JSON/Markdown 报告输出\r \r
使用场景\r
\r | 场景 | 触发词示例 |\r |------|-----------|\r | 直接发送简历 | 用户直接发送简历文件(PDF/Word/TXT) |\r | 批量筛选 | "帮我筛选这批简历"、"简历打分"、"简历筛选" |\r | JD匹配 | "看这些简历和JD匹配度"、"按岗位要求筛选" |\r | 生成报告 | "生成简历评分报告"、"输出Excel筛选结果" |\r | 单份评估 | "评估这份简历"、"给这个候选人打分" |\r \r
工作流程\r
\r
模式一:用户直接发送简历(推荐)\r
\r 当用户直接发送简历文件时,按以下流程处理:\r \r
用户发送简历文件\r
↓\r
┌─────────────────────────────────────┐\r
│ 1. 自动检测文件 │\r
│ - 识别文件格式(PDF/Word/TXT) │\r
│ - 获取文件路径 │\r
└─────────────────────────────────────┘\r
↓\r
┌─────────────────────────────────────┐\r
│ 2. 询问JD(如未提供) │\r
│ - "请提供岗位描述(JD), │\r
│ 或输入'跳过'进行基础评分" │\r
└─────────────────────────────────────┘\r
↓\r
┌─────────────────────────────────────┐\r
│ 3. 解析并评分 │\r
│ - 解析简历内容 │\r
│ - 提取关键信息 │\r
│ - 多维度评分 │\r
└─────────────────────────────────────┘\r
↓\r
┌─────────────────────────────────────┐\r
│ 4. 即时反馈 │\r
│ - 展示候选人信息摘要 │\r
│ - 显示评分结果 │\r
│ - 给出录用建议 │\r
└─────────────────────────────────────┘\r
```\r
\r
**处理步骤**:\r
\r
1. **检测文件**:用户发送文件后,自动识别为简历文件\r
2. **询问JD**:如对话中未提供JD,询问用户是否提供岗位描述\r
3. **解析简历**:使用 `ResumeParser.parse_file()` 解析文件\r
4. **评分分析**:使用 `ResumeScorer.score_resume()` 进行评分\r
5. **展示结果**:以Markdown格式展示候选人信息和评分结果\r
\r
**输出格式**:\r
\r
```markdown\r
## 📋 简历解析结果\r
\r
**候选人**: 张三\r
**文件名**: 张三_前端开发.pdf\r
\r
### 基本信息\r
- 📱 电话: 13800138000\r
- 📧 邮箱: [email protected]\r
- 🎓 学历: 本科\r
- 💼 经验: 5年\r
\r
### 技能列表\r
React, Vue, TypeScript, Node.js, Webpack\r
\r
### 评分结果\r
\r
| 维度 | 分数 | 说明 |\r
|------|------|------|\r
| 学历背景 | 70 | 本科 |\r
| 工作经验 | 85 | 5年经验 |\r
| 技能匹配 | 90 | 高度匹配 |\r
| 稳定性 | 80 | 较为稳定 |\r
\r
**总分**: 82.5\r
**匹配等级**: A-高度匹配\r
**建议**: 推荐 - 建议安排面试\r
```\r
\r
### 模式二:指定文件路径/目录\r
\r
当用户指定文件路径或目录时,按以下流程处理:\r
\r
```\r
用户提供路径\r
↓\r
┌─────────────────────────────────────┐\r
│ 1. 确认输入 │\r
│ - 简历文件/目录路径 │\r
│ - JD文本/文件(可选) │\r
│ - 输出格式(默认Excel) │\r
└─────────────────────────────────────┘\r
↓\r
┌─────────────────────────────────────┐\r
│ 2. 批量解析 │\r
│ - 遍历目录文件 │\r
│ - 逐个解析简历 │\r
│ - 收集结构化数据 │\r
└─────────────────────────────────────┘\r
↓\r
┌─────────────────────────────────────┐\r
│ 3. 批量评分 │\r
│ - 基础维度评分 │\r
│ - JD匹配度计算(如有JD) │\r
│ - 按分数排序 │\r
└─────────────────────────────────────┘\r
↓\r
┌─────────────────────────────────────┐\r
│ 4. 生成报告 │\r
│ - 输出Excel/JSON/Markdown │\r
│ - 展示筛选摘要 │\r
└─────────────────────────────────────┘\r
```\r
\r
### 步骤详解\r
\r
#### Step 1: 确认输入\r
\r
向用户确认:\r
1. **简历位置**:文件路径、目录路径,或用户直接发送文件\r
2. **JD信息**:职位描述文本或文件路径(可选)\r
3. **输出格式**:Excel(默认)、JSON、Markdown\r
4. **输出路径**:默认当前目录下\r
\r
#### Step 2: 解析简历\r
\r
调用脚本 `scripts/resume_scorer.py` 中的 `ResumeParser`:\r
\r
```python\r
from resume_scorer import ResumeParser\r
\r
# 解析单个文件\r
resume = ResumeParser.parse_file("path/to/resume.pdf")\r
\r
# 返回结构化数据\r
print(resume.name) # 候选人姓名\r
print(resume.phone) # 电话\r
print(resume.email) # 邮箱\r
print(resume.education) # 学历列表\r
print(resume.experience_years) # 工作年限\r
print(resume.skills) # 技能列表\r
```\r
\r
#### Step 3: 评分分析\r
\r
使用 `ResumeScorer` 进行多维度评分:\r
\r
```python\r
from resume_scorer import ResumeScorer, JDMatcher\r
\r
# 初始化评分器\r
scorer = ResumeScorer()\r
\r
# 解析JD(如有)\r
jd_requirements = JDMatcher.parse_jd(jd_text)\r
\r
# 评分\r
result = scorer.score_resume(resume, jd_requirements)\r
\r
print(result.total_score) # 总分(0-100)\r
print(result.match_level) # 匹配等级(S/A/B/C/D/E)\r
print(result.dimension_scores) # 各维度分数\r
print(result.strengths) # 优势\r
print(result.concerns) # 关注点\r
print(result.recommendation) # 录用建议\r
```\r
\r
#### Step 4: 批量处理\r
\r
使用 `BatchProcessor` 批量处理:\r
\r
```python\r
from resume_scorer import BatchProcessor, ReportGenerator\r
\r
processor = BatchProcessor()\r
\r
# 处理整个目录\r
results = processor.process_directory("path/to/resumes/", jd_text)\r
\r
# 生成Excel报告\r
ReportGenerator.to_excel(results, "筛选报告.xlsx")\r
\r
# 生成Markdown报告\r
ReportGenerator.to_markdown(results, "筛选报告.md")\r
```\r
\r
## 评分维度\r
\r
| 维度 | 权重 | 说明 |\r
|------|------|------|\r
| 学历背景 | 15% | 博士/硕士/本科/大专 |\r
| 工作经验 | 25% | 年限 + 大厂/行业经验 |\r
| 技能匹配 | 30% | 与JD技能要求的匹配度 |\r
| 行业匹配 | 20% | 同行业/相关行业/跨行业 |\r
| 工作稳定性 | 10% | 平均在职时长 |\r
\r
**匹配等级**:\r
- S (90-100): 极匹配,强烈推荐\r
- A (80-89): 高度匹配,推荐面试\r
- B (70-79): 较为匹配,建议面试\r
- C (60-69): 基本匹配,可考虑\r
- D (50-59): 部分匹配,谨慎考虑\r
- E (\x3C50): 匹配度低,不推荐\r
\r
详细评分标准见 `references/scoring_criteria.md`\r
\r
## 人物画像分析\r
\r
### 分析维度\r
\r
| 维度 | 说明 | 分析方法 |\r
|------|------|----------|\r
| 性格特征 | 领导力、执行力、创新力等 | 关键词分析 |\r
| 工作风格 | 技术驱动/业务导向/管理型/研究型 | 内容分析 |\r
| 职业动机 | 技术成长/薪资/发展/平衡 | 关键词分析 |\r
| 职业倾向 | 管理方向/专家方向/业务方向 | 经验分析 |\r
| 领导潜力 | 高/中等/需评估 | 管理经验分析 |\r
| 团队适配 | 协作型/独立型/灵活型 | 工作方式分析 |\r
\r
### 输出示例\r
\r
```markdown\r
#### 👤 人物画像\r
- **性格特征**: 领导力、执行力、协作力\r
- **工作风格**: 技术驱动型\r
- **职业倾向**: 管理方向\r
- **领导潜力**: 高领导潜力\r
- **团队适配**: 适合协作型团队\r
- **总结**: 候选人表现出领导力、执行力、协作力等特质,属于技术驱动型,职业倾向为管理方向。高领导潜力,适合协作型团队。\r
```\r
\r
## 简历真实性检查\r
\r
### 检查维度\r
\r
| 维度 | 说明 | 风险指标 |\r
|------|------|----------|\r
| 时间一致性 | 工作经历时间是否重叠 | 时间矛盾 |\r
| 描述真实性 | 是否存在夸大或模糊描述 | 夸大描述、模糊描述 |\r
| 经验合理性 | 经验与年限是否匹配 | 经验与年龄不符 |\r
| 跳槽频率 | 是否频繁跳槽 | 频繁跳槽 |\r
| 学历验证 | 学历信息是否可信 | 教育时间异常 |\r
\r
### 风险等级\r
\r
| 等级 | 分数区间 | 建议 |\r
|------|---------|------|\r
| 低风险 | 80-100 | 简历信息较为可信 |\r
| 中等风险 | 60-79 | 建议面试中深入了解 |\r
| 较高风险 | 40-59 | 建议深度背景调查 |\r
| 高风险 | 0-39 | 要求提供第三方证明 |\r
\r
### 红旗标记\r
\r
常见可疑模式:\r
- 夸大描述:"精通所有"、"全栈精通"\r
- 模糊描述:"参与项目"、"协助工作"\r
- 时间矛盾:工作经历时间重叠\r
- 经验不符:工作年限与技能不匹配\r
\r
### 输出示例\r
\r
```markdown\r
#### 🔍 真实性检查\r
- **真实性评分**: 85/100\r
- **风险等级**: 低风险\r
- **验证要点**:\r
- 要求提供学历证书或学信网验证\r
- 要求提供离职证明或社保记录\r
- 通过技术面试验证核心技能\r
```\r
\r
## 在职时长预估\r
\r
### 预估因素\r
\r
| 因素 | 权重 | 说明 |\r
|------|------|------|\r
| 历史平均在职时长 | 35% | 过往工作稳定性 |\r
| 跳槽频率趋势 | 20% | 最近跳槽是否更频繁 |\r
| 职业发展阶段 | 15% | 初级/成长期/稳定期/资深 |\r
| 行业特性 | 10% | 互联网/传统行业/创业 |\r
| 职位匹配度 | 10% | 与JD的匹配程度 |\r
\r
### 风险等级\r
\r
| 等级 | 预估时长 | 留任概率 |\r
|------|---------|---------|\r
| 低风险 | 3年以上 | 高 |\r
| 中等风险 | 1-3年 | 中 |\r
| 高风险 | 1年以下 | 低 |\r
\r
### 输出示例\r
\r
```markdown\r
#### ⏱️ 在职预估\r
- **预估在职时长**: 2-3年\r
- **留任风险**: 低风险\r
```\r
\r
## 命令行用法\r
\r
```bash\r
# 基础用法:筛选目录下所有简历\r
python scripts/resume_scorer.py ./resumes/\r
\r
# 指定JD文件\r
python scripts/resume_scorer.py ./resumes/ --jd ./jd.txt\r
\r
# 直接输入JD文本\r
python scripts/resume_scorer.py ./resumes/ --jd-text "岗位要求:3年以上Python经验..."\r
\r
# 指定输出格式和路径\r
python scripts/resume_scorer.py ./resumes/ --format excel --output 筛选结果.xlsx\r
\r
# JSON格式输出\r
python scripts/resume_scorer.py ./resumes/ --format json --output results.json\r
\r
# Markdown格式输出\r
python scripts/resume_scorer.py ./resumes/ --format markdown --output report.md\r
```\r
\r
## 输出报告示例\r
\r
### Excel报告字段\r
\r
| 字段 | 说明 |\r
|------|------|\r
| 排名 | 按总分排序 |\r
| 文件名 | 原始文件名 |\r
| 候选人 | 提取的姓名 |\r
| 总分 | 加权总分(0-100) |\r
| 匹配等级 | S/A/B/C/D/E |\r
| 学历得分 | 学历维度分数 |\r
| 经验得分 | 经验维度分数 |\r
| 技能匹配 | 技能维度分数 |\r
| 稳定性 | 稳定性维度分数 |\r
| 优势 | 候选人亮点 |\r
| 关注点 | 需注意问题 |\r
| 建议 | 录用建议 |\r
\r
## 依赖安装\r
\r
```bash\r
# PDF解析 (二选一)\r
pip install PyMuPDF\r
# 或\r
pip install pdfplumber\r
\r
# Word解析\r
pip install python-docx\r
\r
# Excel输出\r
pip install pandas openpyxl\r
```\r
\r
## 注意事项\r
\r
1. **文件格式**:确保简历文件格式正确,PDF推荐使用文本型PDF\r
2. **编码问题**:中文简历建议使用UTF-8编码\r
3. **批量数量**:单次建议不超过100份,大批量请分批处理\r
4. **JD质量**:JD越详细,匹配分析越准确\r
5. **人工复核**:自动评分仅供参考,重要岗位建议人工复核\r
\r
## 参考文档\r
\r
- 评分标准详情:`references/scoring_criteria.md`\r
- 简历解析指南:`references/resume_parsing_guide.md`\r
- 人物画像与真实性检查:`references/personality_analysis_guide.md`\r
\r
---\r
\r
## 附录:对话式简历解析指南\r
\r
### 场景A:用户直接发送简历文件\r
\r
当用户在对话中直接发送简历文件时,按以下步骤处理:\r
\r
#### 1. 识别文件\r
\r
用户发送的文件会自动保存到工作目录。检测文件扩展名:\r
- `.pdf` → PDF简历\r
- `.docx` / `.doc` → Word简历\r
- `.txt` / `.md` → 文本简历\r
\r
#### 2. 解析并展示结果\r
\r
```python\r
# 获取用户发送的文件路径(从工作目录)\r
import glob\r
from resume_scorer import ResumeParser, ResumeScorer, JDMatcher\r
\r
# 查找最新的简历文件\r
resume_files = glob.glob("*.pdf") + glob.glob("*.docx") + glob.glob("*.txt")\r
if resume_files:\r
file_path = resume_files[-1] # 取最新文件\r
\r
# 解析简历\r
resume = ResumeParser.parse_file(file_path)\r
\r
# 评分(无JD时使用基础评分)\r
scorer = ResumeScorer()\r
result = scorer.score_resume(resume)\r
\r
# 格式化输出\r
print(f"## 📋 简历解析结果\
")\r
print(f"**候选人**: {resume.name}")\r
print(f"**文件名**: {resume.filename}\
")\r
print(f"### 基本信息")\r
print(f"- 📱 电话: {resume.phone or '未提供'}")\r
print(f"- 📧 邮箱: {resume.email or '未提供'}")\r
print(f"- 🎓 学历: {', '.join(resume.education) if resume.education else '未提供'}")\r
print(f"- 💼 经验: {resume.experience_years}年\
")\r
print(f"### 技能列表")\r
print(f"{', '.join(resume.skills) if resume.skills else '未识别到明确技能'}\
")\r
print(f"### 评分结果")\r
print(f"| 维度 | 分数 |")\r
print(f"|------|------|")\r
for dim, score in result.dimension_scores.items():\r
print(f"| {dim} | {score} |")\r
print(f"\
**总分**: {result.total_score}")\r
print(f"**匹配等级**: {result.match_level}")\r
print(f"**建议**: {result.recommendation}")\r
```\r
\r
#### 3. 询问是否需要JD匹配\r
\r
展示基础评分后,询问用户:\r
```\r
是否提供岗位描述(JD)进行更精准的匹配分析?\r
- 提供JD文本 → 进行JD匹配度分析\r
- 输入"跳过" → 保持基础评分\r
```\r
\r
### 场景B:用户发送多个简历文件\r
\r
当用户一次发送多个简历文件时:\r
\r
1. **收集所有文件**:遍历工作目录中的简历文件\r
2. **批量解析**:逐个解析并评分\r
3. **汇总展示**:按分数排序,展示排名表\r
4. **询问是否导出**:是否需要生成Excel/JSON报告\r
\r
```markdown\r
## 📊 批量简历筛选结果\r
\r
共解析 5 份简历\r
\r
| 排名 | 候选人 | 总分 | 等级 | 建议 |\r
|------|--------|------|------|------|\r
| 1 | 张三 | 85.5 | A | 推荐面试 |\r
| 2 | 李四 | 78.0 | B | 建议面试 |\r
| 3 | 王五 | 72.5 | B | 建议面试 |\r
| 4 | 赵六 | 65.0 | C | 可考虑 |\r
| 5 | 钱七 | 55.0 | D | 谨慎考虑 |\r
\r
是否需要生成详细的Excel报告?\r
```\r
\r
### 场景C:用户粘贴简历文本\r
\r
当用户直接粘贴简历内容时:\r
\r
1. **保存为临时文件**:将文本保存为 `temp_resume.txt`\r
2. **解析并评分**:使用标准流程处理\r
3. **展示结果**:即时反馈评分结果\r
\r
```python\r
# 保存用户粘贴的文本\r
with open("temp_resume.txt", "w", encoding="utf-8") as f:\r
f.write(user_pasted_text)\r
\r
# 解析并评分\r
resume = ResumeParser.parse_file("temp_resume.txt")\r
result = scorer.score_resume(resume)\r
```\r
\r
### 最佳实践\r
\r
1. **即时反馈**:用户发送文件后,立即解析并展示结果\r
2. **渐进式分析**:先展示基础评分,再询问是否需要JD匹配\r
3. **清晰展示**:使用表格和格式化输出,便于阅读\r
4. **灵活导出**:根据用户需求生成不同格式的报告\r
5. **错误处理**:解析失败时给出明确提示和解决建议\r
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install hr-resume-scorer - After installation, invoke the skill by name or use
/hr-resume-scorer - Provide required inputs per the skill's parameter spec and get structured output
What is HR简历分析评分报告?
简历批量筛选打分工具。支持PDF/Word/TXT格式简历解析,基于JD进行匹配度分析,多维度评分,生成Excel/JSON/Markdown报告。当用户需要筛选简历、批量评估候选人、简历打分、匹配度分析、生成筛选报告时触发此技能。适用于HR、猎头、招聘团队。 It is an AI Agent Skill for Claude Code / OpenClaw, with 21 downloads so far.
How do I install HR简历分析评分报告?
Run "/install hr-resume-scorer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is HR简历分析评分报告 free?
Yes, HR简历分析评分报告 is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does HR简历分析评分报告 support?
HR简历分析评分报告 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created HR简历分析评分报告?
It is built and maintained by jiuwu2495 (@jiuwu2495); the current version is v1.0.2.