agentleFS
Ldxs001Ldxs001/maby_skills/workday-calendar/SKILL.md

workday-calendar

Skill0 starsChanged 3 months agoMITView on GitHub

智能周历系统。支持法定假日、补班日、轮休系统(跳过/不跳过法定假双模式)、特殊休息(公休/临修)、个人日程管理。

The file

Files
SKILL.md

智能周历系统 (Workday Calendar)

触发条件

正向触发:

  • 查询或管理法定假日、补班日、调休安排
  • 计算年度工作日、工作日统计
  • 生成周历、日程安排
  • 查询某天的空闲时间、日程安排
  • 添加、更新、删除日程事件
  • 说出关键词:"周历"、"工作日"、"假日区间"、"日程"、"安排"
  • 用户讨论日历 UI 组件设计(如"帮我画一个日历组件"),应触发 drawiodo 而非本技能
  • 用户要求操作其他日历应用(如 Google Calendar、Outlook 日历),本技能仅管理本地数据

否定条件(不触发)

  • 用户只是询问日期(如"今天几号"),无假日/工作日/日程管理意图
  • 用户讨论日历 UI 组件设计(如"帮我画一个日历组件"),应触发 drawiodo 而非本技能
  • 用户要求操作其他日历应用(如 Google Calendar、Outlook 日历),本技能仅管理本地数据

核心能力

📚 渐进式加载:本技能采用渐进式 MD 体系,SKILL.md 为入口(≤230行),详细内容拆分到 references/*.md 按需加载。

能力说明
法定假日管理区间形式存储节假日,支持 AI 批量导入
补班日管理单独记录调休上班日期
周末规则可配置双休/单休/单双休/自定义周几
工作日计算自动计算年度总工日,含所有休息类型统计
轮休系统skip/add 双模式,可配置周期,跨年缓存
特殊休息公休/临修,支持单日和区间,最高优先级
个人日程添加/删除/更新/查询/冲突检测
排班时段15 分钟粒度,支持岗位+人员多赋值
HTML 导出排班周历 / 日程周历 / 排班表(周/月/日期范围)
定时任务自动化配置,Markdown 输出
配置中心Web 界面(settings.py,端口 8765)

渐进式文件索引

文件名分类包含内容审计关联
references/LICENSE.md许可协议MIT 许可证完整文本R-26
references/antipatterns.md规范指南常见反模式与避坑指引R-18
references/changelog.md版本管理版本更新日志R-24
references/cli.md命令参考CLI 命令完整列表无
references/data_format.md参考文档JSON 数据格式说明无
references/examples.md使用示例各场景完整交互示例R-25 C-17
references/faq.md常见问题常见疑问与解答R-19, R-25 C-19
references/guide.md使用指南Python API 使用示例无
references/permissions.md权限与测试权限扫描说明与测试结论R-15, R-16
references/test-report.md测试报告skill-function-test 测试结论无

工作流程

首次使用 / 新年份

当某年没有法定假日数据时(load_holiday_intervals(year) 返回空列表),必须主动联网查询国务院办公厅放假安排通知:

  1. 联网查询 — 输入:年份 → 搜索"国务院办公厅 20XX年 放假安排" → 输出:法定假日日期范围、补班日、假期名称
  2. 组织规则模板 JSON — 输入:查询结果 → 按 export_rules_template 格式组织 JSON → 输出:标准规则模板
  3. 导入 — 输入:规则模板 → 调用 import_rules_from_template() → 输出:数据写入 JSON 文件
  4. 核对 — 输入:已导入数据 → 运行 python scripts/workday_calendar.py rules 20XX → 输出:规则确认表
  5. 计算 — 输入:确认无误的数据 → 调用 calculate_total_workdays(20XX) → 输出:年度工日统计

联网查询要求:

  • 搜索关键词:"国务院办公厅 20XX 年 放假安排"
  • 获取:法定假日日期范围、调休上班日(补班)、假期名称
  • 确认该年周末规则(通常为标准双休日六日)

组织规则模板(export_rules_template 格式):

{
  "version": "1.0",
  "year": 2027,
  "base_type": "holiday",
  "rules": {
    "weekend_config": {"weekends": [0, 6]},
    "holiday_intervals": [
      {"name": "元旦", "start": "2027-01-01", "end": "2027-01-03"}
    ],
    "compensatory_days": [
      {"date": "2027-01-04", "note": "元旦补班"}
    ],
    "rotation_configs": [],
    "special_rests": []
  }
}

执行导入:

template = {上面组织好的 JSON}
import_rules_from_template(template)

导入后核对:

python scripts/workday_calendar.py rules 2027

⚠️ 核对步骤必须执行:节假日日期、补班日必须与国务院通知完全一致。

四层数据架构

底板(法定假休, 永远不变)
  └→ weekend_config(双休/单休/自定义周几)
      └→ 排班规则(轮休/公休/临修, 始终叠在 weekend_config 上)
          ├─ toggle OFF → 假休保留(不受排班影响)
          └─ toggle ON  → 排班全面覆盖(包括假休)
              └→ 个人日程(记事本, 永远最上层)

日期类型优先级

优先级类型规则
1补班日强制计为工作日
2临修强制计为休息日
3公休强制计为休息日
4轮休按配置生成的休息日
5法定假日强制计为休息日
6周末按配置的周末规则
7工作日其他日期

日程冲突检测

  • 添加日程时自动检测时间冲突
  • 更新日程时重新检测冲突,冲突则自动还原
  • scripts/workday_calendar.py — 核心逻辑
  • scripts/settings.py — 配置中心 Web 服务器

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.