加班调休管理助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_306f07d7/overtime-tracker。
技能介绍
解决什么问题
加班和调休在群里靠人肉记录时,常见的三类问题:一是加班时长记了,但调休用掉多少、扣的是哪几条加班,对不上账;二是事由写得含糊,回头审计时没人知道那次加班是修了什么 Bug、那次调休是去干了什么;三是多人共用一个记录场景时,很容易互相看到对方的记录。这个技能把「记录加班 → 发起调休 → 扣减余额 → 查询统计 → 撤销」这条链路用脚本固化下来,所有操作都带强制的事由字段,并且按用户隔离数据。
核心能力
- 记录加班:必须提供日期、起止时间以及加班内容(
reason为必填),例如add_ot --date 2026-01-08 --start 19:00 --end 21:00 --reason "修复线上支付Bug" --user user123。 - 记录调休:同样强制填写调休事由,支持两种扣减方式:
- 自动扣减:从同月加班记录里按时间顺序扣除,命令 add_tf --date ... --start ... --end ... --reason ... --user ...。
- 定向扣减:通过可重复的 --from 日期 小时 指定一条或多条加班记录来消耗,扣减总和必须等于调休时长,例如 add_tf ... --from 2026-01-08 2 --from 2026-01-07 1。
- 查询与统计:
query --user user123 [--date 2026-01] [--type ot|tf]看明细,stats --user user123 [--month 2026-01]看剩余时长。 - 撤销:
remove_ot --id 3 --user user123只能撤尚未被调休占用的加班;remove_tf --id 2 --user user123会同时把消耗掉的加班时长还回去。
关键机制
- 所有加班日期都可用于调休;余额不足时明确告知差多少小时,而不是静默截断。
- 身份一律从渠道上下文(如 QQ Bot、企业微信
inbound meta里的sender_id)获取,不依据存量 JSON、USER.md或MEMORY.md推断。 - 数据按
user_id隔离存储在技能目录下的data_.json,读取严格走命名规则,读不到就明确说明,不会去翻其他文件。 - 只回复当前用户的数据,其他用户的记录不交流、不展示。
适用边界
- 适合「按小时粒度、同月对账、需要事由留痕」的团队考勤辅助场景,不做薪资核算、不做审批流。
- 跨月调休的自动扣减不在能力范围内,只能用定向
--from手动指定。 - 拿不到身份信息时技能会直接拒绝记录或查询,需要先确认渠道上下文是否透传了
sender_id。 - 所有写操作都通过调用
manager.py完成,推荐命名参数风格,旧的位置参数格式仍兼容。
使用场景
- 团队群里告知加班到 21:00 修支付 Bug,助手按 `add_ot` 落一条带事由的加班记录,供之后调休对账。
- 申请下周三上午调休去医院体检,用 `add_tf` 记录事由并自动从同月加班按时间顺序扣减时长。
- 调休想指定消耗 1 月 8 日 2 小时和 1 月 7 日 1 小时,通过重复 `--from` 定向扣减并校验总和一致。
- 调休时长超过可用加班时,助手直接说明缺几小时,并通过 `stats --month` 查看当前剩余。
适合人员
- 需要按小时登记加班与调休、并在月底核对剩余时长的团队考勤负责人
- 在 QQ Bot 或企业微信里提交加班、调休申请,并希望记录含事由留痕的成员
- 负责数据隔离,确保各渠道用户只能查看自己 `data_.json` 记录的运营或 IT 管理员
- 需要撤销尚未使用的加班或回滚调休扣减的团队助理