Back to skills
SKILL.md
Compensation Damages Calculator
ASecurity专注劳动法领域的补偿金及赔偿金智能计算技能。根据用户提供的案件信息、内置计算公式、政策数据 API/cache 及联网检索兜底,精准计算经济补偿金、赔偿金、未签书面劳动合同二倍工资及竞业限制补偿金,生成结构清晰的计算明细,并附带法条引用与实务法律建议。当用户询问经济补偿金、离职补偿金、N、N+1、2N赔偿金、未签劳动合同二倍工资、违法解除赔偿金、竞业限制补偿金等场景时触发。输出格式可根据用户需求灵活调整,不强制输出Excel。
- 9 stars
- 0 votes
- 0 copies
- 0 views
- Added September 25, 2026
Works with
Security analysis
100/100Pro scans all 5 files and shows the line behind each finding
npx -y skills add CSlawyer1985/legal-skillhub --skill compensation-damages-calculator --agent claude-codeAre you the author of Compensation Damages Calculator?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/cslawyer1985-compensation-damages-calculator)---
name: compensation-damages-calculator
description: >-
专注劳动法领域的补偿金及赔偿金智能计算技能。根据用户提供的案件信息、内置计算公式、政策数据 API/cache 及联网检索兜底,精准计算经济补偿金、赔偿金、未签书面劳动合同二倍工资及竞业限制补偿金,生成结构清晰的计算明细,并附带法条引用与实务法律建议。当用户询问经济补偿金、离职补偿金、N、N+1、2N赔偿金、未签劳动合同二倍工资、违法解除赔偿金、竞业限制补偿金等场景时触发。输出格式可根据用户需求灵活调整,不强制输出Excel。
metadata:
version: 1.0.0
---
# 补偿金及赔偿金计算
## 触发场景
当用户描述以下场景时触发本技能:
- 经济补偿金、离职补偿金、赔偿金怎么算
- 被辞退、裁员、合同到期不续签、协商解除能拿多少钱
- N、N+1、2N赔偿金计算
- 未签劳动合同的赔偿金、二倍工资怎么算
- 没有签合同工作了多少个月赔多少
- 违法解除赔偿金标准
- 竞业限制补偿金怎么算、竞业协议补偿多少
- 经济补偿工龄计算、工龄系数N怎么算
- 月均工资S计算、社平工资三倍封顶
- 劳动合同补偿标准、劳动争议赔偿金额
- 非过失辞退、医疗期满赔偿、不胜任工作赔偿
- 被迫离职补偿(未缴社保、克扣工资、恶劣劳动环境)
- 劳动合同赔偿计算器、补偿金明细表格
## 技能说明
本技能专用于劳动法领域**三类**补偿/赔偿金的精准计算:
1. **未签书面劳动合同赔偿金**(二倍工资)
2. **离职经济补偿及赔偿金**(N、N+1、2N)
3. **竞业限制经济补偿金**
调用时须严格遵循以下工作流程。
---
## 数据源优先级(严格执行)
1. **[优先] 政策数据 API**:通过 `calc_engine.py` 请求 `COMPENSATION_DAMAGES_POLICY_API_URL` 配置的补偿金及赔偿金政策数据 API。API 只返回政策数据,不计算金额。
2. **[按需兜底] web_search 联网检索**([注意] **总轮数不超过2轮**):仅当当前计算分支已经明确、且 API/cache 未返回该分支必需的政策字段时触发。
- S、未签合同二倍工资、竞业限制补偿需要最低工资时,缺 `policy_data.min_wage` 才检索。
- N、N+1 三倍封顶需要社平工资时,缺 `policy_data.social_avg_wage` 才检索。
- 计算结论需要法条依据时,优先使用 `policy_data.law_basis`。
3. **[计算说明] References**:`references/formulas.md` 仅用于公式、倍率规则、字段含义和边界说明,不作为政策数据主来源。
4. **[禁止] 严禁凭空编造数据**:API、缓存和网络均无法找到时,告知用户"该地区该项标准暂缺,建议致电当地人社局12333咨询",绝不套用其他省份数据。
### API 配置
### 配置步骤
1. 前往 [https://open.delilegal.com/personal/keys](https://open.delilegal.com/personal/keys) 注册/登录
2. 创建应用并获取 API Key
3. 将 API Key 填入技能目录下的 `config.json` 文件:
```json
{
"apikey": "你的API Key"
}
```
> ⚠️ **未配置 API Key 时**,不得执行检索,必须先提示用户:
> "config.json 中的 apikey 尚未配置。请前往 https://open.delilegal.com/personal/keys 创建 API Key,并填入技能目录下的 config.json 文件中。"
### 社平工资三口径说明(三倍封顶用)
政策数据 API 的 `social_avg_wage` 支持三种口径,使用时须注意:
| 口径 | 工资水平 | 补偿金计算的实务适用 |
|------|---------|-----------------|
| **城镇非私营单位就业人员平均工资** | 最高 | **默认口径**——大多数省市仲裁/法院采用此标准判断三倍封顶 |
| **全口径城镇单位就业人员平均工资** | 居中 | 部分省份(如广东、山东等地)社保缴费基数及部分地方判例以此为准 |
| **城镇私营单位就业人员平均工资** | 最低 | 极少单独使用,仅供参考 |
> **缺参数时的联网检索策略**:
> 1. 先请求政策数据 API/cache;如有数据直接用。
> 2. 若 API 明确返回 `needs_web_search: true`,执行 `web_search`,关键词:`"[省市]YYYY年城镇非私营单位就业人员平均工资"` 或 `"[省市]YYYY年社平工资"`。
> 3. 如联网也无法确认,**询问用户**是否知晓当地数据,或告知建议致电12333;**不得代入其他省数据**。
### web_search 规则
- 单次任务**累计不超过2轮**
- 最需联网查询的数据:**当地上年度城镇职工月平均工资**(用于三倍封顶判断)
- 默认优先搜索"城镇非私营单位"口径;若当地实务明确适用全口径,切换后须在备注中注明
- 检索关键词示例:`"[城市/省]YYYY年城镇非私营单位就业人员平均工资"` 或 `"[省市]YYYY年社平工资"`
- API 已返回当前计算分支所需政策数据时,不因“可能有更新”而主动联网检索。
- 联网检索只用于补齐政策数据;公式、倍率、金额计算仍交由 `calc_engine.py` 完成。
---
## 交互策略:漏斗式提问
- **不要一次性提问所有内容**
- 先根据已知信息给出初步判断,再按需补充采集缺失字段
- 如信息不足,先给出同类案件的计算示例,再索要关键信息
### 必采信息矩阵
**通用必采(所有案件):**
- 发生地(省 + 市)——用于查最低工资标准
- 用工起始日期(年月)
- 劳动合同解除/终止日期(年月)
- 离职前12个月应得月工资总额(含奖金、津贴、补贴;不含非货币性福利)
- 工作不满12个月时:实际工作月数及各月工资
**未签合同赔偿金追加:**
- 是否签订书面劳动合同(未签/补签时间)
- 用工满1个月后未签的具体月份区间
- 各赔偿月份的实际应得月工资(如差异不大可取平均值)
**离职补偿/赔偿金追加:**
- 离职原因(协商/辞退/裁员/合同到期/被迫离职/违法辞退等)
- 如属非过失辞退:是否提前30天书面通知(影响是否有代通知金)
- 当地上年度职工月平均工资(用于三倍封顶判断,需联网确认)
**竞业限制补偿金追加:**
- 竞业限制协议约定的:期限(月数)、补偿比例/金额
- 无约定比例:默认按30%计算,期限>1年时建议50%
- 当地最低工资标准(作为月补偿金下限)
---
## 核心计算模块
### 政策数据获取与计算说明
`scripts/calc_engine.py` 的计算 action 在入参包含 `region`、`province` 或 `city` 且缺少对应显式政策参数时,通过 `scripts/policy_data.py` 获取政策数据。`policy_data.py` 会先读取本地 `.policy_cache/{normalized_region}__{date}__{social_avg_year}__{wage_caliber}.json` 文件缓存;缓存不存在时再携带 `config.json` 中的 `apikey` 请求统一政策数据 API。
也可显式附带 `policy_data` 字段用于测试或外部编排。显式传入的 `local_min_wage`、`social_avg_monthly` 优先于 API。
`references/formulas.md` 仅作为计算公式、倍率规则和边界说明参考;最低工资、社平工资和法条全文不再从 references Markdown 读取。
### scripts 可调用操作清单
运行原则:
- `scripts/policy_data.py` 请求统一接口 `POST /api/v1/skill/calculator`,请求体由脚本自动包装为 `{"resource_type":"compensation-damages-calculator","payload":<原payload>}`。
- `scripts/calc_engine.py` 的入参必须包含 `action`;正式案件计算优先传 `region` 让脚本获取政策数据,测试或外部编排可显式传 `policy_data`。
- 公式、上下限、折算和 Excel 样式由脚本实现;`SKILL.md` 只负责选择 action、补齐输入和输出解释。
`scripts/policy_data.py` 支持:
| action | 用途 | 关键入参 |
|--------|------|----------|
| `api_snapshot` / `fetch_api_snapshot` / `policy_data` | 获取最低工资、社平工资、法条依据和说明 | `region`、`date`、`social_avg_year`、`wage_caliber` |
`scripts/calc_engine.py` 支持:
| action | 用途 | 关键入参 | 是否需要 `policy_data` |
|--------|------|----------|------------------------|
| `calc_s` | 计算月均工资 S | `total_income_12m` 或 `monthly_wages`、`actual_months`;最低工资可由 `local_min_wage` 或政策数据提供 | 条件需要 |
| `calc_n` | 计算工龄系数 N | `start_year`、`start_month`、`end_year`、`end_month` | 否 |
| `no_contract` | 计算未签书面劳动合同二倍工资额外部分 | `avg_monthly_wage`、`months`;可选不满月字段和最低工资 | 条件需要 |
| `compensation_n` | 计算经济补偿金 N | `s`、`n`;三倍封顶需 `social_avg_monthly` 或政策数据 | 条件需要 |
| `n_plus_1` | 计算 N+1 | `s`、`n`、`last_month_wage`;三倍封顶需 `social_avg_monthly` 或政策数据 | 条件需要 |
| `illegal_2n` | 计算违法解除/终止赔偿金 2N | `s`、`n` | 否 |
| `non_compete` | 计算离职后竞业限制补偿 | `avg_monthly_wage`、`non_compete_months`;可选 `agreed_rate` 或 `agreed_monthly_amount`、最低工资 | 条件需要 |
| `min_wage_lookup` | 查询最低工资 | `region`、`date` | 是 |
| `social_avg_wage_lookup` | 查询社平工资 | `region`、`social_avg_year` 或 `year`、`wage_caliber` | 是 |
| `export_excel` / `export_to_excel` | 导出计算明细 Excel | `rows` 或 `detail_rows`,可选 `output_path`、`case_summary` | 否 |
### scripts 命令生成规范
生成命令时必须使用仓库根目录相对路径,不要省略 `python3`,不要调用已删除的 references 动态数据文件。
```bash
python3 labor-fee-calculator/compensation-damages-calculator/scripts/policy_data.py '{"action":"api_snapshot","region":"上海市","date":"2025-01-01","social_avg_year":2023,"wage_caliber":"urban_non_private"}'
```
```bash
python3 labor-fee-calculator/compensation-damages-calculator/scripts/calc_engine.py '{"action":"calc_n","start_year":2020,"start_month":1,"end_year":2025,"end_month":6}'
```
复杂 JSON 或完整 `policy_data` 优先使用 `@文件`:
```bash
python3 labor-fee-calculator/compensation-damages-calculator/scripts/calc_engine.py @/absolute/path/to/payload.json
```
命令生成校验规则:
- JSON 顶层必须是对象,且必须包含 `action`。
- JSON 使用双引号,整段 JSON 在 shell 中用单引号包裹;布尔值使用 JSON 的 `true` / `false`。
- 需要政策数据的 action,应传 `region` 让脚本自动获取,或把 `policy_data.py` 响应中的 `body` 放入 `calc_engine.py` 入参的 `policy_data` 字段。
- `calc_engine.py` 与 `policy_data.py` 成功时输出均应包含 `"success": true` 和 `"body"`。
- 命令生成后,应优先用 `python3 -m py_compile` 或实际执行命令做冒烟验证。
### 模块一:未签书面劳动合同赔偿金(二倍工资额外部分)
适用条件:用工满1个月次日起至满1年前1日,且不存在劳动者拒签、不可抗力、劳动者故意或重大过失等免除情形。计算使用 `no_contract`,由脚本处理赔偿月数、最低工资下限和不满月折算。
> [注意] 视为已订立无固定期限劳动合同后,劳动者再主张二倍工资的,通常不予支持。
### 模块二:离职经济补偿/赔偿金
按离职原因选择 action:先用 `calc_s` 计算月均工资 S,用 `calc_n` 计算工龄系数 N,再调用 `compensation_n`、`n_plus_1` 或 `illegal_2n`。三倍封顶、12年上限、N+1代通知金和 2N 不适用三倍封顶等逻辑均由脚本处理,输出时说明工资口径和政策来源。
高收入案件须确认社平工资口径。默认使用城镇非私营单位就业人员月平均工资;若当地仲裁/法院明确适用全口径,切换口径并在备注中注明来源。
**2N vs 继续履行的程序选择(司法解释二第16、18条):**
劳动者主张违法解除时,可在以下两条路径中选择:
- **路径A(要求继续履行)**:用人单位支付违法解除决定作出后至劳动合同继续履行前一日的**工资**(按正常劳动工资标准支付);赔偿金2N不支持
- **路径B(放弃继续履行)**:主张违法解除赔偿金2N = S × N × 2
> **第16条"劳动合同已不能继续履行"的认定情形**(出现以下情形,路径A通常不被支持):
> 1. 劳动合同在仲裁/诉讼期间期满(且无法定续订情形)
> 2. 劳动者已开始享受基本养老保险待遇
> 3. 用人单位被宣告破产
> 4. 用人单位解散(合并/分立除外)
> 5. 劳动者已与其他单位建立劳动关系,严重影响本职工作且拒不改
> 6. 其他客观不能履行的情形
> [注意] 路径A(工资补发)与路径B(2N赔偿金)**不可同时主张**,须择一
### 模块三:竞业限制补偿金
使用 `non_compete`。需确认离职前12个月平均工资、竞业限制期限、约定比例或约定月金额、当地最低工资。期限封顶、默认比例、最低工资下限和超过1年的提示由脚本处理。
**新增规则——在职竞业限制无需支付补偿(司法解释二第14条):**
- 用人单位与**高级管理人员/高级技术人员/其他负有保密义务人员**约定**在职期间**竞业限制条款,无需支付经济补偿
- 若劳动者以"在职期间竞业限制+未支付补偿"为由主张条款无效,**不予支持**
- 离职后的竞业限制补偿规则不变
---
## 离职场景快速判断
| 离职原因 | 补偿类型 | 计算公式 | 法条 |
|---------|---------|---------|------|
| 协商解除(单位主动提出) | 经济补偿N | N × S | 第36、46条 |
| 协商解除(劳动者主动提出) | 无 | 0 | — |
| 被迫离职(单位违约第38条) | 经济补偿N | N × S | 第38、46条 |
| 劳动者主动辞职(第37条) | 无 | 0 | 第37条 |
| 非过失辞退+提前30天通知 | 经济补偿N | N × S | 第40、46条 |
| 非过失辞退+未提前通知 | N+1 | N × S + 上月工资 | 第40、46条、实施条例第20条 |
| 经济性裁员 | 经济补偿N | N × S | 第41、46条 |
| 合同到期,单位不续签 | 经济补偿N | N × S | 第44、46条 |
| 合同到期,劳动者不同意续签(单位维持条件) | 无 | 0 | 第46条 |
| 过失性辞退(第39条) | 无 | 0 | 第39条 |
| 违法解除/终止(无合法理由) | 2N赔偿金 | 2 × N × S | 第87条 |
| 单位破产/吊销 | 经济补偿N | N × S | 第44、46条 |
---
## Excel 输出(可选,简洁为原则)
用户明确要求导出 Excel 时,使用 `export_excel` / `export_to_excel`,传入 `rows` 或 `detail_rows`、`output_path` 和可选 `case_summary`。Excel 样式和列结构由脚本负责,文档输出保持简洁。
---
## 对话输出格式规范
输出格式**不限制死**,可根据用户问题灵活调整。核心要素必须包含以下五项,其余可按需增删:
### 核心要素(必须)
**① 计算标准说明**
- 明确本案适用的补偿/赔偿类型(如:经济补偿金N、代通知金、违法解除赔偿金2N、二倍工资等)
- 简要说明计算逻辑(S、N、三倍封顶等核心参数含义)
**② 计算明细(MD表格)**
- 项目 | 计算过程 | 金额(元) | 法条依据
- 过程列须清晰呈现:参数值 × 系数 = 中间结果 → 最终金额
- 末尾加一行合计
**③ 法条依据**
- 引用本案涉及的法条(条款编号 + 名称)
- 优先从 `policy_data.law_basis` 和 `policy_data.law_articles_text` 调取,不自编
**④ 最终应赔偿/补偿金额**
- 明确列出合计金额(大写 + 小写)
- 如涉及多条路径(2N vs 继续履行),分别列出
**⑤ 免责声明**
固定格式如下,置于文末:
> [注意] **免责声明**
> - 本计算结果仅供参考,不构成法律意见
> - 法定赔偿/补偿标准可能随法规修订或地方政策调整而更新
> - 部分参考值(如社平工资、最低工资)以政策数据 API/cache 或已核验检索结果为准,如与最新公布数据不符,以当地主管部门公布为准
> - 具体赔偿/补偿金额须结合证据材料、工资流水、仲裁/法院裁审口径等因素综合确定,以最终仲裁/法院判决为准
### 灵活要素(按需)
以下要素可根据用户需求和案件情况**按需增补**,不必每次都全量输出:
- 案件摘要(一句话提炼:地区/离职原因/关键时间节点/补偿类型)
- 实务建议(不超过3条,聚焦风险点、举证要点)
- 特殊注意事项(如三倍封顶触发、时效问题、路径选择等)
- 对比分析(多条路径/口径并列时)
### 输出示例(最小版)
```
**经济补偿金计算**
① **计算标准**:标准经济补偿金(N)× 月均工资
② **计算明细**:
| 项目 | 计算过程 | 金额(元) | 法条依据 |
|------|---------|----------|---------|
| 经济补偿金 | 7年 × 8,000元/月 | 56,000 | 《劳动合同法》第46、47条 |
| **合计** | | **56,000** | |
③ **法条依据**:《劳动合同法》第46、47条;《实施条例》第27条
④ **最终金额**:人民币 **56,000元**(伍万陆仟元整)
⑤ [注意] **免责声明**:[见上文固定格式]
```
---
## 防幻觉提示
- 用户事实数据(月工资、工龄、解除原因等)必须来自用户提供;政策数据(社平工资、最低工资)必须来自政策数据 API/cache 或已核验 web_search 结果,不得凭空填写
- 社平工资必须说明口径和来源(如 `policy_data.social_avg_wage` 或已核验统计局数据)
- 2N赔偿金不适用三倍封顶;计算时注意区分
- 赔偿金(2N)与经济补偿金(N)**不可同时支付**(已付2N则不再付N,实施条例第25条)
- 竞业限制期限超过2年的约定无效,计算时截至2年
Files in this skill
- SKILL.md
- config.json
- references/formulas.md
- scripts/calc_engine.py
- scripts/policy_data.py
Attribution
Comments
Loading comments…