查询中国大陆法定节假日、工作日、调休安排及企业纳税申报日历。节假日数据来源:国务院年度通知(gov.cn);纳税申报日历来源:国家税务总局(chinatax.gov.cn)。适用场景:① 判断某天是否为工作日/节假日/调休日;② 计算工作日数并加减工作日;③ 查询纳税申报截止日(遇节假日顺延)。
cn-calendar:中国大陆节假日与工作日日历是一项面向实际任务的技能,主要用于第一步:检查本地数据覆盖范围;返回 "status": "exists" → 直接跳到第三步执行查询;
直接抓取 JSON(已索引国务院官方通知,数据可信):。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
用户查询 → 检查本地数据是否覆盖该年份
├── 有 → 直接运行查询脚本
└── 无 → 从官网抓取 → 解析 → 固化写入 → 运行查询脚本
python3 ~/.openclaw/skills/cn-calendar/scripts/fetch_holidays.py--check
"status": "exists" → 直接跳到第三步执行查询"status": "missing" → 执行第二步抓取直接抓取 JSON(已索引国务院官方通知,数据可信):
web_fetch: https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/YYYY.json
返回格式:days[] 数组,每条包含 date、isOffDay、name:
isOffDay: true → 法定节假日(非工作日)isOffDay: false → 调休补班日(原为周末,需上班)若该年份 JSON 尚未创建(返回 404),说明国务院通知未发布,告知用户以官方为准。
从通知正文中提取:
生成格式参考 references/holidays-2025.md,内容包括:
直接用 write 工具写入:~/.openclaw/skills/cn-calendar/references/holidays-YYYY.md
将新年份的假期和调休数据以以下格式追加到 workday_query.py 中,位于 ALL_HOLIDAYS = 行之前:
# YYYY年法定节假日(来源:国务院)
HOLIDAYS_YYYY = {
date(YYYY, M, D),
# ...
}
# YYYY年调休工作日(来源:国务院)
WORKDAYS_YYYY = {
date(YYYY, M, D),
# ...
}
同时更新文件末尾的合并集合:
ALL_HOLIDAYS = HOLIDAYS_2025 | HOLIDAYS_2026 | HOLIDAYS_YYYY ALL_EXTRA_WORKDAYS = WORKDAYS_2025 | WORKDAYS_2026 | WORKDAYS_YYYY
更新完成后,用 exec 运行一条简单测试确认脚本无语法错误:
python3 ~/.openclaw/skills/cn-calendar/scripts/workday_query.py is_workday YYYY-01-01
脚本路径:~/.openclaw/skills/cn-calendar/scripts/workday_query.py
# 判断某天是否为工作日 python3/scripts/workday_query.py is_workday 2026-04-06 # 找下一个工作日(从该日期之后) python3 /scripts/workday_query.py next_workday 2026-01-23 # 从某天起加N个工作日 python3 /scripts/workday_query.py add_workdays 2026-03-01 10 # 统计两日期间工作日数 python3 /scripts/workday_query.py count_workdays 2026-01-01 2026-03-31 # 计算申报截止日(遇非工作日顺延) python3 /scripts/workday_query.py deadline 2026-07-15 # 列出某月所有工作日 python3 /scripts/workday_query.py month_workdays 2026-04
| 文件 | 内容 | 何时读取 |
|---|---|---|
references/holidays-YYYY.md |
某年假期安排详情 | 用户询问具体假期天数/调休细节 |
references/tax-filing-calendar-YYYY.md |
某年完整申报截止日(官方数据) | 必须使用,用户询问纳税申报截止日 |
references/tax-filing-calendar.md |
各税种申报周期通用规则 | 无对应年份数据时参考 |
⚠️ 纳税申报的起始日和截止日,必须以官方数据为准(
tax-filing-calendar-YYYY.md),严禁自行推算(包括deadline命令)。若该年份文件不存在,先通过 12366 接口获取后再作答。
| 数据 | 官方来源 |
|---|---|
| 法定节假日/调休 | 国务院官方通知,通过 NateScarlet/holiday-cn 索引 |
| 纳税申报日历 | 国家税务总局:https://www.chinatax.gov.cn/ |
https://12366.chinatax.gov.cn/bsfw/calendar/getCalendarListForMonthssjg=111000000&bssj=YYYY-MM,遍历 01–12 月bsjssj(截止日)和 bssz(申报事项),写入 references/tax-filing-calendar-YYYY.md 固化相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章