Workday calendar
一个包含agent和skill的集合:RAG、技能审查、周报生成、项目管理、质量监控...及技术方案/内部设计文档
npx -y skills add Ldxs001/workbuddy-skills --skill workday-calendarAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
智能周历系统。支持法定假日、补班日、轮休系统(跳过/不跳过法定假双模式)、特殊休息(公休/临修)、个人日程管理。
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
6.4 KB, as published. Nobody here has run it
智能周历系统 (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) 返回空列表),必须主动联网查询国务院办公厅放假安排通知:
- 联网查询 — 输入:年份 → 搜索"国务院办公厅 20XX年 放假安排" → 输出:法定假日日期范围、补班日、假期名称
- 组织规则模板 JSON — 输入:查询结果 → 按
export_rules_template格式组织 JSON → 输出:标准规则模板 - 导入 — 输入:规则模板 → 调用
import_rules_from_template()→ 输出:数据写入 JSON 文件 - 核对 — 输入:已导入数据 → 运行
python scripts/workday_calendar.py rules 20XX→ 输出:规则确认表 - 计算 — 输入:确认无误的数据 → 调用
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 服务器