Skill: xzxiaoshan/china-holidays (version 0.1.0)

--- name: china-holidays description: 获取中国国家法定节假日安排。当用户询问"节假日安排"、"放假通知"、"某年节假日"、"法定假日"、"调休安排"时使用。支持查询任意年份的元旦、春节、清明节、劳动节、端午节、中秋节、国庆节放假调休安排。未指定年份时默认查询当年。 --- # 国家法定节假日查询 从中国政府网（www.gov.cn）获取国务院办公厅发布的国家法定节假日安排通知。 ## 使用场景 - 查询某年的节假日放假安排 - 了解法定假日调休日期 - 获取春节、国庆等长假具体天数 - 确认是否需要补班调休 ## 工作流程 ### 第 1 步：确认查询年份 首先确认用户要查询的年份。如果用户未指定，默认使用当前年份。 ### 第 2 步：获取节假日通知 运行脚本获取国务院办公厅发布的节假日安排通知： ```bash python scripts/fetch_holidays.py --year {年份} ``` 此脚本采用**缓存优先策略**： 1. **优先读取本地缓存**：检查 `assets/{年份}.md` 是否存在 2. **缓存命中**：直接返回缓存的节假日数据（毫秒级响应） 3. **缓存未命中**：联网从政府网获取数据，并自动缓存到本地 **预期输出：** 国务院办公厅关于该年度部分节假日安排的通知全文（纯中文内容） ### 强制刷新（可选） 如需强制从网络获取最新数据（忽略缓存），添加 `--force` 参数： ```bash 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. 脚本会忽略本地缓存，重新从政府网获取数据 **预期输出：** ```bash $ 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 2025` 和 `python 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 格式整理输出 **输出示例：** ```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. **调休安排**：输出时务必包含调休上班日期的说明，方便用户安排工作


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)