Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

cn-calendar

查询中国大陆法定节假日、工作日、调休安排及企业纳税申报日历。数据来源权威:节假日来自国务院每年发布的通知(gov.cn),纳税申报日历来自国家税务总局(chinatax.gov.cn)。触发场景:(1) 判断某天是否为工作日/节假日/调休日;(2) 计算工作日数量、加减工作日;(3) 查询纳税申报截止日(遇节假日...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 19 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (查询节假日/工作日/纳税申报日历) match the included scripts and reference files. No unrelated environment variables, binaries, or external services are required beyond public data sources (GitHub raw content and the 12366 tax API).
Instruction Scope
SKILL.md directs the agent to fetch JSON from NateScarlet/holiday-cn and (when needed) to query the 12366 endpoint for tax calendar data, then parse and persist that data to references/*.md and append data blocks into workday_query.py. These actions are within the skill's stated purpose but do give the agent authority to read remote public pages and to write/modify files under the skill directory; users should be aware of that persistence.
Install Mechanism
No install spec; skill is instruction-plus-scripts only. No downloads from unknown hosts or archive extraction are present. Network fetches target known public endpoints (raw.githubusercontent.com and 12366.chinatax.gov.cn).
Credentials
The skill requests no environment variables or credentials. Network access and filesystem write permissions (to its own skill directory) are the only runtime requirements, which are proportionate to its job.
Persistence & Privilege
The skill persistently writes references/holidays-YYYY.md and can modify scripts/workday_query.py to add new-year data; it also runs a local python invocation to test syntax. This self-update behavior is expected for its function but is a form of persistence — not inherently malicious but worth understanding (the skill will change its code/data on disk).
Assessment
This skill appears coherent for a China holiday/tax calendar helper. Before installing, note: (1) it will fetch public JSON from raw.githubusercontent.com (NateScarlet/holiday-cn) and may POST to https://12366.chinatax.gov.cn to obtain tax-calendar data; (2) it will write files into its skill folder (~/.openclaw/skills/cn-calendar/references/) and edit its own script (workday_query.py) to persist new-year data; (3) it requests no secrets. Recommended precautions: ensure you trust the two upstream data sources (GitHub index and 12366 API); back up the skill folder before allowing automatic '--save' or auto-update actions; if you prefer, require manual review of fetched data before permitting the script to run the '--save' mode that edits files; limit network/file permissions if possible. The code has minor sloppy bits (a placeholder fixed by discard) but nothing that looks intentionally harmful.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk9726sph1bknshtk85egcs1zw9830mnj

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

cn-calendar:中国大陆节假日与工作日日历

核心流程

用户查询 → 检查本地数据是否覆盖该年份
              ├── 有 → 直接运行查询脚本
              └── 无 → 从官网抓取 → 解析 → 固化写入 → 运行查询脚本

第一步:检查本地数据覆盖范围

python3 ~/.openclaw/skills/cn-calendar/scripts/fetch_holidays.py <YYYY> --check
  • 返回 "status": "exists" → 直接跳到第三步执行查询
  • 返回 "status": "missing" → 执行第二步抓取

第二步:本地无数据时,实时抓取并固化

2a. 从 NateScarlet/holiday-cn 获取数据

直接抓取 JSON(已索引国务院官方通知,数据可信):

web_fetch: https://raw.githubusercontent.com/NateScarlet/holiday-cn/master/YYYY.json

返回格式:days[] 数组,每条包含 dateisOffDayname

  • isOffDay: true → 法定节假日(非工作日)
  • isOffDay: false → 调休补班日(原为周末,需上班)

若该年份 JSON 尚未创建(返回 404),说明国务院通知未发布,告知用户以官方为准。

2b. 解析通知内容,提取结构化数据

从通知正文中提取:

  • 每个法定假期的放假日期列表(所有非工作日)
  • 调休补班日期列表(原为周末但需上班的日期)

2c. 生成 references/holidays-YYYY.md 并写入

生成格式参考 references/holidays-2025.md,内容包括:

  • 来源说明(官网 URL + 发布日期)
  • 各节假日放假安排表
  • 调休汇总表
  • ⚠️ 若数据来自预测/草案,注明"待官方最终确认"

直接用 write 工具写入:~/.openclaw/skills/cn-calendar/references/holidays-YYYY.md

2d. 更新 workday_query.py 数据

将新年份的假期和调休数据以以下格式追加到 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/

注意事项

  • 国务院通常在前一年11月发布次年假期通知,若该年通知尚未发布,需明确告知用户并给出预测(注明"待官方最终确认")。
  • 纳税申报日历数据来源:12366纳税服务平台(北京市,ssjg=111000000),以北京数据为全国统一标准参考。
  • 新年份申报日历获取规则(2027年及以后):在伟斌提供新数据源之前,统一通过以下接口获取:
    • POST https://12366.chinatax.gov.cn/bsfw/calendar/getCalendarListForMonth
    • 参数:ssjg=111000000&bssj=YYYY-MM,遍历 01–12 月
    • 获取后解析 bsjssj(截止日)和 bssz(申报事项),写入 references/tax-filing-calendar-YYYY.md 固化
  • 抓取后的数据固化到本地,后续查询无需重复抓取。

Files

7 total
Select a file
Select a file to preview.

Comments

Loading comments…