china-holidays

SKILL.md

国家法定节假日查询

从中国政府网(www.gov.cn)获取国务院办公厅发布的国家法定节假日安排通知。

使用场景

  • 查询某年的节假日放假安排
  • 了解法定假日调休日期
  • 获取春节、国庆等长假具体天数
  • 确认是否需要补班调休

工作流程

第 1 步:确认查询年份

首先确认用户要查询的年份。如果用户未指定,默认使用当前年份。

第 2 步:获取节假日通知

运行脚本获取国务院办公厅发布的节假日安排通知:

python scripts/fetch_holidays.py --year {年份}

此脚本采用缓存优先策略

  1. 优先读取本地缓存:检查 assets/{年份}.md 是否存在
  2. 缓存命中:直接返回缓存的节假日数据(毫秒级响应)
  3. 缓存未命中:联网从政府网获取数据,并自动缓存到本地

预期输出: 国务院办公厅关于该年度部分节假日安排的通知全文(纯中文内容)

强制刷新(可选)

如需强制从网络获取最新数据(忽略缓存),添加 --force 参数:

python scripts/fetch_holidays.py --year {年份} --force

触发场景: 当用户提到以下类似话术时,使用 --force 参数:

  • "重新从网络获取"
  • "强制更新缓存"
  • "刷新一下数据"
  • "重新下载"
  • "更新一下{年份}的缓存"

第 3 步:解析并输出节假日信息

根据获取到的通知内容,按照用户要求整理输出:

标准输出格式:

【{年份}年国家法定节假日安排】

一、元旦:{具体日期}放假调休,共{天数}天。{调休说明}
二、春节:{具体日期}放假调休,共{天数}天。{调休说明}
三、清明节:{具体日期}放假调休,共{天数}天。{调休说明}
四、劳动节:{具体日期}放假调休,共{天数}天。{调休说明}
五、端午节:{具体日期}放假调休,共{天数}天。{调休说明}
六、中秋节:{具体日期}放假调休,共{天数}天。{调休说明}
七、国庆节:{具体日期}放假调休,共{天数}天。{调休说明}

示例

示例 1:查询 2026 年节假日

用户说: "帮我查一下 2026 年的节假日安排"

操作:

  1. 确认年份:2026
  2. 运行:python scripts/fetch_holidays.py --year 2026
  3. 获取国务院办公厅通知内容
  4. 整理输出节假日安排

结果:

【2026 年国家法定节假日安排】

一、元旦:1 月 1 日(周四)至 3 日(周六)放假调休,共 3 天。1 月 4 日(周日)上班。
二、春节:2 月 15 日(农历腊月二十八、周日)至 23 日(农历正月初七、周一)放假调休,共 9 天。2 月 14 日(周六)、2 月 28 日(周六)上班。
三、清明节:4 月 4 日(周六)至 6 日(周一)放假,共 3 天。
四、劳动节:5 月 1 日(周五)至 5 日(周二)放假调休,共 5 天。5 月 9 日(周六)上班。
五、端午节:6 月 19 日(周五)至 21 日(周日)放假,共 3 天。
六、中秋节:9 月 25 日(周五)至 27 日(周日)放假,共 3 天。
七、国庆节:10 月 1 日(周四)至 7 日(周三)放假调休,共 7 天。9 月 20 日(周日)、10 月 10 日(周六)上班。

说明: 脚本返回的是国务院办公厅通知原文。Agent 需要从中提取关键信息并整理输出:

  • 默认情况:按上述标准格式整理输出
  • 用户指定格式:如果用户主动提供了输出格式要求或指定了输出模板,按照用户给定的要求整理输出(如 JSON、表格、列表、简短回复等)

示例 2:查询当年节假日

用户说: "今年放假怎么安排的?"

操作:

  1. 确认年份:当前年份(2026)
  2. 运行:python scripts/fetch_holidays.py --year 2026
  3. 输出节假日安排

结果: 输出 2026 年全年节假日安排(格式同示例 1)

示例 3:强制刷新缓存

用户说: "重新从网络获取 2026 年的节假日数据"

操作:

  1. 确认年份:2026
  2. 运行:python scripts/fetch_holidays.py --year 2026 --force
  3. 脚本会忽略本地缓存,重新从政府网获取数据

预期输出:

$ python scripts/fetch_holidays.py --year 2026 --force
正在从网络获取 2026 年节假日数据...
找到通知:https://www.gov.cn/gongbao/2025/issue_12406/202511/content_7048922.html
正在获取通知内容...
已缓存到:skills/china-holidays/assets/2026.md
# 下方是通知原文内容

示例 4:查询特定节日

用户说: "2026 年春节放假几天?"

操作:

  1. 确认年份:2026
  2. 运行脚本获取数据
  3. 从返回内容中提取春节相关信息

输出示例:

2026 年春节放假安排:
2 月 15 日(农历腊月二十八、周日)至 23 日(农历正月初七、周一)放假调休,共 9 天。
2 月 14 日(周六)、2 月 28 日(周六)上班。

示例 5:比较两年节假日安排

用户说: "对比一下 2025 年和 2026 年春节放假有什么不同"

操作:

  1. 分别获取两年的节假日数据
  2. 运行:python scripts/fetch_holidays.py --year 2025python scripts/fetch_holidays.py --year 2026
  3. 提取春节相关信息进行对比

