# Gaodun Notice Search

> 招考公告检索技能。当用户查询/搜索公务员、事业单位、银行、国企、军队文职、教师、医疗、选调、遴选、三支一扶等招考公告，或从公告中了解报名时间、招录人数、考试大纲、报考流程，或要求汇总多省联考公告、区分已发布/待发布公告时使用。仅问"什么时候考试""考试科目有哪些""报考条件是什么"等政策常识且未提"公告"时属报考答疑场景，禁止使用本技能。支持按省份、公考类型、年份、招考状态检索官方招考公告，并支持按公告标题关键词搜索（跳字匹配），提炼关键要点供用户快速阅览。

- Skill: `ahang1598/gaodun-notice-search` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ahang1598/gaodun-notice-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ahang1598/gaodun-notice-search/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ahang1598 (https://skillmd.com/u/ahang1598)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/ahang1598/gaodun-notice-search

---


# 招考公告检索（gaodun-notice-search）

基于 `search_notice` MCP 工具，从高顿公考业务系统检索官方招考公告，帮助用户了解哪些公告正在/即将/已经开放报名。

## 触发场景

**与报考答疑的边界（先判这条）**：用户仅问"XX 什么时候考试/考试科目/报考条件/备考"等政策常识、查询里**没有「公告」「通知」「公告汇总」等字样**时（如"2026 年事业单位联考什么时候考试？"），属**报考答疑**场景——即使出现"联考""统考""年份+考试类型"等特征也不得触发本技能，本技能检索的是公告列表而非政策常识。仅当用户要看**公告本身**（查公告、汇总公告、问公告状态等）时才使用：

- 用户查询某省份 / 某类型的招考公告，如"2026 年公务员安徽的公告有哪些"
- 用户要求汇总多省联考公告，如"2026 年多省联考公告汇总"
- 用户想从公告中了解报名时间、招录人数、考试大纲、报考流程
- 用户想区分已发布 / 待发布公告，或按"即将截止""招考人数多"排序

## 核心能力

1. **多维检索**：按年份、考试地区、招考状态、考试业务类型组合筛选官方招考公告
2. **标题搜索**：支持按公告标题关键词检索（`keyword` 入参，支持跳字匹配，如"联考"可命中含"多省联考"的公告标题）
3. **多省汇总**：一次查询聚合多个省份的公告，可区分"汇总公告"(SUMMARY，聚合多个子公告) 与"普通公告"(NORMAL，单条)
4. **要点提炼**：对返回的公告列表提炼关键信息（发布状态、报名时间、招录人数等），剔除冗余内容，便于用户快速阅览
5. **灵活排序**：支持"最新""即将截止""招考人数多"三种排序

## 调用方式

调用 `search_notice` 工具，所有参数均为可选，不传则不限制：

| 参数 | 类型 | 说明 |
|------|------|------|
| keyword | string | 公告标题搜索关键词，跳字匹配：标题需包含关键词里的**每一个字**，顺序不限，如"公务员联考"可命中"2026年多省联考公考汇总专题"。⚠️ **传了 keyword 即进入标题搜索模式，上游会忽略 exam_type_list、area_list、target_year、recruitment_status 等全部筛选条件（互斥，接口既定行为）**——需要组合筛选时不要传 keyword |
| target_year | string[] | 年份列表，**必须传 JSON 数组**：✅ `["2026"]`、`["2026","2025"]`；❌ `"[\"2026\"]"`（数组套引号变成字符串）、`"2026"`（裸字符串） |
| area_list | string[] | 考试地区，**必须传 JSON 数组**：✅ `["安徽省"]`、`["安徽省","上海市-上海市"]`；❌ `"[\"安徽省\"]"`（数组套引号变成字符串）、`"安徽省"`（裸字符串）。元素格式 `"省-市-县/区"`、`"省-市"` 或 `"省"`，用 `-` 连接层级；**省级名称不能用简写**，如必须写"安徽省"而非"安徽" |
| recruitment_status | string[] | 招考状态，**必须传 JSON 数组**（即使只有一个元素）：✅ `["报名中"]`、`["报名中","即将截止"]`；❌ `"[\"报名中\"]"`（数组套引号变成字符串）、`"报名中"`（裸字符串）。仅可填：`"即将报名"`、`"报名中"`、`"即将截止"`、`"报名结束"`、`"全部"`；传 `["全部"]` 或不传均表示不限 |
| exam_type_list | string[] | 考试业务类型，**必须传 JSON 数组**（即使只有一个元素）：✅ `["公务员"]`、`["事业单位","教师"]`；❌ `"[\"公务员\"]"`（数组套引号变成字符串）、`"公务员"`（裸字符串）、`4`（数字 id）。取值为自然语言名称，仅可填：`"公务员"`、`"事业单位"`、`"银行"`、`"国企"`、`"军队文职"`、`"教师"`、`"医疗"`、`"选调"`、`"遴选"`、`"选调生"`、`"三支一扶"`、`"大学生村官"`、`"基层工作者"`、`"公益性岗位"`（同义词"事业编"、"教师编"、"教师招聘"、"医疗卫生"也可识别） |
| sort_type | string | 仅可填：`"最新"`、`"即将截止"`、`"招考人数多"`，不传默认"最新"。**仅支持这三种排序，其他排序方式（如按报名时间、按地区等）一律拒绝** |
| page | int | 页码，从 1 开始，**传数字**（如 `1`），不要传字符串 `"1"` |
| page_size | int | 每页条数，最大 50，**传数字**（如 `20`），不要传字符串 `"20"` |

## 使用流程

### 1. 解析用户意图，构造查询条件

- 公告标题关键词（如"多省联考""选调公告"）→ `keyword`。⚠️ keyword 与其他筛选条件**互斥**：用户既给了关键词又给了地区/类型等条件时，二选一——要么只传 keyword，要么放弃关键词改用纯筛选，不能组合
- 省份 → `area_list`（补全为行政区划全称，如"安徽"→"安徽省"）
- 考试类型 → `exam_type_list`（直接传自然语言名称，如"国企"→`["国企"]`，**不要转成数字 id**）
- 年份 → `target_year`
- 报名状态 → `recruitment_status`
- 排序需求（"哪个快截止"→"即将截止"，"哪个招人多"→"招考人数多"）→ `sort_type`
- 翻页 → `page`（不是 page_num）

### 2. 调用并组织结果

- 返回列表中 `SUMMARY` 类型的为汇总公告（聚合多个子公告），`NORMAL` 为单条普通公告
- 向用户呈现时：按公告列出核心字段（名称、地区、类型、招考状态、报名时间、招录人数等），并附关键要点提炼
- 多省联考场景：明确标注各公告属于已发布还是待发布（由招考状态字段判断）

### 3. 结果为空时

返回提示文本时，建议放宽筛选条件后重试，并告知用户可去掉某些筛选维度。

## 展示规则（强制）

- **查多少显示多少**：`page_size` 传多少就**完整展示**多少条公告，**禁止多查之后只挑一部分展示**（用户翻下一页会错位）；用户想看更多时传 `page=2` 翻页重查，`page_size` 保持不变
- **主要信息**（必显示）：公告标题、报名状态、报名时间
- **次要信息**（有需要/有值时展示）：公告标签、地区、岗位数、招考人数、考试科目等
- 字段值为空时直接跳过该字段，不显示"暂无""无"等占位符
- 不得编造或添加返回结果中不存在的字段（如发布时间、浏览量等）
- 多条公告时，用分隔线（---）清晰分隔，每条公告独立展示

## 注意事项

- 地区名必须使用完整行政区划名称（"安徽省"而非"安徽"、"上海市"而非"上海"），市/县/区层级可选
- 招考状态与考试业务类型取值必须与上文完全一致，否则可能查不到结果或服务端报错
- **排序仅支持 `"最新"` / `"即将截止"` / `"招考人数多"` 三种**
- **所有数组类型参数（target_year、area_list、recruitment_status、exam_type_list）必须传真正的 JSON 数组，即使只有一个元素**：正确写法 `["2026"]`、`["安徽省"]`、`["公务员"]`。错误写法（均会被服务端拒绝或静默忽略）：`"公务员"`（裸字符串）、`{"item": "公务员"}`（对象包装）、`"[\"公务员\"]"`（**把数组序列化成字符串——最常见错误，数组外面套了引号就是错的**）
- `exam_type_list` 传自然语言名称（`"国企"`），**不要传数字 id**（`4`）；分页参数名是 `page`（不是 `page_num`），`page`/`page_size` 传数字（`1`、`20`），不要传字符串（`"1"`、`"20"`）
- `keyword` 为公告标题搜索关键词，跳字匹配（标题需包含关键词里的每一个字，顺序不限）。⚠️ **keyword 与其他筛选条件互斥**：传了 keyword，上游会忽略 exam_type_list、area_list、target_year、recruitment_status 等全部筛选条件；用户同时给关键词和筛选条件时，只传 keyword 并在结果里人工对照，或去掉关键词改用纯筛选模式
- 用户未明确省份/类型时，不自行猜测，按用户原话原样传入或先询问

## 禁止行为（强制遵守）

- ❌ **禁止引申工具不支持的参数/功能**：当用户提出工具不支持的需求时（如某种排序/筛选方式），不得说"试试XX参数/可以用XX"，应直接说明当前支持的选项
- ❌ **建议后续操作时禁止推荐别的工具或技能**：只说明操作本身，不得说"可使用XX工具/建议用XX技能"
- ❌ **查询无结果时禁止暴露内部实现**：结果为空时只用用户视角话术告知未找到匹配结果（如「暂时没有找到匹配的公告，建议调整筛选条件后再试试」），禁止出现「接口未命中」「接口未返回数据」「数据源无数据」等任何提及接口、工具、MCP、服务或系统内部实现的表述
- ❌ **工具/MCP 未连接或调用异常时禁止告知用户**：不得向用户提及「MCP 未连接」「工具调用失败」「服务异常」「接口报错」等技术细节，只以用户视角话术回复（如「暂时没能获取到相关信息，请稍后再试」），也不得基于推测编造数据

