# Work Injury Compensation Calculator

> 专注劳动法领域的工伤赔偿智能计算技能。根据用户提供的案件信息、内置计算公式、政策数据 API 快照及受控联网检索，精准计算工伤/工亡赔偿金额，生成规范Excel明细表，并附带法条引用与实务法律建议。当用户询问工伤赔偿、工亡赔偿、一次性伤残补助金、伤残津贴、停工留薪期工资、一次性工伤医疗补助金、一次性伤残就业补助金、工亡补助金、丧葬补助金、供养亲属抚恤金等场景时触发。

- Skill: `cslawyer1985/work-injury-compensation-calculator` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add cslawyer1985/work-injury-compensation-calculator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cslawyer1985/work-injury-compensation-calculator/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: cslawyer1985 (https://skillmd.com/u/cslawyer1985)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cslawyer1985/work-injury-compensation-calculator

---


# 工伤赔偿计算

## 触发场景

当用户描述以下场景时触发本技能：

- 工伤赔偿、工亡赔偿、工伤补偿怎么算
- 工伤能拿多少钱、工伤赔偿标准、赔偿金额计算
- 一次性伤残补助金、伤残津贴、停工留薪期工资
- 一次性工伤医疗补助金、一次性伤残就业补助金、离职补偿
- 工亡补助金、丧葬补助金、供养亲属抚恤金
- 几级伤残能赔多少、工伤赔偿计算公式
- 职业病赔偿、工伤鉴定赔偿
- 工伤计算器、工伤赔偿表格

## 技能说明

本技能用于劳动法领域的工伤/工亡赔偿金额精准计算。调用时须严格遵循以下工作流程。

---

## 数据源优先级（严格执行）

1. **[优先] 政策数据 API / policy_data 快照**：`scripts/policy_data.py` 负责请求政策数据 API、读取 `.policy_cache/` 文件缓存、校验响应字段，并向 `calc_engine.py` 暴露 `policy_data`。政策快照包含地区社平工资、全国工亡补助金、省级离职两项补助金标准、停工留薪期目录、法条依据和说明。
2. **[保留] References 本地知识库**：`references/formulas.md`、`references/retirement_age.md` 等仅作为公式、流程和人工复核说明；动态政策表不再作为运行时主数据源。
3. **[兜底] web_search 联网检索**（总轮数不超过2轮）：仅当政策数据 API / 缓存缺少当前计算分支必需字段时触发，例如：
   - 目标地区、年份或工资口径的社平工资未覆盖
   - 全国工亡补助金目标年份未覆盖
   - 停工留薪期目录未覆盖目标地区或未匹配目标伤情
   - 计划单列市（厦门、宁波、青岛、大连）需要当地统计口径或工伤政策口径核验
4. **[禁止] 严禁凭空编造数据**：如 API / 缓存和最多两轮联网检索均找不到，须明确告知用户"该地区该项标准暂缺，建议致电当地社保局12333咨询"，绝不套用其他省份数据。

### 配置步骤

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 文件中。"

### web_search 使用规则

- **硬性上限**：全局检索任务**累计不超过3次 web_search 调用**，不分维度、不分任务，全局计数。
- 第1轮检索未命中目标数据时，可换关键词再搜2轮。3轮均未果则停止。
- 每次检索前须明确检索目标，如目标超过2个，例如同时缺少社平工资和停工留薪期目录，应在单次搜索中用不同关键词并行覆盖多个维度（如"广东 2023年 城镇非私营单位 平均工资 工伤停工留薪期目录"），但总轮数仍限制3次.

### 停工留薪期目录联网检索（分层策略）

当政策数据 API 返回的 `sick_leave_period.catalog_scope` 为 `generic`，或 `sick_leave_period.catalog` 未匹配用户伤情时，按以下**三级路径**依次尝试联网获取，全程计入web_search 2轮上限：

**第一级：省级目录**
- 搜索关键词示例：`"[省份] 工伤职工停工留薪期分类目录"`
- 多数省份由省级人社厅/局统一发布，可直接获取。

**第二级：地市级目录（省级未发布时）**
- 部分省份（如江苏、浙江等）未出台省级统一目录，由地级市人社局自行制定。
- 搜索关键词示例：`"[城市] 工伤停工留薪期 标准"` 或 `"[城市]人社局 工伤职工 伤情稳定期 参照标准"`
- **获取方式**：通常为该市人社局官网（`hrss.[city].gov.cn` 或 `rsj.[city].gov.cn`）政务公开栏目下的政策文件，部分文件含可下载附件（如 .xlsx / .docx 格式的分类目录）。
- 找到官网页面后，使用 `web_fetch` 提取正文及附件链接，若有附件链接则继续 fetch 附件内容。

**第三级：兜底处理**
- 两轮搜索均未获取到有效目录 → 告知用户："您所在 [省市] 暂未查到公开发布的停工留薪期分类目录，建议致电当地人社局 12333 或劳动能力鉴定委员会咨询。"
- 此时可参考已收录的同类伤情在其他省市的通用周期给出**粗略估算**，但必须明确标注"此为参考值，非当地官方标准"。

---

## 交互策略：漏斗式提问与追问机制

### 基本原则

- **不要一次性提问所有内容**，按分支递进采集信息
- 先根据已有信息判断案件类型，再有针对性地追问缺失字段
- 如信息严重不足无法计算，先说明能算什么、需要什么，再请用户提供

### 必采信息矩阵

**通用必采（所有案件，首轮确认）：**
- 若为经济特区或计划单列市如厦门、宁波、青岛、大连，请明确告知
- 工伤发生时间（年月）
- 劳动关系状态（在职/离职/未签合同）
- 本人工资（伤前12个月平均月缴费工资；可提供方式：①直接报数 ②年薪÷12 ③总工资÷月数）
- 是否患有职业病
- 是否需要按两种平均工资口径分别计算（城镇非私营单位 vs 全口径城镇单位，不同口径对最终金额有显著影响；如不确定建议同时算两份以便对比）
- 用人单位是否缴纳工伤保险？（已缴纳/未缴纳/不确定）
- 出生年月与性别（用于计算退休年龄；**女性须进一步确认岗位性质**：管理岗/工人/不确定，默认按工人50岁基准计算；若伤残等级为1-5级，多数城市有就业补助金折减规则）
- **案件类型**（工亡 / 伤残 / 仅需某几项，请用户说明）

**工亡分支追加（确认为工亡后追问）：**
- 死亡时间（精确到年月）
- 供养亲属情况（有无配偶；其他供养亲属人数、各人年龄；是否有孤寡老人或孤儿）

**伤残分支追加（确认为伤残后追问）：**
- 伤残等级（1-10级）
- 出生年月与性别（用于计算退休年龄；**女性须进一步确认岗位性质**：管理岗/工人/不确定，默认按工人50岁基准计算）
- 劳动能力鉴定委员会确认的停工留薪期时长（如已有鉴定结论请提供月数；如未鉴定则参考 policy_data.sick_leave_period 估算）
- 护理依赖等级（无依赖 / 部分不能自理 / 大部分不能自理 / 完全不能自理）

**离职分支追加（伤残5-10级且涉及离职待遇时追问）：**
- 劳动合同是否已解除/终止（如未解除，说明暂时无法申领一次性工伤医疗补助金和一次性伤残就业补助金）
- 解除/终止原因（合同到期 / 本人提出 / 协商解除 / 单位违法解除）
- 解除/终止日期
- 出生年月与性别（用于计算退休年龄；**女性须进一步确认岗位性质**：管理岗/工人/不确定，默认按工人50岁基准计算）

### 追问触发规则

> **核心：哪个字段影响计算、当前未知，就追问哪个字段。**

| 缺失字段 | 影响模块 | 追问话术示例 |
|---------|---------|------------|
| 伤残等级 | 一次性伤残补助金、伤残津贴、离职补助金 | "请问劳动能力鉴定结论是几级伤残？（1-10级）" |
| 女性岗位性质 | 退休年龄（50岁 vs 55岁） | "当事人是管理岗/技术岗（55岁退休）还是普通工人（50岁退休）？不确定可填不确定，默认按50岁计算。" |
| 停工留薪期时长 | 停工留薪期工资 | "是否有劳动能力鉴定委员会出具的停工留薪期确认书？有请提供月数；没有我将参考目录给出估算。" |
| 供养亲属情况 | 供养亲属抚恤金 | "请问有无需要供养的亲属？如有，请说明：①配偶是否健在 ②其他供养亲属人数及各人年龄 ③是否有孤寡老人或孤儿" |
| 护理等级 | 评残后护理费 | "请问当事人护理依赖程度：完全不能自理 / 大部分不能自理 / 部分不能自理 / 无需护理？" |
| 合同解除情况 | 离职两项补助金（5-10级） | "劳动合同目前是否已解除或终止？如已解除，是何原因（合同到期/本人提出/协商/单位违法）？" |
| 平均工资口径偏好 | 所有依赖社平工资的计算项 | "请问您期望按哪种社平工资口径计算？①城镇非私营单位（司法实务常用）②全口径城镇单位（社保基数口径）③不确定，请两种都算④其他口径（需执行网络检索）" |

**追问时机：**
- 首轮用户信息不全 → 先列出已采集字段，再集中追问**当前分支所需的缺失字段**（不超过3-4个/轮）
- 切勿一次追问全部字段；优先追问影响金额最大的字段
- 追问应简洁，提供选项或示例格式，降低用户填写难度
- 如有可能，交互形式采用问卷的方式，尽量提供固定选项由用户自己选择。

---

## 核心计算模块

### 加载政策数据与公式
计算前须先通过 `scripts/policy_data.py` 预加载一次政策快照，并将 `policy_data` 显式传给 `scripts/calc_engine.py`。单次计算内不得让多个函数重复请求 API。

`policy_data` 至少应包含：
- `social_avg_wage`：地区社平工资，含年份、口径、年均和月均工资
- `work_death_subsidy`：全国城镇居民人均可支配收入与一次性工亡补助金
- `leaving_subsidy_standards`：各省 5-10 级离职两项补助金标准
- `sick_leave_period`：地区停工留薪期目录或通用参考目录
- `law_basis` / `law_articles_text` / `notes`：法条依据和复核提示

References 仅作为说明材料：
- `references/formulas.md`：计算公式（含上下限规则）
- `references/retirement_age.md`：退休年龄计算公式

### scripts 可调用操作清单

运行原则：
- 先用 `scripts/policy_data.py` 获取一次政策快照；成功响应的 `body` 作为后续 `policy_data` 传给 `scripts/calc_engine.py`。
- `scripts/policy_data.py` 请求统一接口 `POST /api/v1/skill/calculator`，请求体由脚本自动包装为 `{"resource_type":"work-injury-compensation-calculator","payload":<原payload>}`。
- `scripts/calc_engine.py` 的入参必须包含 `action`。涉及地区政策数据的操作应显式传入同一份 `policy_data`，避免单次计算内重复请求 API。
- 报销类项目（医疗费、康复费、辅助器具费、交通食宿费、住院伙食补助等）当前没有固定公式和独立 action，只按规则说明、票据条件和当地标准进行文本输出。

`scripts/policy_data.py` 支持：

| action | 用途 | 关键入参 |
|--------|------|----------|
| `api_snapshot` / `fetch_api_snapshot` / `policy_data` | 获取政策数据快照，含社平工资、工亡补助金、离职两项补助金、停工留薪期目录和法条依据 | `region`、`date`、`social_avg_year`、`wage_caliber`、`work_death_data_year` |

`scripts/calc_engine.py` 支持：

| action | 用途 | 关键入参 | 是否需要 `policy_data` |
|--------|------|----------|------------------------|
| `avg_wage_lookup` | 查询地区社平工资 | `region`、`social_avg_year` 或 `year`、`wage_caliber` | 是 |
| `base_wage` | 计算本人工资 60%-300% 上下限后的基数 | `personal_monthly_wage`；另需 `social_avg_monthly` 或 `policy_data.social_avg_wage` | 条件需要 |
| `disability_subsidy` | 计算 1-10 级一次性伤残补助金 | `disability_level`、`calculation_base` | 否 |
| `disability_allowance` | 计算 1-6 级伤残津贴（月） | `disability_level`、`calculation_base` | 否 |
| `suspension_wage` | 计算停工留薪期工资 | `personal_monthly_wage`、`months` | 否 |
| `nursing_fee` | 计算评残后生活护理费（月） | `nursing_level`；另需 `social_avg_monthly` 或 `policy_data.social_avg_wage` | 条件需要 |
| `work_death_subsidy_lookup` | 查询一次性工亡补助金 | `death_year` 或 `year` | 是 |
| `death_benefits` | 计算工亡待遇：一次性工亡补助金、丧葬补助金、供养亲属抚恤金（月） | `death_year`、`personal_monthly_wage`、`spouse_count`、`other_dependents_count`、`orphan_elder_count`；另需社平工资 | 是 |
| `retirement_age` | 计算渐进式延迟退休年月 | `birth_ym`、`gender`、女性另需 `female_position` | 否 |
| `leaving_subsidies` | 计算 5-10 级解除/终止劳动合同后的离职两项补助金 | `region`、`disability_level`、`personal_monthly_wage` 或 `subsidy_base`；折减需 `retirement_ym` 与 `calc_ym`；职业病可传 `occupational_disease` | 是 |
| `sick_leave_period_lookup` | 按地区目录匹配停工留薪期参考月数 | `region`、`injury_keyword` | 是 |
| `export_to_excel` / `export_excel` | 导出赔偿明细 Excel | `rows` 或 `detail_rows`，可选 `output_path` | 否 |

### scripts 命令生成规范

基础命令模板：

```bash
python3 labor-fee-calculator/work-injury-compensation-calculator/scripts/policy_data.py '{"action":"api_snapshot","region":"广东省","date":"2025-01-01","social_avg_year":2023,"wage_caliber":"urban_non_private","work_death_data_year":2024}'
```

直接调试政策 API 时使用统一 endpoint 和 wrapper 请求体：

```bash
curl -s -X POST http://127.0.0.1:8765/api/v1/skill/calculator -H 'Content-Type: application/json' -d '{"resource_type":"work-injury-compensation-calculator","payload":{"region":"广东省","date":"2025-01-01","social_avg_year":2023,"wage_caliber":"urban_non_private","work_death_data_year":2024}}'
```

```bash
python3 labor-fee-calculator/work-injury-compensation-calculator/scripts/calc_engine.py '{"action":"base_wage","personal_monthly_wage":5000,"policy_data":{"social_avg_wage":{"monthly_avg_wage":10951.5}}}'
```

复杂 JSON 或包含完整 `policy_data` 时，优先使用 `@文件` 形式，避免 shell 引号和超长命令问题：

```bash
python3 labor-fee-calculator/work-injury-compensation-calculator/scripts/calc_engine.py @/absolute/path/to/payload.json
```

命令生成校验规则：
- JSON 顶层必须是对象，且必须包含 `action`。
- JSON 使用双引号，整段 JSON 在 shell 中用单引号包裹；布尔值使用 JSON 的 `true` / `false`。
- 需要政策数据的 action，应先用 `policy_data.py` 获取快照，再把响应中的 `body` 放入 `calc_engine.py` 入参的 `policy_data` 字段。
- 仅生成单项计算命令时，可内联最小 `policy_data` 字段；生成正式案件计算命令时，应传入完整政策快照。
- `calc_engine.py` 成功时输出应包含 `"ok": true`；`policy_data.py` 成功时输出应包含 `"success": true` 和 `"body"`。
- 命令生成后，应优先用 `python3 -m py_compile` 或实际执行该命令做冒烟验证；如失败，根据错误信息修正字段名或 JSON 格式后再输出给用户。

### 模块1：工亡待遇

使用 `work_death_subsidy_lookup` 查询一次性工亡补助金，使用 `death_benefits` 计算工亡待遇。需确认死亡年份、本人月工资、统筹地区社平工资和供养亲属人数；脚本负责工亡补助金、丧葬补助金、供养亲属抚恤金及封顶处理。

### 模块2：一次性伤残补助金（1-10级，工伤保险基金）

先用 `base_wage` 计算本人工资 60%-300% 上下限后的基数，再用 `disability_subsidy` 计算 1-10 级一次性伤残补助金。需确认本人月工资、社平工资和伤残等级。

### 模块3：伤残津贴（1-6级，按月）

使用 `disability_allowance`。需确认伤残等级和已确定的计算基数；5-6级须注明“用人单位难以安排工作时才支付”。

### 模块4：离职补助金（5-10级）

**前置检查：** 确认劳动合同已解除或终止

使用 `retirement_age` 计算退休年月，使用 `leaving_subsidies` 计算 5-10 级离职两项补助金。需确认地区、伤残等级、本人月工资或地方计发基数、是否职业病、解除/终止时间及距退休信息；脚本负责读取 `policy_data.leaving_subsidy_standards`、职业病提示和退休折减估算。

### 模块5：停工留薪期与护理

使用 `suspension_wage` 计算停工留薪期工资；有鉴定结论时按鉴定月数执行，未鉴定时可先用 `sick_leave_period_lookup` 查询参考月数。使用 `nursing_fee` 计算评残后生活护理费，需确认护理依赖等级和社平工资。

未匹配停工留薪期目录时，按「停工留薪期目录联网检索」三级路径兜底，仍失败则提示咨询当地人社局 12333 或劳动能力鉴定委员会。

### 模块6：报销类（无固定公式）

住院伙食补助、交通食宿费、医疗费、康复费、辅助器具费：
- 输出结论：由工伤保险基金按规定实报实销/按当地机关出差标准报销
- 说明报销条件和票据要求

---

## 平均工资口径选择

**标准要求：同时计算两种口径，并列输出对比。**

| 口径 | 月均工资来源 | 适用说明 |
|------|------------|---------|
| **城镇非私营单位就业人员平均工资** | `policy_data.social_avg_wage`（`wage_caliber=urban_non_private`） | 司法实务最常用 |
| **全口径城镇单位就业人员平均工资** | `policy_data.social_avg_wage`（`wage_caliber=all_urban`） | 2019年起用于核定社保缴费基数上下限；部分省份工伤待遇适用此口径 |

**执行规则：**
1. 计算时同时使用两种口径，生成**两套并行的赔偿金额**
2. 对话输出中以表格形式对比两个口径下的各项金额与合计
3. Excel 文件中设置**两列"全口径"与"城镇非私营口径"**分别展示，供用户对比
4. 如用户所在省市惯用某一特定口径，或当地仲裁委/法院有明确要求，可在对比表中**以该口径结果为准**标注说明，但不得只输出单一口径
5. 如需确认当地司法实践，触发 `web_search` 查询"**[省市]工伤赔偿 适用 平均工资 口径**"（计入web_search总轮数上限）

---

## 输出格式规范

### 核心要素（尽量不调整顺序和形式）

1. **计算标准说明**：说明采用的基数口径（省份、年度、非私营/全口径）及关键参数取值依据
2. **计算明细表**（Markdown 表格）：每项赔偿独占一行，含「赔偿项目 | 计算过程| 金额（元）| 支付主体（强制列明） | 享受条件」五列；如需对比两种口径则增加一列
3. **法条依据**：列出支撑各计算项目的核心法条（从 `policy_data.law_basis` / `policy_data.law_articles_text` 调取）
4. **最终应赔偿金额**：汇总金额，按支付主体分开列示（工伤保险基金 vs 用人单位）
5. **免责声明与提示**（固定要素，每次必须输出）：

> **计算明细表-计算过程**：必须非常详细地列出计算公式与结果
> **享受条件**：分类选项：必享（法定无需条件）、解除/终止劳动关系时、凭票据实报实销、需劳动能力鉴定结论、需护理依赖证明、地方规定（仅限有明确文件的地区）、用人单位难以安排工作时（仅5-6级）
> **免责声明**：以上计算结果仅供参考，所采用的工资基数、统计数据等标准可能随政府统计部门年度更新而变动；不同地区对于社平工资基准及具体的口径适用存在不同，计算结果可能与实际结果有偏差；部分参考值（如停工留薪期、护理等级）以劳动能力鉴定委员会的正式鉴定结论为准。最终赔偿金额须根据实际证据情况及仲裁委员会/人民法院的裁决确定，本计算结果不构成法律意见。

### 灵活调整原则

- **用户仅询问某几项**（如只问停工留薪期工资）：只输出相关模块，不强制展开全部内容
- **用户需要完整报告**：按上述核心要素依次输出，表格之外可附必要文字说明
- **口径对比**：如需双口径对比，在明细表中增加"全口径金额"与"城镇非私营口径金额"两列，并在标准说明中注明各省适用情况
- **实务建议**（可选，不超过3条）：如案件有特殊情形（如职业病、合同未签、近退休年龄等），可在末尾附简要实务提示

### Excel 文件（可选，非强制）

仅在用户明确要求导出 Excel 时生成，使用 Python（calc_engine.py）的 `export_to_excel` 函数。

Excel 样式和列结构由脚本负责，文档输出保持简洁。

**无需 Excel 的情形**：用户仅口头询问估算金额、进行场景讨论、或明确表示不需要文件时，直接在对话中输出 Markdown 明细表即可，无需生成文件。

---

## 防幻觉提示

- 所有动态政策数据必须来自 policy_data、文件缓存或 web_search 结果；公式说明可参考 References，不得凭空填写
- 如某省某年度数据在本地和网络均无法找到，输出："[省份][项目]数据暂缺，建议致电当地社保局 12333 咨询，切勿参考其他省份标准。"
- 计算结果如有上下限约束，必须在备注中说明限制规则
- web_search 返回的数据须标注来源（如"据 XX 人社局官网"），便于用户核验