输出示例:

2025 年 vs 2026 年春节放假对比:

2025 年春节:1 月 28 日(除夕)至 2 月 4 日(初七)放假,共 8 天
2026 年春节:2 月 15 日(腊月二十八)至 23 日(初七)放假,共 9 天

差异:2026 年比 2025 年多放 1 天,且 2026 年包含腊月二十八

示例 6:自定义输出格式

用户说: "用 JSON 格式输出 2026 年所有节假日安排"

操作:

  1. 运行脚本获取数据
  2. 按用户要求的 JSON 格式整理输出

输出示例:

{
  "year": 2026,
  "holidays": [
    {"name": "元旦", "dates": "1 月 1 日 -1 月 3 日", "days": 3, "makeup_work": "1 月 4 日"},
    {"name": "春节", "dates": "2 月 15 日 -2 月 23 日", "days": 9, "makeup_work": "2 月 14 日、2 月 28 日"},
    {"name": "清明节", "dates": "4 月 4 日 -4 月 6 日", "days": 3, "makeup_work": "无"},
    {"name": "劳动节", "dates": "5 月 1 日 -5 月 5 日", "days": 5, "makeup_work": "5 月 9 日"},
    {"name": "端午节", "dates": "6 月 19 日 -6 月 21 日", "days": 3, "makeup_work": "无"},
    {"name": "中秋节", "dates": "9 月 25 日 -9 月 27 日", "days": 3, "makeup_work": "无"},
    {"name": "国庆节", "dates": "10 月 1 日 -10 月 7 日", "days": 7, "makeup_work": "9 月 20 日、10 月 10 日"}
  ]
}

故障排查

搜索无结果

错误现象: 脚本返回"未找到相关节假日通知"或"搜索结果为空"

可能原因:

  • 该年份的节假日通知尚未发布(通常上一年度 11-12 月发布下一年度安排)
  • 网络连接问题

Agent 处理方式:

  1. 如果查询的是未来年份,提示用户该年度通知尚未发布
  2. 建议用户查询已发布的年份(如当前年份或上一年)
  3. 如网络问题,向用户说明情况并建议稍后重试

在线获取失败

错误现象: 脚本退出并显示网络请求失败

可能原因:

  • 网络连接不稳定
  • 政府网接口参数发生变更

Agent 处理方式:

  1. 检查网络连接后重试一次
  2. 如仍失败,向用户说明"政府网数据暂时无法获取"
  3. 建议用户使用缓存数据(--force 参数移除)或稍后重试
  4. 如用户需要,可告知用户直接访问政府网查看

内容解析失败

错误现象: 获取到 URL 但无法提取有效内容

Agent 处理方式:

  1. 向用户说明"内容解析失败"
  2. 将原始 URL 提供给用户,让用户手动访问查看
  3. 建议用户稍后重试

缓存数据不存在

错误现象: 本地无缓存且在线获取失败

Agent 处理方式:

  1. 向用户说明该年份数据暂时无法获取
  2. 建议用户查询其他年份
  3. 或建议用户稍后重试

通用处理原则:

  • 任何错误都应向用户清晰说明原因和建议
  • 优先尝试使用缓存数据
  • 网络问题建议用户稍后重试
  • 提供替代方案(如查询其他年份、访问政府网)

技术说明

  • 数据来源:中国政府网(www.gov.cn)官方发布的国务院办公厅通知
  • 数据权威性:来源于国务院公报,具有官方效力
  • 更新频率:通常每年 11-12 月发布下一年度安排
  • 缓存策略:本地缓存优先,减少网络请求,提升响应速度

缓存机制

脚本采用缓存优先策略

  1. 优先读取本地缓存:检查 assets/{年份}.md 是否存在
  2. 缓存命中:直接返回缓存数据(毫秒级响应,无需网络)
  3. 缓存未命中:自动从政府网获取数据并缓存到本地

Agent 处理建议:

  • 默认情况下直接使用缓存数据
  • 当用户表达"重新获取"、"刷新数据"、"从网上查最新的"等意图时,应理解为需要强制从网络获取最新数据
  • 缓存文件位于 assets/{年份}.md,每年新数据发布后会自动更新

技巧

  1. 缓存策略:脚本优先使用本地缓存,响应更快
  2. 发布时间:国务院办公厅通常在每年 11-12 月发布下一年度节假日安排
  3. 刷新数据:当用户要求"重新获取"、"刷新"时,应强制从网络获取最新数据
  4. 默认年份:用户未指定年份时,主动询问或使用当前年份
  5. 离线使用:已有缓存的年份可以完全离线查询
  6. 数据权威性:所有数据来自中国政府网(www.gov.cn),具有官方效力
  7. 跨年度对比:可以分别获取不同年份数据进行对比分析
  8. 格式灵活:支持按用户要求输出 JSON、表格、列表等不同格式

注意事项

  1. 数据时效性:只能查询已发布的年份,未来年份的通知需等待官方发布
  2. 官方来源:所有数据均来自政府网官方渠道,确保准确性
  3. 调休安排:输出时务必包含调休上班日期的说明,方便用户安排工作
Weekly Installs
6
GitHub Stars
3
First Seen
6 days ago
Installed on
github-copilot6
codex6
kimi-cli6
amp6
cline6
gemini-cli6