← Back to Skills Marketplace
claudecaicai

Chinese Holiday Assistant

by claudecaicai · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ✓ Security Clean
306
Downloads
1
Stars
1
Active Installs
3
Versions
Install in OpenClaw
/install cn-holiday-checker
Description
Queries Chinese holidays, work-shift arrangements, and determines if a date is a workday based on synced iCloud data and weekly rules.
README (SKILL.md)

中国节假日助手 (cn-holiday-checker) / Chinese Holiday Assistant (cn-holiday-checker)

该技能用于查询中国节假日、调休安排及工作日判定。 This skill is used for querying Chinese holidays, work-shift arrangements, and workday determination.

功能说明 / Functionality

  • 节假日识别 / Holiday Recognition:支持多文件数据源,自动合并解析 data/ 目录下的所有 .ics 文件。 / Supports multi-file data sources; automatically merges and parses all .ics files in the data/ directory.
  • 跨日事件处理 / Cross-day Event Processing:支持处理具有 DTSTARTDTEND 的持续性事件,不再仅限于单日标记。 / Supports processing continuous events with DTSTART and DTEND, no longer limited to single-day markers.
  • 自动判定 / Automatic Determination:优先匹配节假日/调休事件;若无匹配,则根据自然周(周一至周五工作日,周六至周日休息日)进行判定。 / Prioritizes matching holiday/work-shift events; if no match, determines based on the natural week (Mon-Fri as workday, Sat-Sun as rest day).
  • 自动更新 / Automatic Update:通过 cron 定时任务每月自动拉取最新日历数据。 / Automatically pulls the latest calendar data monthly via cron.

环境要求 / Requirements

  • Python 3.x
  • 已安装依赖 / Installed dependencies: requests, icalendar

使用方法 / Usage

1. 查询指定日期 / Query a specific date

支持通过 --date 参数传入日期(格式为 YYYY-MM-DD),若不传入则默认使用当天日期: Supports querying a specific date via the --date parameter (format: YYYY-MM-DD); defaults to today if not provided:

python3 cn-holiday-checker/scripts/holiday_checker.py --date "2026-03-19"

2. 手动更新数据 / Manual Data Update

如果需要立即更新节假日数据,请运行: If you need to update holiday data immediately, please run:

python3 cn-holiday-checker/scripts/download_ics.py

配置说明 (config.json) / Configuration (config.json)

  • 存放技能相关的环境变量。 / Stores environment variables related to the skill.
  • 支持 PRIMARY_URL (主数据源) 与 BACKUP_URL (备用数据源)。 / Supports PRIMARY_URL and BACKUP_URL (backup data source).
  • 脚本会自动向上回溯识别 config.json 文件,确保迁移目录后配置依然有效。 / The script automatically traces upward to identify the config.json file, ensuring configuration remains valid after migrating the directory.
Usage Guidance
This skill is coherent and low-risk but follows a few simple rules before you run it: - Inspect config.json to confirm PRIMARY_URL and BACKUP_URL are trusted sources (the default PRIMARY_URL is an iCloud public holidays feed; the backup is GitHub raw). Replace only with URLs you trust. - Running download_ics.py will perform HTTP GET(s) and overwrite data/cn_zh.ics — check the downloaded content if you need to guard against unexpected calendar entries. - Dependencies: install requests and icalendar in a controlled Python environment. - SKILL.md mentions automatic cron updates but doesn't provide a cron job; if you set a cron yourself, consider network restrictions. - The SKILL.md statement about upward-tracing for config.json is inconsistent with the code (it uses a fixed path), so verify config placement if you move the folder. If you accept those caveats (trusted URLs and the script's write behavior), the skill appears to be what it claims.
Capability Analysis
Type: OpenClaw Skill Name: cn-holiday-checker Version: 1.0.2 The skill is a legitimate utility for checking Chinese holidays and workdays. The code in `scripts/download_ics.py` and `scripts/holiday_checker.py` performs standard file downloading and ICS parsing using reputable sources (iCloud and GitHub) defined in `config.json`. There is no evidence of data exfiltration, malicious execution, or prompt injection; the mention of `cron` in `SKILL.md` is consistent with the functional requirement of keeping calendar data up to date.
Capability Assessment
Purpose & Capability
Name/description match the code and config: the skill parses .ics files in data/, supports DTSTART/DTEND ranges, and can update the calendar by downloading from PRIMARY_URL/BACKUP_URL. The listed URLs in config.json (iCloud public holidays and a GitHub raw file) are consistent with the stated purpose.
Instruction Scope
Runtime instructions and scripts only read config.json and .ics files under data/ and optionally perform HTTP GET to configured URLs then write the downloaded calendar to data/cn_zh.ics. SKILL.md mentions a cron monthly update (no cron job provided) and claims upward-tracing of config.json; the code uses a fixed path (BASE_DIR/config.json) rather than walking upward, so the documentation slightly overstates behavior. Be aware the download step fetches remote content and writes it to disk.
Install Mechanism
This is an instruction-only skill with no install spec. It requires Python packages (requests, icalendar) noted in the README — reasonable and proportionate for the task. No arbitrary or opaque external installers are used.
Credentials
The skill requests no environment variables or credentials. config.json contains only URL strings for data sources. This is proportional. Caution: if you or a third party edits PRIMARY_URL/BACKUP_URL to point at an attacker-controlled host, the skill will download and write whatever content is served, so treat those URLs as trust-sensitive.
Persistence & Privilege
The skill does not request permanent inclusion (always:false), does not modify other skills or system-wide settings, and has no special privileges. It only writes a single calendar file under its data/ directory.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install cn-holiday-checker
  3. After installation, invoke the skill by name or use /cn-holiday-checker
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
- Added support for reading and merging multiple `.ics` holiday calendar files from the `data/` directory. - Implemented cross-day event handling: correctly processes events spanning multiple days using `DTSTART` and `DTEND`. - Updated documentation to reflect multi-source and continuous event support. - Added a sample holiday calendar file (`data/cn_zh.ics`).
v1.0.1
- Added support for the `--date` parameter to query a specific date (format: YYYY-MM-DD); defaults to today if not provided. - Usage documentation updated to reflect the new date-query feature.
v1.0.0
Initial release of the Chinese Holiday Assistant (cn-holiday-checker): - Query Chinese holidays, work-shift arrangements, and determine workdays/rest days. - Automatically syncs iCloud holiday data, updated monthly via cron. - Prioritizes holiday/work-shift rules; defaults to standard weekday/weekend logic if no match found. - Manual update and date query supported via provided scripts. - Flexible configuration with primary and backup data sources using config.json; configuration remains valid after directory changes.
Metadata
Slug cn-holiday-checker
Version 1.0.2
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 3
Frequently Asked Questions

What is Chinese Holiday Assistant?

Queries Chinese holidays, work-shift arrangements, and determines if a date is a workday based on synced iCloud data and weekly rules. It is an AI Agent Skill for Claude Code / OpenClaw, with 306 downloads so far.

How do I install Chinese Holiday Assistant?

Run "/install cn-holiday-checker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Chinese Holiday Assistant free?

Yes, Chinese Holiday Assistant is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Chinese Holiday Assistant support?

Chinese Holiday Assistant is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Chinese Holiday Assistant?

It is built and maintained by claudecaicai (@claudecaicai); the current version is v1.0.2.

💬 Comments