Install
openclaw skills install @chenqg618/teacher-hour-pay-check-free课时消耗与教师课时费明细表逐项核对(课时费=课时数×课时单价逐行复算、正课/试听/补课口径区分、学员消课课时与系统课耗课时逐笔勾稽、合计行逐列复核、课时单价低于合同保底单价、重复课时记录与关键字段空缺),每条结论引用原文行号。本免费版执行引擎声明的免费检查项。触发词包括 课时消耗与教师课时费核对、课时消耗与教师课时费明细表对不上、课时费算错了、学员消课和系统课耗对不上、课时单价低于保底。
openclaw skills install @chenqg618/teacher-hour-pay-check-free完全本地运行:引擎已经打包在本技能里(
engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
谁会在什么时候用:教培机构的教务 / 财务 / 校区主管,在每月算教师课时费这条流程上: 先把学员课时包的「课耗」导出来,再按排课记录算老师该拿多少课时费,两张数必须对到一起才能发钱。 月底一次要核好几张表(多个教师、多个校区),核完就得往下走。
这张表会逐项核对什么(全是纯算术,几十上百行没人愿意手核):
每条结论都带原文行号与出处(文件名:行号),可被第三方用同一口径复算;
材料不足时不给结论,会明确列出还缺什么。
node scripts/run.mjs --sample # 先看样例
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
入参就是这张表本身:把表头和数据行一起复制成文本贴进来(从 Excel 复制,Tab 分隔最稳),
写成 {"text": "…"} 或直接粘纯文本都行;也可以用 file 字段给个材料名,结论里的行号会带上它。
表头必须能认出这 11 列:教师、校区、课程类型、上课日期、课时数、课时单价、课时费、
代课补贴、学员消课课时、系统课耗课时、合同保底单价(少一列就会直接说"材料不足",不会猜)。
run(payload) 返回 {status, result}:
status:success(已执行检查)或 insufficient_input(材料不足,此时没有 result,也不给任何结论)result.findings[]:每条 = level(P0/P1)、category、line(原文行号)、amount、
message(带具体数字)、evidence(文件名:行号)、advice(怎么改)result.summary:条数、P0/P1 计数、hours_total / pay_total / subsidy_total /
consumed_total / sys_consumed_total、verdict(NO_ISSUE_FOUND / NEEDS_REVIEW / ERROR_FOUND)result.checks_executed / checks_withheld:本次真的执行了哪些、哪些没有执行(如实列出,不伪造)本免费版是完整可用的核心产出;下面这些检查项不在本版本里执行(引擎会如实列在
checks_withheld 里,绝不会假装做过):
需要这一层能力的是另一个独立商品,条款与条件以它自己的商品页为准; 两档的差别就是上面这些,没有别的。
本免费版是完整可用的核心产出,本版本不包含下面这些项:
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断:
不判断排课、考勤与上课是否真实发生(那是教务排课系统与签到记录的事)、
不判断课时包售价、退费与赠课规则是否合规、不判断课时单价与代课补贴标准本身是否合理合法、
不处理跨月结转、跨校区调课、离职结算与个税社保代扣、不直接读 .xlsx / .pdf。
材料不足时不给结论,也不会输出「未发现问题」。