Install
openclaw skills install cn-calendar查询中国大陆法定节假日、工作日、调休安排及企业纳税申报日历。数据来源权威:节假日来自国务院每年发布的通知(gov.cn),纳税申报日历来自国家税务总局(chinatax.gov.cn)。触发场景:(1) 判断某天是否为工作日/节假日/调休日;(2) 计算工作日数量、加减工作日;(3) 查询纳税申报截止日(遇节假日顺延);(4) 查看法定假期安排;(5) 询问"X月X日是工作日吗"、"下一个工作日是哪天"、"增值税申报截止日"等。支持2025–2026年本地数据,超出范围自动从官网抓取并固化。
openclaw skills install cn-calendar用户查询 → 检查本地数据是否覆盖该年份
├── 有 → 直接运行查询脚本
└── 无 → 从官网抓取 → 解析 → 固化写入 → 运行查询脚本
python3 ~/.openclaw/skills/cn-calendar/scripts/fetch_holidays.py <YYYY> --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 <skill_dir>/scripts/workday_query.py is_workday 2026-04-06
# 找下一个工作日(从该日期之后)
python3 <skill_dir>/scripts/workday_query.py next_workday 2026-01-23
# 从某天起加N个工作日
python3 <skill_dir>/scripts/workday_query.py add_workdays 2026-03-01 10
# 统计两日期间工作日数
python3 <skill_dir>/scripts/workday_query.py count_workdays 2026-01-01 2026-03-31
# 计算申报截止日(遇非工作日顺延)
python3 <skill_dir>/scripts/workday_query.py deadline 2026-07-15
# 列出某月所有工作日
python3 <skill_dir>/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 固化