员工手册与制度审查·劳动法风险
在发布或执行之前,把员工手册 / 规章制度的纯文本快速过一遍,提前暴露容易违法或引发劳动争议的表述:试用期、罚款扣薪、押金证件、加班费、休假、单方解除、竞业补偿、社保、婚育歧视、工时等。输出按「高 / 中 / 低」分级、尽量定位到行的问题清单与修改方向。
执行原则
- 只报不改。 脚本只读规章文本、输出问题清单与修改方向;不要直接替用户改写或补写条款正文。
- 按码定位。 每条结论带规则码、行号、说明与建议,交付时原样引用;不要凭印象补行号,也不要虚构条款。
- 分档给结论。 结论按风险分四档,高风险优先改;不要把「规则未命中」说成「这份制度合法合规」。
- 承认漏报。 规则基于关键词与常见表述,换个说法即绕过;不要把命中项当成全部问题。
- 不是审制度。 只做文本层面合规提示,效力判断与条款起草不在范围内;不要给出法律意见,各地标准请以当地规定与专业意见为准。
何时使用
CRITICAL: 只要用户提出「看员工手册有没有问题 / 审一下规章制度 / 这份制度能不能发」,就必须使用本 skill,即使看起来可以用别的方式解决。
- 用户给出员工手册 / 规章制度文本(.txt/.md),说「帮我看看这份手册有没有问题」「审一下制度里的条款」。
- 拟写或修订规章,想先跑一遍高频风险点,看哪些条款需要改。
- 拿到一份外来制度,想快速定位需要重点核对的条款。
不适用:需要判断具体法律效力、胜败概率、如何起草条款的场合——本工具只做文本层面的合规提示,不构成法律意见。
何时不该使用
| ✅ 使用(理由) | ❌ 不用(改用什么) |
|---|---|
| 发布 / 执行前的文本层面合规自查(14 条规则、定位到行) | 判断某条款是否违法、会不会败诉(属法律效力判断,请劳动法专业律师) |
| 查试用期、加班费、年休假、社保等高频风险点 | 起草或重写制度条款正文(本工具只报不改,请法务 / HR 起草) |
| 核对竞业补偿、病假工资、工时是否写明 | 计算经济补偿金、加班费的具体金额(需结合工资与工时事实) |
| 扫婚育限制、押金扣押证件等歧视性 / 违法表述 | 各地社保基数、最低工资与地方性规定的核对(以当地规定为准) |
易混淆场景
| 用户说的 | 实际意图 | 正确路由 |
|---|---|---|
| 「这份手册有没有问题」 | 要风险判断 | 先给结论分档,再列规则码与行号 |
| 「试用期写 3 个月行不行」 | 要一个明确答案 | 按劳动合同期限推算上限并给规则依据,说明需结合实际合同期限 |
| 「帮我把这条改成合法的」 | 要条款文本 | 只给修改方向,不代写条款正文 |
| 「手册要公示签收吗」 | 要程序合规建议 | 提示 P14 未见公示签收约定,具体程序请法务确认 |
| 「这条会不会被判无效」 | 要效力结论 | 明确超出范围,请劳动法专业律师判断 |
怎么用
# 检查一份规章文本
python3 scripts/policy_lint.py 员工手册.txt
# 输出 JSON(便于接后续流程)
python3 scripts/policy_lint.py 员工手册.txt --json
# 用内置样例看效果(样例故意包含各类问题点,均为虚构)
python3 scripts/policy_lint.py --sample
退出码:0 = 未发现问题;1 = 发现问题(或读取失败)。报告结尾固定附免责声明。
规则码与检查项
| 规则码 | 含义 | 默认严重度 |
|---|---|---|
P1 PROBATION_TOO_LONG |
试用期超法定上限(不满 3 个月不得约定;3 个月–1 年≤1 个月;1–3 年≤2 个月;3 年以上/无固定≤6 个月) | 高 |
P2 PROBATION_AGAIN |
重复 / 延长试用期;试用期工资低于转正工资的 80% | 高 |
P3 FINE_CLAUSE |
约定对员工罚款 / 克扣、扣发工资 | 高 |
P4 DEPOSIT_CLAUSE |
收取押金、保证金或扣押身份证等证件 | 高 |
P5 OT_NO_PAY |
加班不支付加班费或不安排调休(义务加班 / 自动放弃加班费) | 高 |
P6 LEAVE_BELOW_LAW |
年休假低于法定(满 1 年 5 天 / 满 10 年 10 天 / 满 20 年 15 天) | 中 |
P7 TERMINATION_UNILATERAL |
单方无理由解除 / 随时解除且不予经济补偿 | 高 |
P8 NONCOMPETE_NO_COMPENSATION |
约定竞业限制但未约定经济补偿(或明确不支付) | 中 |
P9 SICK_LEAVE_NO_PAY |
病假期间完全不支付工资 | 中 |
P10 SOCIAL_INSURANCE_OPT_OUT |
约定放弃社保 / 以现金代替社保 | 高 |
P11 PENALTY_TOO_HARSH |
明显不合理的赔偿 / 违约金 | 中 |
P12 MARRIAGE_FERTILITY_RESTRICT |
限制婚育 / 承诺不生育(歧视性条款) | 高 |
P13 WORK_HOURS_EXCESS |
约定工时明显超法定(>8 小时/日 或 >40 小时/周)且无综合/不定时工时说明 | 中 |
P14 NO_ACK_CLAUSE |
未见公示、签收或修订程序的约定 | 低 |
结论分四档:出现高风险 → 存在高风险违法/争议条款,建议发布前优先修改;仅中风险 → 存在需关注的合规风险,建议逐项核对;仅低风险 → 存在轻微提示项,可按需优化;无 → 未发现明显问题。
输出示例(节选)
合计 14 项:高风险 8 · 中风险 5 · 低风险 1
结论:存在高风险违法/争议条款,建议发布前优先修改
—— 高风险 ——
[PROBATION_TOO_LONG] 试用期约 3 个月,可能超过法定上限(第 6 行)
· 说明:按劳动合同期限推算,试用期上限约为 1 个月;法定规则:不满 3 个月不得约定试用期,3 个月–1 年≤1 个月,1–3 年≤2 个月,3 年以上/无固定≤6 个月
· 建议:将试用期调整到法定上限之内;确需考察的可通过转正考核、绩效辅导实现
[DEPOSIT_CLAUSE] 约定收取押金或扣押员工证件(第 14 行)
...
—— 中风险 ——
[LEAVE_BELOW_LAW] 年休假天数(满 1 年给 3 天)低于法定 5 天(第 21 行)
...
设计边界
- 纯标准库 Python(3.12+),只读,无网络请求,无
subprocess/eval。 - 规则基于关键词与常见表述,会有漏报(换一种说法即绕过)与误报(出现词但语境不同);输出尽量定位到行,便于人工复核——它是「检查清单」,不是「审制度」。
- 报告固定附免责声明:本检查仅为文本规则提示,不构成法律意见;各地标准可能有差异,请以当地规定与专业意见为准。
免责声明
- 本工具只做文本层面的要素与风险提示,不构成法律意见,也不构成对条款效力、劳动争议结果的预测。
- 它是「检查清单」不是「审制度」:命中项需结合企业实际与用工事实人工复核,未命中也不代表制度合规。
- 劳动法的地方性规定差异较大(社保基数、最低工资、休假与特殊工时审批),请以当地规定与劳动法专业人员意见为准。