Back to skills
SKILL.md
huatu-guokao-screening
ASecurity华图国考条件筛岗。用户问“我能报哪些国考岗位”“按学历、专业、地区筛国考职位”时使用:通过华图国考筛岗连接器拉取正式条件选项、收集报考条件、查询当前国考职位表的命中岗位,对话展示前5—6条并生成完整Excel。本期仅支持国考;省考、事业单位、教师、医疗、军队文职及纯考试资讯不使用。
- 417 stars
- 0 votes
- 0 copies
- 0 views
- Added November 8, 2026
Works with
Security analysis
100/100npx -y skills add infometa/workbuddyskills --skill skills --agent claude-codeAre you the author of huatu-guokao-screening?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/infometa-huatu-guokao-screening)---
name: huatu-guokao-screening
description: "华图国考条件筛岗。用户问“我能报哪些国考岗位”“按学历、专业、地区筛国考职位”时使用:通过华图国考筛岗连接器拉取正式条件选项、收集报考条件、查询当前国考职位表的命中岗位,对话展示前5—6条并生成完整Excel。本期仅支持国考;省考、事业单位、教师、医疗、军队文职及纯考试资讯不使用。"
description_zh: "华图国考条件筛岗。用户询问可报国考岗位、按学历专业地区筛国考职位时使用;通过华图国考筛岗连接器查询当前国考职位表,展示前5—6条并生成完整Excel。本期仅支持国考。"
description_en: "Huatu national civil service (guokao) job screening. Use when the user asks which national civil service positions they can apply for. Collects conditions, queries the current national position table through the Huatu connector, shows 5-6 rows and exports the full result to Excel. National exam only."
category: education
version: "0.3.7"
author: 华图教育
disable-model-invocation: false
user-invocable: true
---
# 华图国考筛岗
本 Skill 按《源表AI条件筛岗接口》v1.0.7 和华图国考筛岗 MCP 0.3.7(真实模式)编写。Skill 负责对话、收集条件、展示和导出;字典匹配、职位表、近似专业和筛岗由 MCP 完成,是否命中以 MCP 返回为准。
## 1. 最高优先级规则
1. 岗位、条数、候选项、职位表名称只能来自本轮实际收到的 Tool Result。没有拿到 Tool Result 时,不得声称已经查询,不得用常识、旧会话或示例数据补出结果。
2. 只使用用户明确说过或明确确认过的条件。不替用户猜测、选择、放宽或删除条件;不为了“有结果”改条件重查。
3. 收到 `NEED_CONFIRMATION`、`INVALID_CONDITION`、`MISSING_CONDITION`、`NO_RESULT` 后,用户未通过 `AskUserQuestion` 或下一条消息明确选择、更正条件前,不得再次调用 `search_guokao_positions`。
4. 命中不等于可报。结果统一称为“按已提供条件命中的岗位”,并提醒最终以官方公告和招录机关资格审查为准。
5. 不收集身份证号、手机号、住址;不读写简历;不做华图产品营销;不生成短链、二维码或登录入口。
6. 真实模式默认只交付一个 `.xlsx` 文件。用户没有另外明确要求时,不生成 HTML 页面、CSV、PDF 或第二份结果文件。
## 2. 适用范围
- 只做国考。用户问省考、事业单位、教师、医疗、军队文职等,说明本期暂不支持,不擅自改成国考查询。
- “山东的岗位”“想在济南工作”指工作地点,考试仍是国考。
- 本期只能查询当前最新的国考职位表。用户指定其他年份或历史职位表时,先说明这一点,由用户决定是否继续。
## 3. 可用工具
| 工具 | 返回内容 | 何时调用 |
| --- | --- | --- |
| `get_guokao_screening_options` | 入参 `{}`:当前国考职位表 `position`,以及正式字典 `dictionaries`(`education` 学历、`degree` 学位、`politics` 政治面貌、`grassrootsYears` 基层工作年限、`serviceBaseProjectExperience` 服务基层项目经历、`areas` 地区树)。入参 `{"education": "<学历desc>"}`:另外返回该学历的教育部专业树 `majors`。 | 每个会话开始收集条件前调用一次 `{}`,本会话内复用。专业树数据量大,只在需要帮用户查找专业时(见 4.4)才带学历调用。 |
| `search_guokao_positions` | 查询结果。MCP 内部自动获取职位表、查询近似专业并筛岗。接口单次最多返回 200 行。 | 按 4.5 收集完条件后调用。 |
- 华图 MCP 只调用上表两个工具;向用户提出选择题时使用 WorkBuddy 内置的 `AskUserQuestion`,它不是华图 MCP Tool。不通过脚本、HTTP 请求或本地文件直连华图接口。筛岗工具不可用时,说明当前无法实时查询并停止。
- 职位表 ID、近似专业 ID 由 MCP 处理,Skill 不传、不猜。
## 4. 收集条件
### 4.1 必填条件(缺任何一项,MCP 都不会查询)
| 条件 | `search_guokao_positions` 参数 | 取值规则 |
| --- | --- | --- |
| 学历 | `education` | 用户已给出学历时传原话,由 MCP 按当前字典匹配;用户从 `AskUserQuestion` 选择时传 `dictionaries.education` 的 `desc` 原文。多个候选(如“本科”对应普通本科、高职本科)时按 `NEED_CONFIRMATION` 处理,不替用户选择。 |
| 学位 | `degree` | 传 `dictionaries.degree` 的 `desc` 原文;没有学位传“无”。学历为高中/中专或专科时没有学位这一项,不问、不传。 |
| 专业 | `major` 或 `majorId` | 见 4.4。 |
与线上筛岗一致:学历为专科时没有学位,只问专业;学历为高中/中专时,接口不按学位和专业筛选,学位和专业都不用问、也不用传。这两种情况 MCP 会自动处理。
### 4.2 应询问的条件(接口选填,但不传会按默认规则筛)
这几项不传时,接口不会报错,而是按下表的默认规则筛选,结果可能和用户的真实情况不符。所以必须向用户问一次;用户明确表示不清楚或不想提供时,才可以不传。
| 条件 | 参数 | 取值规则 | 不传时接口的默认规则 |
| --- | --- | --- | --- |
| 毕业年份 | `graduationYear` | 四位整数,如 `2026`。用户说“今年应届”时传职位表年份;说“2024 年毕业”传 `2024`。 | 按职位表年份,即当成当年应届生 |
| 政治面貌 | `politics` | 用户已说“中共党员”等称呼时传原话,交给 MCP 匹配;从 `AskUserQuestion` 选择时传 `dictionaries.politics` 的 `desc` 原文。MCP 只匹配到一个选项会直接采用并报告标准值,多候选才请用户确认。 | 只匹配政治面貌“不限”的岗位 |
| 基层工作年限 | `grassrootsYears` | 传数字,即字典 `text` 的值:“无”传 `0`,“10年以上”传 `10`。实际年限不在选项中(如 1.5 年)时,取不超过实际年限的最大选项(1.5 年传 `1`),并在回复中说明。 | 不按年限要求过滤,结果可能包含用户年限不够的岗位 |
| 服务基层项目经历 | `serviceBaseProjectExperience` | 传 `desc` 原文;没有传“无经历”。它和基层工作年限是两件事,不能互相推断。 | 按“无经历”匹配 |
### 4.3 其他参数
| 条件 | 参数 | 规则 |
| --- | --- | --- |
| 意向工作地 | `preferredArea` | 传地区树中的名称原文,如 `["安徽省"]`、`["安庆市"]`,可传多个,最多 20 个,多个之间取并集。传省就包含该省下所有市县的岗位,用户说“安徽”时只传省,不必再列市。用户没说就不传,并在结果中说明本次为全国范围。 |
| 是否使用近似专业 | `useApproxMajor` | 只在 MCP 返回近似专业确认(见 4.6)、用户作出选择后传:使用传 `true`,不使用传 `false`。其他时候不传。 |
除 4.1—4.3 列出的参数外,不传任何字段(包括性别、应届身份、户籍、生源地、证书、出生日期)。应届身份由毕业年份判断,不单独传。
### 4.4 专业
- 用户说的专业名直接放进 `major` 传入,由 MCP 在教育部专业目录里匹配(本期不使用职位表的指定专业目录):名称完全一致就直接使用,否则返回 `NEED_CONFIRMATION` 和候选。
- 候选格式如“计算机类-软件工程(ID 3)”。用户选定后,下一次调用把所选候选原文放进 `major`,或把括号里的数字作为 `majorId` 传入,二选一。
- 应使用毕业证上的具体专业。候选中不带“-”的是一级类别(如“计算机类(ID 1)”),不要引导用户用类别代替具体专业;用户只说了类别名时,请其提供具体专业。
- 返回 `INVALID_CONDITION` 且是专业未找到时,可带学历调用 `get_guokao_screening_options` 取专业树,找出名称相近的真实节点让用户选;仍找不到时,请用户提供毕业证上的专业全称。不能把空专业当作“不限”,也不能编造 ID。
- 学历变化后,之前确定的专业要重新匹配。
- 用户有多个学历或专业时,先问本次按哪一组查询,不合并。
- 学历为高中/中专时不需要专业,见 4.1。
### 4.5 怎么问
- 先从用户已经说过的话里提取条件,不重复询问。
- 4.1 和 4.2 中缺少的项一次问完,同时顺带询问意向工作地,并注明它可以不填。
- 交互方式统一(见 4.7):有固定选项的问题调用 `AskUserQuestion`,不在正文里列编号让用户回复。
- 用户已经说出的学历、政治面貌先按原话传给 MCP,不由模型提前改写为看似对应的正式选项。例如“中共党员”直接传 `politics: "中共党员"`;MCP 若只匹配到“中共党员(非预备)”会直接采用,并在 `valueMappings` 和结果摘要中说明“中共党员 → 中共党员(非预备)”。如果匹配到多个候选(如“党员”或“本科”),按 `NEED_CONFIRMATION` 让用户选择。其他字段继续按 4.1—4.2 已明确的规则和字典取值;没有明确规则时用 `AskUserQuestion` 让用户选,不猜。
- 用户不愿提供 4.1 的必填项时,说明缺少这一项无法查询。用户不提供 4.2 的某项时,告诉用户接口会按什么默认规则筛,然后可以不传该项继续查询。不得自己替用户填“无”或“不限”。
- 4.1 齐全、4.2 都问过之后直接调用查询,不再额外询问“是否开始”。
### 4.6 近似专业
- 部分专业在当前职位表里有华图维护的近似专业对应关系。规则与企微筛岗一致:名称相同且只有一条时直接使用;名称不同或有多条同名时需要用户确认。需要确认时,MCP 返回 `NEED_CONFIRMATION`,且 `confirmation.field` 为 `approxMajor`,候选固定两项:“使用近似专业「……」一并匹配”和“不使用近似专业,只按本专业匹配”。
- 按 4.7 用选择浮窗原样展示这两项让用户选择。用户选第一项,用相同条件加 `useApproxMajor: true` 重新调用;选第二项,加 `useApproxMajor: false`。不替用户选。
- 不需要确认的对应关系由 MCP 默认使用,Skill 不用处理。
- 本会话中专业、学历都没变时,沿用用户已作的选择,不重复询问。
### 4.7 提问与确认的交互方式
所有需要用户选择的地方都先调用 WorkBuddy 内置工具 `AskUserQuestion` 打开选择浮窗,一屏一个问题,可以连续多题。不要只在回复正文里描述“选择浮窗”;必须实际发起这个工具调用。适用于:
- 收集条件:学历、学位、政治面貌、基层工作年限、服务基层项目经历;
- MCP 返回的 `NEED_CONFIRMATION`:专业候选、地区候选、近似专业两个选项。
规则:
- 调用时用 `questions` 数组;每题填写 `question`、`header`、`options`,设置 `multiSelect: false`。`options` 中每项的 `label` 必须复制对应字典 `desc` 或本次 `confirmation.candidates` 的原文。只在收到该工具的明确选择结果后,才按所选条件继续。
- 选项文字必须是字典 `desc` 或 `confirmation.candidates` 的原文,不合并、不改写、不新造(例如不能把 3 年以上合并成“3年及以上”)。
- 选项比浮窗能放的多时(如基层工作年限有 12 档),放最常见的几项,其余让用户在“其他补充”里填写,再按 4.2 的规则对应到字典选项。专业候选太多时,放前几项,并提示用户可以在“其他补充”里填毕业证上的专业全称。
- 没有固定选项的条件(专业、毕业年份、意向工作地),在浮窗里用“其他补充”让用户直接输入;用户第一句已经给出的不再问。
- 浮窗里的“跳过”只用于 4.2 和意向工作地:用户跳过 4.2 的某项,就按 4.5 告知默认规则后不传该项;跳过 4.1 的必填项,说明缺了无法查询。
- 若当前会话没有 `AskUserQuestion` 工具,才用正文列出选项原文,请用户回复完整选项文字;不要编号,也不要写“请回复 1 或 2”“回复编号”等话术。没有得到明确原文前不继续筛岗。
## 5. 状态处理
| `status` | 本轮唯一允许的动作 |
| --- | --- |
| `SUCCESS` | 按第 6 节展示结果并生成 Excel。 |
| `NO_RESULT` | 如实说明命中 0 条,并列出本次条件。可以建议扩大或去掉意向工作地,不建议改学历、专业等真实信息。等用户明确说出要改哪一项、改成什么。 |
| `MISSING_CONDITION` | 只按 `missingFields` 追问缺少的项。 |
| `NEED_CONFIRMATION` | 按 4.7 调用 `AskUserQuestion` 原样展示 `confirmation.candidates`,不改文字、不改顺序、不增减,等待用户点选。用户只回复“嗯”“继续”等、没有指明选项的,不算选择。`confirmation.field` 为 `approxMajor` 时按 4.6 处理。 |
| `INVALID_CONDITION` | 按返回信息指出哪一项不在正式选项中,请用户更正。专业问题按 4.4 处理。 |
| `SERVICE_ERROR` | 说明服务暂时不可用,保留已收集的条件;用户要求时再试一次。不展示旧结果。 |
| `RATE_LIMITED` | 说明调用太频繁,请稍后再试;不连续重试。 |
| `UNAUTHORIZED` | 说明连接器服务配置异常、需要管理员处理;不要求用户登录或提供账号。 |
- 候选只能来自本次 Tool Result。看不到候选数组时,不要自己列候选,请用户提供准确名称。
- 用户之后修改了某个条件,用修改后的完整条件重新调用一次。
## 6. 展示结果(`SUCCESS`)
返回内容包括:`positionTable`(职位表名称、年份)、`total` 和 `returnedCount`(本次返回的行数)、`truncated`(是否达到单次上限、可能还有更多命中)、`defaultsApplied`(因条件未提供而套用的默认规则)、`sheets`(按原始 sheet 分组的岗位行,每行的键是职位表 Excel 的原始表头)、`approxMajor`(近似专业使用情况)、`normalizedConditions`(实际提交的条件)。`positions` 为空、`download` 不可用是正常情况,不代表没有结果。
### 6.1 先给摘要
- 职位表:`positionTable.name`。
- 本次条件:逐项列出实际使用的值(学历、学位、专业、毕业年份、政治面貌、基层工作年限、服务基层项目经历、工作地或全国)。
- `defaultsApplied` 不为空时,逐条原样说明,让用户知道哪些条件是按默认规则筛的。
- `valueMappings` 不为空时,逐条说明用户原话与实际采用的字典值,例如“中共党员 → 中共党员(非预备)”;不要隐去或自行改写。
- 返回:共 `returnedCount` 条,分布在哪些 sheet。`truncated` 为 `true` 时说明“本次返回 `returnedCount` 条,已达单次上限,可能还有更多命中岗位”,并建议用户缩小意向工作地后再查。此时不要说“共命中多少条”。
- `approxMajor.applied` 为 `true` 时:有 `specialMajorName` 就说明“已按近似专业「specialMajorName」一并匹配”,没有就说明“已按华图近似专业对应关系一并匹配”,不要自己编专业名称。
- 未参与筛选的条件:性别、年龄、户籍或生源地、证书、民族等,需要对照岗位备注自行核对。
- 不要说“全部可报岗位”。
### 6.2 展示前 5—6 条
- 按返回顺序取(先取第一个 sheet)。不重新排序、不打分,不贴冲刺、稳妥、保底等标签;没有竞争数据时不估算。
- 每条只用该行实际存在的列,优先展示以下列中存在的部分:职位名称或招考职位、部门名称、用人司局或用人单位、职位代码、工作地点、招考人数、专业、学历、学位、政治面貌、基层工作最低年限、服务基层项目工作经历、备注。列不存在就不展示,不推断。
- 某行备注里写有户籍、证书、年龄等限制时,可以附一句“需核对:……”,但不要据此删除该行。
### 6.3 只生成一份 Excel
- 真实模式只用本次返回的全部行生成一份 `.xlsx`,聊天中展示过的几条也包含在内。用户未明确另行要求时,不生成 HTML 页面、CSV、PDF 或额外的结果文件,也不把筛岗结果做成网页。`truncated` 为 `true` 时,在说明表中写明“已达单次 200 条上限,可能还有更多命中岗位”。
- 每个 `sheetName` 对应一个工作表,保留原始表头、列顺序和行顺序。工作表名称不合法或超过 31 个字符时,改成合法且不重复的名称,并在说明表里记录原名。
- 职位代码、部门代码等一律按文本写入,保留前导零;以 `=`、`+`、`-`、`@` 开头的单元格按文本写入,避免被当作公式。
- 增加一个“筛岗说明”工作表,写明:职位表名称、本次条件(含是否使用近似专业)、`defaultsApplied` 中的默认规则、生成时间、文件行数、是否达到上限、未参与筛选的条件、“最终以官方公告和招录机关审核为准”。
- 生成后核对各工作表行数之和与 `returnedCount` 一致再交付。生成失败时说明原因,保留对话中的结果,不给出假链接。
- 文件名:`国考筛岗结果-<职位表年份>-<当天日期>.xlsx`。
## 7. 联调(Mock)模式
Tool Result 中 `mock` 为 `true` 时,数据是虚构的测试数据,展示前必须注明“Mock 联调数据,不能用于报考判断”。此时结果在 `positions` 和 `download`(CSV)中,按其展示并提供 CSV,不生成 Excel。Mock 模式下没有 `get_guokao_screening_options`,条件按用户原话传入即可。
## 8. 输出前自检
- [ ] 只处理国考,职位表名称来自 Tool Result。
- [ ] 学历、学位、专业是用户明确提供或确认的;毕业年份、政治面貌、基层工作年限、服务基层项目经历都问过,没有替用户填“无”或“不限”。
- [ ] 枚举值用字典 `desc` 原文,没有传性别、应届身份等额外字段。
- [ ] `defaultsApplied` 中的默认规则已告诉用户。
- [ ] `valueMappings` 中用户原话到正式字典值的对应关系已明确告诉用户。
- [ ] 收到 `NEED_CONFIRMATION`、`NO_RESULT`、`INVALID_CONDITION`、`MISSING_CONDITION` 后,本轮没有再调用 `search_guokao_positions`。
- [ ] 展示的每个字段都来自返回行,没有编造竞争数据、排名或匹配度。
- [ ] 说明了未参与筛选的条件,并提醒以官方审核为准。
- [ ] 近似专业需要确认时由用户选择,没有替用户决定。
- [ ] 需要用户选择的地方已实际调用 `AskUserQuestion`;选项是字典或候选原文,没有自造选项,也没有让用户回复编号。
- [ ] 真实模式只交付一份 `.xlsx`;用户未另行要求时没有生成 HTML、CSV 或其他格式。
- [ ] Excel 各表行数之和与 `returnedCount` 一致;达到上限时已说明可能还有更多。
Attribution
Related skills
View all in tools →Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.