# Labor Contract Review

> 当用户上传或提供《劳动合同》《聘用合同》《劳务协议》等文件，并希望检查条款是否合法合规、识别不公平或违法条款、获取修改建议与可直接替换的合规表述时使用。触发词包括"检查劳动合同""审查合同""合同合规""劳动合同有没有问题""帮我看看这份合同""审查我的劳动合同风险"。

- Skill: `cslawyer1985/labor-contract-review` (Agent Skill, multi-file: 7 files)
- Install (CLI): `npx skillmds@latest add cslawyer1985/labor-contract-review`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cslawyer1985/labor-contract-review/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cslawyer1985 (https://skillmd.com/u/cslawyer1985)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cslawyer1985/labor-contract-review

---


# 劳动合同合规审查

## 概述
本技能**全国通用**，按"国家 → 省 → 市"三级适用法律，自动匹配用人单位所在地（默认中国，据合同"工作地点/注册地"推断省份与城市，必要时询问用户）后，再据对应层级法规审查。接收用户上传的劳动合同（PDF / Word / 图片），自动抽取全文并逐条对照《中华人民共和国劳动合同法》《劳动法》及配套法规与地方法规，判断每条条款的合规状态、风险等级与法律依据，并输出可查看的 HTML 审查报告与 Excel 报告。对违规/高风险条款，额外给出"可直接替换的合规表述"批注与"建议改正内容"，并始终从劳动者（员工）立场给出"给员工的建议"列。

## 适用场景
- 用户上传 `.pdf` / `.doc` / `.docx` / `.png` / `.jpg` / `.jpeg` / `.webp` 格式的劳动合同或聘用协议。
- 用户表述："帮我审查这份劳动合同""合同条款有没有违法的""试用期约定合规吗""帮我看看这份合同风险大不大"。
- 用户希望得到逐条结论 + 总体风险评级 + 修改建议 + 可直接套用的合规表述。

## 工作流程

### 第 0 步：地域分级检索与自动匹配（国家 → 省 → 市）
本技能**全国通用**。先确定法域层级，再按对应层级法规审查。
1. **确定国家**：默认"中国"。若合同显示境外用工（港澳台、海外），提示超出本技能范围或切换法域。
2. **确定省 / 市**：从合同"工作地点""用人单位注册地""劳动合同履行地"推断；若未明确或多地，主动询问用户所在城市，再据城市映射省份（如"深圳市→广东省""杭州市→浙江省"）。
3. **实时检索层级变量**（WebSearch 检索当前有效数值与法规名称+条款号）：
   - **省级**：月最低工资标准（及地级市执行档次）、上年度社平工资、产假/陪产假天数、高温津贴标准与月份；
   - **市级**：工资支付条例（发薪日、离职结清时限、工资扣减下限，详见 `references/local_regulations.md`）；
   - 关键国家法条最新表述是否修订（如"劳动合同法 试用期 最新规定"），以复核规则库。
4. **记录结果**：写入 `jurisdiction`（country/province/city）与 `local_rules`（每条含 `level`/`source`/`date`/`value`，如 `{"level":"市级","topic":"最低工资","value":"2740 元/月","source":"上海市人社局","date":"2026-01"}`）；保留 `local_wage` 字段用于报告展示。检索无果时注明"以当地人社部门最新公布为准"，严禁杜撰。

### 第 1 步：定位并读取合同
1. 确认用户提供的文件路径；若用户直接粘贴了合同文字，则直接使用贴出的文本，跳到第 2 步。
2. 优先做结构化抽取（长文档更可靠）：
   - 运行 `scripts/extract_contract.py <合同路径>`，将全文抽到同名的 `_extracted.txt`；
   - 首次运行前在托管 Python venv 中安装依赖：`pip install pdfplumber python-docx`；
   - 抽取成功则用 Read 读取该 txt。
3. 若抽取失败、或文件为图片，直接对原文件使用 Read 工具：PDF 与图片可被 Read 直接解析（图片以视觉方式读取），Word 亦可被 Read 解析。两种读取方式任选其一，优先保证拿到完整原文。

### 第 2 步：条款分段
- 按"第X条""X、""（X）"或自然章节将合同切分为条款单元，保留原文片段以便引用。
- 连续的正文段落归入其所属条款。
- 统计条款总数，用于报告元信息。

### 第 2.5 步：必备条款占位符 / 空白值检查（防漏检，硬性要求）
很多合同模板用占位符（如 `[起始日期]`、`[部门]`、`____`、`（待填）`、纯下划线、空白、"详见附件"）写出条款"框架"，但核心数值未填实。**这类条款绝不能判为"合规/低风险"**，否则会漏掉真正的必备条款缺失。
- **必备条款范围**（《劳动合同法》第 17 条）：合同期限（起止日期）、工作内容与工作地点（部门/岗位/地点）、工作时间与休息休假、劳动报酬（金额及**支付日期**）、社会保险、劳动保护/职业危害防护、用人单位与劳动者基本信息。
- 对每一条必备条款，先检测其值是否为占位符/空白：
  - **若值为占位符**（方括号、`____`、空白、"待填"/"详见附件"等），**结论必须为"风险提示"、风险等级"中"**，维度标注对应必备条款项；`quote` 回引含占位符的原文；`suggestion` 要求用人单位填实具体值并给示例；`compliant_example` 给出填实后的完整表述；`employee_advice` 说明空白对维权的影响（工龄起算、调岗争议、发薪拖延、社保基数无依据等）。
  - **仅在值已填实为具体、明确内容时**，才按规则库（R1–R35）正常判定。
- 该检查**优先于第 3 步的常规模式匹配**：即使条文字面结构"看起来合法"（如"期限自 [起始日期] 起至 [终止日期] 止"），只要有占位符就先判占位符缺失。

### 第 3 步：逐条合规检查
- 加载 `references/labor_law_rules.md` 作为检查依据（35 条规则，覆盖订立形式、期限、试用期、报酬、工时、社保、服务期/违约金、竞业限制、押金、解除终止、女职工保护、工作地点等）。
- 对每一条款：
  - 在规则库中匹配相关维度；
  - 给出结论：**合规** / **风险提示** / **违规**；
  - 标注风险等级（高 / 中 / 低）；
  - **标注出处、引用证据、严禁编造（本条为硬性要求）**：每条结论都必须可溯源，不得臆造任何法条、条款内容或数据：
    - **合同原文依据**：必须回引被判定条款的原文片段（写入 `quote`），禁止凭空捏造合同未出现的内容；
    - **法律出处**：必须给出具体法条编号（写入 `law`，如"《劳动合同法》第19条"），优先以第 0 步实时检索的最新规定为准；
    - **数据出处**：涉及地域性标准（如最低工资标准）须以来源明确的检索结果为准，并在 `local_wage` 中标注来源与日期，禁止杜撰数字。
    - **地方法规必须一并引用（硬性要求）**：工资支付、最低工资、加班工资、工资扣减、发薪日、离职结清、解除/终止补偿、竞业限制补偿等条款，除引用国家法律外，`law` 字段**必须同时引用用人单位所在地工资支付/劳动合同相关地方法规**（深圳《深圳市员工工资支付条例》、广东《广东省工资支付条例》、上海《上海市企业工资支付办法》、北京《北京市工资支付规定》等）。具体条款以第 0 步实时检索与 `references/local_regulations.md` 为准，引用前务必再次核对名称与条款号，严禁杜撰。
  - 对**不合规（违规/风险提示）**条款，必须填写 `suggestion`（建议改正内容，具体、可操作）并从规则库取 `合规表述示例` 填入 `compliant_example`；高风险条款设 `is_high=true`。
  - 对所有**不合规（违规/风险提示）**条款，必须填写 `employee_advice`（站在员工立场的应对建议：能否要求修改/拒签、已签字后可采取的救济途径如协商、向劳动监察投诉、申请仲裁、主张 2N 赔偿、应保留哪些证据等）；合规条款可写"本条对员工无不利影响，正常履行即可"或留空（报告显示"—"）。该列是本次审查的重心，须具体、可操作、语气偏向保护劳动者。
  - 未命中规则的普通条款标注"合规 / 未见明显异常"，`suggestion` 与 `compliant_example` 可留空或给常规提示，不要硬凑问题。
- 涉及地域性标准（最低工资、年休假细则等），结合第 0 步检索结果核实，并在 `local_wage` 中体现。

### 第 4 步：生成 analysis.json
将分析结果构造为 JSON（结构见 `scripts/build_report.py` 头部说明），至少包含：
- 元信息：`file_name`、`review_date`、`clause_count`、`overall_rating`、`overall_summary`、`local_wage`、`jurisdiction`（country/province/city）、`local_rules`（层级变量检索结果列表）、`disclaimer`；
- `risk_cards`：重点（高/中风险）条款卡片，`level` 为"高"或"中"；
- `rows`：每条一款，字段 `index / quote / dimension / conclusion / risk / law / suggestion / compliant_example / employee_advice / is_high`。
- 不合规行的 `suggestion`（建议改正内容）须写明具体改正方向；高风险行尽量给出可直接粘贴的 `compliant_example`。
将 JSON 写入用户工作区（如 `analysis.json`）。

### 第 5 步：生成并展示报告
1. 运行 `scripts/build_report.py <analysis.json> [输出目录]`：
   - 首次运行前在托管 Python venv 安装：`pip install openpyxl`；
   - 脚本生成 `劳动合同合规审查报告.html` 与 `劳动合同合规审查报告.xlsx`。
2. **报告按风险级别从高到低排序**（高 → 中 → 低 → 合规），用户打开 Excel 即可一眼看到最高风险条款（HTML 同步排序）。
3. **Excel 专业格式**：表头深色填充、自动筛选（AutoFilter）、冻结首行、风险单元格分级配色、员工建议列浅绿底、列宽/行高自适应、顶部"适用地域（国家/省/市）+ 检索到的地方法规"信息区。
4. HTML 报告中，**高风险行会自动渲染"💡 可直接替换的合规表述"批注（comment）**，顶部展示适用地域与检索到的地方法规；"建议改正内容"列给出具体改正内容，"给员工的建议"列从劳动者立场给出应对建议（浅绿底）；Excel 版另设"合规表述示例"列，便于复制套用。三列（建议改正内容 / 给员工的建议 / 合规表述示例）共同覆盖"单位怎么改 / 员工怎么办 / 改完长什么样"。
5. 调用 present_files 同时展示 HTML（预览）与 XLSX（下载/查看）。
6. 在对话中口头摘要：总体风险等级、最需关注的高风险项（≤3 条）、下一步建议。

### 第 6 步：自检（防复发，硬性）
分析完成后、交付报告前，运行 `scripts/validate_analysis.py <analysis.json>` 做两道卡点校验，确保上一轮发现的漏判不再复现：
- **规则A（占位符）**：任一条款 `quote` 含占位符/空白值（如 `[起始日期]`、`[部门]`、`[发薪日]`、`____`、待填、详见附件）的，结论不得为"合规"、风险不得为"低"。
- **规则B（地方法规）**：工资相关条款（维度含 工资/报酬/加班/支付/最低工资/薪酬 等）的 `law` 字段必须引用本地工资支付/劳动合同法规（名称含 工资支付条例/规定/办法 或 劳动合同条例）。
脚本输出 ✅ 通过或 ❌ 列出具体违规条款。若存在违规，**必须回到第 3 步修正 analysis.json 后重跑**，不得带着违规交付。

## 资源
### scripts/extract_contract.py
从 PDF/DOCX 抽取纯文本到 `_extracted.txt`，处理长文档更可靠；`.doc` 旧格式请转 `.docx` 或图片。

### scripts/build_report.py
读取 `analysis.json`，生成 HTML 报告（含高风险 comment 批注、建议改正内容列）与 Excel 报告。依赖 `openpyxl`。

### references/labor_law_rules.md
合规检查的核心知识库：每条规则的合规标准、违法信号、风险等级、法律依据、修改建议、**合规表述示例**，以及**员工建议**（供报告"给员工的建议"列使用，始终站在劳动者立场）。

### references/local_regulations.md
地方法规速查：深圳/广东、上海、北京等地的《工资支付条例/办法/规定》关键条款（发薪日期限、延期上限、扣减下限、加班工资、离职结清、罚则）。引用前务必用 WebSearch 实时核对当前版本与条款号，严禁杜撰。

### references/report_template.html
HTML 报告的设计参考（样式与结构），实际渲染由 `scripts/build_report.py` 完成。

## 注意事项
- **标准免责声明**：每份报告必须包含以下免责声明，原样呈现、不得删减。取自 `analysis.json` 的 `disclaimer` 字段；**若未提供，脚本自动以默认文本填充**（见 `scripts/build_report.py` 的 `DEFAULT_DISCLAIMER`）：
  1. 内容性质：本审查报告及分析内容由 AI 辅助生成，仅做参考，不构成正式的法律意见或具有法律约束力的文件。
  2. 合规责任：用人单位在使用前，必须结合自身实际情况，咨询专业法律人士或人力资源顾问进行审核和修订，以确保完全符合现行法律法规。
- **严禁编造**：每条结论必须标注出处、引用证据——合同原文（quote）+ 法律出处（law 法条编号）。不得臆造法条、条款或数据；法条与标准优先以第 0 步实时检索的最新规定为准，并在报告中标注来源。
- 合同可能含个人敏感信息（身份证号、住址），仅用于本次审查，不得外传或用于其他目的。

