关于 resume-skill-extraction
面向 ServiceNow 人才管理中的招聘人员和 HR 团队的简历技能提取技能。它将候选人经历整理为结构化技能,映射到组织能力框架,并与职位要求进行差距比较。
主要功能
- 01从候选人简历提取技能与资历
- 02将技能映射到组织分类体系
- 03对照职位要求分析技能差距
- 04将结构化技能写回候选人档案
- 05支持批量人才管道分析
适用场景
- 01筛选候选人并匹配职位要求
- 02分析工程职位候选人管道
- 03评估员工内部转岗技能
MCP 相关
使用 SN-Query-Table、SN-Get-Record 和 SN-Natural-Language-Search 查询候选人、职位及技能信息,并通过 SN-Update-Record 更新候选人档案。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ happy-technologies-llc/ happy-platform-skills --skill resume-skill-extraction安装后在 Claude Code 中输入/resume-skill-extraction确认已加载。
详细介绍
简历技能提取
概述
此技能可从 ServiceNow 人才管理模块中存储的简历信息提取结构化的技能、资质和经验数据。它可以帮助你:
- 从候选人记录中解析并提取技能、认证和资质
- 将提取的技能映射到组织能力框架
- 将候选人资质与职位申请要求进行比较
- 识别候选人相对于目标职位的技能差距和优势
- 使用结构化技能数据填充人才档案记录
- 支持批量提取,以便进行人才储备分析
适用场景: 招聘人员或人力资源人才团队需要系统地提取和分类候选人申请中的技能、将候选人与待招聘职位进行匹配,或为员工队伍规划建立能力档案时。
前提条件
- 角色:
sn_hr_tm.recruiter、sn_hr_tm.hiring_manager或sn_hr_core.manager - 插件:
com.sn_hr_service_delivery(HR Service Delivery)、com.sn_hr_talent_management(Talent Management) - 访问权限: 对
sn_hr_tm_candidate、sn_hr_tm_skill、sn_hr_tm_competency和sn_hr_tm_job_requisition具有读写权限 - 知识: 了解所在组织的能力框架和职位族结构
操作步骤
步骤 1:检索候选人记录
获取包含简历数据和申请详情的候选人档案。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_tm_candidate
query: number=[candidate_number]
fields: sys_id,number,first_name,last_name,email,phone,source,stage,resume_text,resume_content,current_title,current_employer,years_experience,education_level,location,skills_summary
limit: 1
使用 REST API:
GET /api/now/table/sn_hr_tm_candidate?sysparm_query=number=[candidate_number]&sysparm_fields=sys_id,number,first_name,last_name,email,phone,source,stage,resume_text,resume_content,current_title,current_employer,years_experience,education_level,location,skills_summary&sysparm_display_value=true&sysparm_limit=1
步骤 2:检索简历附件
如果简历以附件形式存储,而非存储在文本字段中,请获取附件元数据。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sys_attachment
query: table_name=sn_hr_tm_candidate^table_sys_id=[candidate_sys_id]^content_typeLIKEpdf^ORcontent_typeLIKEdoc^ORcontent_typeLIKEtext
fields: sys_id,file_name,content_type,size_bytes,sys_created_on
limit: 5
使用 REST API:
GET /api/now/table/sys_attachment?sysparm_query=table_name=sn_hr_tm_candidate^table_sys_id=[candidate_sys_id]&sysparm_fields=sys_id,file_name,content_type,size_bytes,sys_created_on&sysparm_limit=5
# Download attachment content:
GET /api/now/attachment/{attachment_sys_id}/file
步骤 3:检索目标职位申请
获取职位申请,以了解所需技能和资质,便于进行比较。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_tm_job_requisition
query: number=[requisition_number]
fields: sys_id,number,title,description,department,location,job_family,required_skills,preferred_skills,minimum_education,minimum_experience,competencies,status,hiring_manager
limit: 1
使用 REST API:
GET /api/now/table/sn_hr_tm_job_requisition?sysparm_query=number=[requisition_number]&sysparm_fields=sys_id,number,title,description,department,location,job_family,required_skills,preferred_skills,minimum_education,minimum_experience,competencies,status,hiring_manager&sysparm_display_value=true&sysparm_limit=1
步骤 4:获取组织能力框架
检索应将技能映射到的能力定义。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_tm_competency
query: active=true^job_familyLIKE[target_job_family]
fields: sys_id,name,description,category,proficiency_levels,job_family,required_level,active
limit: 50
使用 REST API:
GET /api/now/table/sn_hr_tm_competency?sysparm_query=active=true^job_familyLIKEEngineering&sysparm_fields=sys_id,name,description,category,proficiency_levels,job_family,required_level&sysparm_display_value=true&sysparm_limit=50
步骤 5:检索现有技能分类体系
获取组织的技能分类体系,以便将提取的技能映射到标准化条目。
使用 MCP:
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_tm_skill
query: active=true
fields: sys_id,name,category,skill_type,description,active
limit: 200
使用 REST API:
GET /api/now/table/sn_hr_tm_skill?sysparm_query=active=true&sysparm_fields=sys_id,name,category,skill_type,description&sysparm_display_value=true&sysparm_limit=200
步骤 6:从简历中提取并分类技能
解析简历文本,并对提取的信息进行分类:
=== SKILL EXTRACTION RESULTS ===
Candidate: John Martinez (CND0004521)
Current: Senior DevOps Engineer at TechCorp
Experience: 8 years
--- Technical Skills ---
| Skill | Proficiency | Years | Matched Taxonomy Entry |
|---------------------|-------------|-------|------------------------|
| Kubernetes | Expert | 5 | SKL0001234 - Kubernetes |
| AWS (EC2, S3, Lambda)| Expert | 6 | SKL0001201 - AWS Cloud |
| Terraform | Advanced | 4 | SKL0001256 - Terraform |
| Python | Advanced | 7 | SKL0001102 - Python |
| Jenkins/CI-CD | Expert | 6 | SKL0001189 - CI/CD |
| Docker | Expert | 5 | SKL0001233 - Docker |
| Ansible | Intermediate| 2 | SKL0001267 - Ansible |
--- Certifications ---
| Certification | Date | Mapped Qualification |
|--------------------------------------|---------|----------------------|
| AWS Solutions Architect Professional | 2024-06 | QAL0000456 |
| Certified Kubernetes Administrator | 2023-11 | QAL0000489 |
| HashiCorp Terraform Associate | 2025-01 | QAL0000512 |
--- Education ---
| Degree | Institution | Year |
|---------------------------|----------------------|------|
| B.S. Computer Science | State University | 2018 |
| M.S. Information Systems | Tech University | 2021 |
--- Soft Skills ---
- Team Leadership (managed team of 6)
- Cross-functional collaboration
- Incident management and on-call coordination
- Technical documentation and knowledge sharing
--- Unmapped Skills (New to Taxonomy) ---
- Pulumi (Infrastructure as Code - no taxonomy match)
- Backstage (Developer Portal - no taxonomy match)
步骤 7:与职位要求进行比较
将提取的技能与目标职位申请进行匹配:
=== SKILL GAP ANALYSIS ===
Requisition: REQ0002345 - Staff Site Reliability Engineer
Department: Platform Engineering
--- Required Skills Match ---
| Required Skill | Status | Candidate Level | Required Level |
|---------------------|---------|-----------------|----------------|
| Kubernetes | MATCH | Expert | Advanced |
| Cloud Platform (AWS) | MATCH | Expert | Advanced |
| CI/CD Pipelines | MATCH | Expert | Intermediate |
| Python or Go | PARTIAL | Python-Advanced | Advanced |
| Monitoring (Datadog) | GAP | Not found | Intermediate |
--- Preferred Skills Match ---
| Preferred Skill | Status | Candidate Level |
|----------------------|---------|-----------------|
| Terraform/IaC | MATCH | Advanced |
| Incident Response | MATCH | Experienced |
| Service Mesh (Istio) | GAP | Not found |
--- Competency Alignment ---
| Competency | Required Level | Assessed Level | Status |
|-------------------------|----------------|----------------|--------|
| Infrastructure Design | Level 4 | Level 4 | MET |
| Automation Engineering | Level 4 | Level 5 | EXCEEDS|
| Observability | Level 3 | Level 2 | GAP |
| Leadership | Level 3 | Level 3 | MET |
Overall Match Score: 82% (Strong Candidate)
Key Gaps: Monitoring/Observability tooling, Service Mesh
Key Strengths: Infrastructure automation, Cloud architecture, CI/CD
步骤 8:使用提取的技能更新候选人记录
将结构化技能数据写回候选人档案。
使用 MCP:
Tool: SN-Update-Record
Parameters:
table_name: sn_hr_tm_candidate
sys_id: [candidate_sys_id]
data:
skills_summary: "Kubernetes(Expert), AWS(Expert), Terraform(Advanced), Python(Advanced), Docker(Expert), CI/CD(Expert), Ansible(Intermediate)"
education_level: "Masters"
years_experience: 8
使用 REST API:
PATCH /api/now/table/sn_hr_tm_candidate/[candidate_sys_id]
Content-Type: application/json
{
"skills_summary": "Kubernetes(Expert), AWS(Expert), Terraform(Advanced), Python(Advanced), Docker(Expert), CI/CD(Expert), Ansible(Intermediate)",
"education_level": "Masters",
"years_experience": 8
}
工具用法
MCP 工具参考
| 工具 | 使用时机 |
|---|---|
SN-Query-Table | 查询候选人、职位申请、技能分类体系和能力 |
SN-Natural-Language-Search | 使用自然语言搜索匹配的候选人或职位 |
SN-Get-Record | 检索包含简历内容的完整候选人记录 |
SN-Update-Record | 将提取的技能数据写回候选人档案 |
REST API 参考
| 端点 | 方法 | 用途 |
|---|---|---|
/api/now/table/sn_hr_tm_candidate | GET/PATCH | 候选人记录和简历数据 |
/api/now/table/sn_hr_tm_job_requisition | GET | 职位申请要求 |
/api/now/table/sn_hr_tm_skill | GET | 组织技能分类体系 |
/api/now/table/sn_hr_tm_competency | GET | 能力框架定义 |
/api/now/table/sn_hr_tm_qualification | GET | 认证和资质记录 |
/api/now/table/sys_attachment | GET | 简历文件附件 |
最佳实践
- 规范技能名称: 将各种写法(例如“k8s”“Kube”“Kubernetes”)映射到规范分类中的同一条目
- 保留原始文本: 将提取的原始文本与规范化映射一并保留,以供审计
- 处理多种格式的简历: 支持 PDF、DOCX 和纯文本;不同格式的提取质量有所不同
- 验证认证信息: 对照已知认证机构和到期日期核实认证声明
- 使用熟练度指标: 根据上下文(使用年限、项目复杂度、领导职责)推断熟练度,而不是只依赖自我报告的级别
- 尊重数据隐私: 简历数据属于个人身份信息(PII);提取结果仅限获授权的招聘人员访问
- 定期更新分类体系: 标记未映射的技能,供分类管理员审核并酌情添加
故障排除
“简历文本字段为空”
原因: 简历可能仅作为附件存储,尚未解析到文本字段中
解决方案: 查询 sys_attachment 中的候选人记录,并通过附件 API 下载文件内容
“分类体系中没有匹配的技能”
原因: 组织的技能分类体系可能未涵盖所有技术领域
解决方案: 单独记录未映射的技能,并标记以便扩展分类体系;不要丢弃未匹配的技能
“候选人申请未关联到职位需求”
原因: 申请记录可能使用了不同的引用字段
解决方案: 使用 candidate=[candidate_sys_id] 查询 sn_hr_tm_candidate_application,以查找关联记录和职位需求引用
“能力框架返回空结果”
原因: 能力可能未按职位族标记,或采用了不同的分类方式
解决方案: 不使用 job_family 筛选条件进行查询,并根据描述和类别手动匹配能力
示例
示例 1:筛选单个候选人
输入:“从候选人 CND0004521 的资料中提取技能,职位需求为 REQ0002345”
步骤:
- 查询
sn_hr_tm_candidate,获取简历数据 - 查询
sn_hr_tm_job_requisition,获取要求 - 从
sn_hr_tm_skill获取技能分类体系 - 从简历文本中提取并分类技能
- 针对职位需求进行技能差距分析
- 使用结构化数据更新候选人记录
示例 2:批量人才储备分析
输入:“提取所有申请工程类职位需求的候选人的技能”
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_tm_candidate_application
query: job_requisition.departmentLIKEEngineering^status=active
fields: sys_id,candidate,job_requisition,status,applied_date,stage
limit: 50
然后遍历每位候选人,提取并比较技能。
示例 3:内部流动技能评估
输入:“评估当前员工是否具备内部调岗所需的技能”
Tool: SN-Query-Table
Parameters:
table_name: sn_hr_core_profile
query: user=[employee_sys_id]
fields: sys_id,user,department,job_title,skills,certifications,education,years_in_role
limit: 1
使用同一套技能差距分析框架,将员工现有档案中的技能与目标职位要求进行比较。
相关技能
hrsd/persona-assistant- 为内部流动提供个性化 HR 指导hrsd/case-summarization- 总结与人才流程相关的 HR 案例hrsd/sentiment-analysis- 评估候选人体验的情绪倾向knowledge/duplicate-detection- 检测重复的候选人档案reporting/trend-analysis- 分析各职位需求中的技能需求趋势