报考简历完善助手。引导考生渐进式填写/更新报考简历(学历、专业、政治面貌、性别、应届身份、意向地区等),用于智能选岗的匹配度计算。支持部分填写、逐字段确认;专业等复杂字段会归一化到系统标准值并让用户确认候选。触发词:完善简历、填简历、修改简历、更新简历、我的专业怎么填、我的学历、录入简历、简历还差什么、补全简历、我想填一下我的信息。
Scanned 9/12/2026
Install to Claude Code
npx -y skills add ahang1598/doubao-workbuddy-qwenwork-skills --skill resume --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Resume?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ahang1598-resume)More formats (shields.io, HTML) on the badges page.
---
name: resume
description: 报考简历完善助手。引导考生渐进式填写/更新报考简历(学历、专业、政治面貌、性别、应届身份、意向地区等),用于智能选岗的匹配度计算。支持部分填写、逐字段确认;专业等复杂字段会归一化到系统标准值并让用户确认候选。触发词:完善简历、填简历、修改简历、更新简历、我的专业怎么填、我的学历、录入简历、简历还差什么、补全简历、我想填一下我的信息。
version: "1.0.0"
author: "Fenbi Workbuddy Team"
---
# 报考简历完善 Skill
指导 Agent 用 `user_resume_get` / `resume_save` 两个工具,渐进式引导登录用户填写或更新报考简历;并在需要时用 `major_query` 对专业做「归一化 + 候选确认」。简历用于**智能选岗的匹配度计算**——填得越全,匹配越准;但**允许部分填写**,不强求一次填完。
> 每个字段的取值、格式、增量/覆盖语义都写在 `resume_save` 的字段说明里,本 skill 不重复。这里只写工具说明装不下的东西:**引导优先级、两套归一化流程、对话交互形态**。
## 何时使用
- 用户主动说「帮我完善/填写/修改简历」「我想录入我的信息」。
- 选岗过程中发现简历缺核心字段,需要先补齐(由选岗 skill 转入)。
- 用户问「我的简历还差什么 / 完整度如何」。
> 前提:简历读写只对当前登录用户生效,登录用户由服务端从请求识别,不需要也无法由你指定。未登录时 `user_resume_get` / `resume_save` 直接返回 401,先引导用户登录再继续。
## 字段分层(引导优先级)
**核心字段**(决定匹配质量,优先引导):
| 字段 | 说明 | 归一化 |
|---|---|---|
| 教育背景 eduBackgrounds | **多段**:每段=学历+专业(+学位+毕业日期) | 见下方「教育背景(多段增删改)」 |
| 政治面貌 politicStatus | 单值 | 中共党员/预备党员/共青团员/其他党派/群众 |
| 性别 gender | 单值 | 男/女 |
| 应届身份 graduated | 单值 | 应届/非应届/择业期 |
| 意向地区 intentionRegions | 数组 | 地区名(济南、山东…),服务端解析 |
| 生日/年龄 birthday | 单值,`yyyy-MM-dd` | **强引导**:公考几乎逐岗有年龄上限,不填会漏筛超龄岗 |
| 学位 academicDegree | 教育背景段内 | 学士/硕士/博士/无学位;硕博岗常卡学位 |
| 毕业日期 graduateDate | 教育背景段内,`yyyy-MM-dd` | 影响应届判定与毕业时间过滤 |
> 上表后三项(生日、学位、毕业日期)同属决定「能否报考」的硬条件,应主动引导;学位/毕业日期随专业在同一教育背景段收集。
**场景型字段**(按需被动收集,**不主动逐条问**):见下方「场景型字段」。用户提到相关经历、或某类岗位明显限定时才收。
## 调用前:先读已有简历预填
先调 `user_resume_get` 拉当前登录用户的简历:
- 返回体各字段为空/0、`eduBackgrounds` 为空表示未填。据此判断还缺哪些**核心字段**,只追问缺失项,不要重复问用户已填的。
- 已填字段先向用户复述确认「你的学历是本科计算机、意向地区是济南,对吗?」,有变化再更新。
- **更新教育背景前必须先读到现有 `eduBackgrounds`**(见下)。
## 教育背景(多段增删改)
用户可能有多段学历(如本科 + 硕士),每段一个专业,以学历为主键。`eduBackgrounds` 是**全量覆盖**语义(详见该参数说明),对话上要注意的是:**一旦要动教育背景,就必须先 `user_resume_get` 拿到现有各段,合并本次改动后传完整列表**——只传一段会把其它段删掉。不想动就完全不传。
### 专业归一化确认(每段专业都要做)
用户给的专业往往是口语/简称(如「计算机」),必须归一化成系统标准专业:
1. 拿到该段学历后,调 `major_query(degree=该段学历, majorName=用户输入的专业词)`。
2. 从返回 `items` 里取 `majorLevel=3`(具体专业)的候选,向用户播报:
- 「本科阶段将按【计算机科学与技术】录入;其它相近候选:计算机应用技术 / 计算机技术……需要改用哪个请告诉我。」
3. 用户确认或改选后,取该候选的 `categoryCode/categoryName、disciplineCode/disciplineName、majorCode/majorName`,组装进该段的 `major`。
4. `major_query` 返回空 → 提示用户换**毕业证上的精确专业名**重试,或先按学科大类逐级下钻确认。
> 专业只在本 skill 内经 `major_query` 确认后写入;不要凭空编造专业 code。`major_query` 按学历检索,所以每段先有学历再确认该段专业。
## 其它字段归一化
枚举值本身见各字段说明,这里只列**从用户原话映射到枚举**的判断:
- 学历别名:研究生→硕士、大专→专科等(与 `major_query` 的口径一致)。
- 政治面貌:团员→共青团员、民主党派→其他党派;**"党员"有歧义**,问一句是中共党员还是预备党员。
- 应届:当年毕业→应届;往届→非应届;毕业 2 年内择业期→择业期。
- 意向地区:省/市/区有歧义时口头追问一句「是济南市还是其中某个区?」,不必让用户从候选列表里选。
- **日期**:只知年龄→换算出生年、按 `该年-01-01` 近似并**向用户说明是近似值**;其余格式规则见字段说明。
## 场景型字段(按需被动收集)
以下字段也参与岗位硬过滤,但**只对特定岗位生效**——**不主动逐条问**,仅当①用户主动提到相关经历,或②某类岗位明显限定时才收:
| 字段 | 何时收集 | 触发话术示例 |
|---|---|---|
| 户籍 censusProvince/City/County | 用户想报家乡/限户籍的县乡岗 | 「县乡岗常限户籍,你的户籍是哪个省市区县?」 |
| 生源地 studentSource*(省/市/县) | 定向生源岗 | 「这是定向生源岗,你的高考生源地是?」 |
| 特殊身份 specialIdentity | 用户提到退役/服务基层项目等 | 「你提到退役军人,有对应的退役军人专项岗可报」 |
| 基层经历 basicExperience + basicWorkYear | 用户提到村官/支教/服务期 | 「你做过大学生村官几年?基层岗会看这个」 |
| 民族 ethnicGroup | 民族限定岗 | 「这批岗限特定民族,你的民族是?」 |
- 户籍/生源按 省/市/县 三段分别传;从「山东济南历下区」拆成省市县三个字段。
- 特殊身份 `specialIdentity` 是**列表、可多值、整体替换**:用户有多个身份(如退役军人+残疾人)一次传全量;每个都要经 `resume_field_options(tagType=12)` 归一化成标准名。
### tag 型字段归一化(特殊身份/基层经历/民族/荣誉)
这几个字段落库需要**系统标准名**,不能凭空编造(名字不准会静默写不进)。流程同专业的 `major_query`:
1. 收到用户口语(如「退伍军人」「村官」)→ 调 `resume_field_options(tagType)` 拉标准候选。tagType 取值:`12`=特殊身份 / `13`=基层服务经历 / `16`=民族 / `35`=重要荣誉。
2. 从返回的候选里匹配最接近的,向用户播报:「将按【退役军人】录入;其它候选:…,需要改选请告诉我」。
3. 用户确认/改选后,把选中的**标准 name** 传给 `resume_save`(`specialIdentity` / `basicExperience` / `ethnicGroup` 等)。
4. 候选空/无匹配 → 提示用户换更标准的说法,或说明系统暂无对应身份、可跳过。
> 民族(tagType=16)通常口语即标准名(汉族/回族…),可直接传;不确定时才查候选核对。基层经历配合 `basicWorkYear`(整数年)一起传。
## 写入:调用 resume_save
组织好本次改动就调 `resume_save(...)`。三种写入语义(单值字段增量、`eduBackgrounds` 全量覆盖、列表字段整体替换)见工具说明;对话上要记住的是:**单值字段无法清空**(不传=保留),要删教育背景段就从全量列表里去掉该段。
保存后复述本次结果(如「已更新:本科计算机科学与技术、硕士软件工程」),并提示还缺哪些核心字段、是否继续补。
## 交互形态:优先选择卡片
引导填写时**默认输出选择卡片让用户点选**,把用户手动输入降到最低;若当前环境渲染不了卡片,自动降级为编号文本选项(用户回「1」即可),**不要因此退回开放式提问**。
- **枚举型字段一律出单选卡片**:学历、政治面貌、性别、应届身份、学位——选项直接用本 skill 的标准值,不要让用户自己想措辞。
- **候选型字段把候选做成卡片**:`major_query` 返回的三级专业候选、`resume_field_options` 返回的 tag 候选(特殊身份/基层经历/民族/荣誉)。附一个「都不是,我重新说」兜底项;特殊身份可多选。
- **意向地区**:用户已说出明确地区名就直接确认;有歧义(济南市 / 历下区)时出卡片让选。
- **只能自由输入的**:生日与毕业日期、基层工作年限、户籍/生源地的具体区县——这些无法枚举,让用户直接说,再按上面的归一化规则处理。
- **一轮最多 2-3 个字段**,不要一次抛整张表;用户想一次性说完也接受,按其原话解析。
## 边界与错误处理
- 工具返回 401(未登录):不要重试,也不要绕开,直接引导用户登录后再回来填简历。
- `resume_save` 返回 `success=false`:按其 `message` 提示用户稍后重试,不要谎称已保存。
- 用户只想填几项就走:允许,补齐的核心字段越多匹配越准,但不强制填完——随后可回到选岗 skill 出结果。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!