# Unused Annual Leave Calculator

> 专注劳动法领域的未休年休假补偿智能计算技能。根据用户提供的案件信息、内置计算公式及日期折算工具，精准计算年休假折算天数与未休补偿金额，生成规范Excel明细表，并附带法条引用与实务法律建议。当用户询问未休年休假补偿、年假没休怎么算、年休假天数、年假折算、离职年假、300%年假工资、年假补偿金计算等场景时触发。

- Skill: `cslawyer1985/unused-annual-leave-calculator` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add cslawyer1985/unused-annual-leave-calculator`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cslawyer1985/unused-annual-leave-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/unused-annual-leave-calculator

---


# 未休年休假计算

## 触发场景

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

- 未休年休假补偿、年假没休怎么算、未休年假工资
- 年休假天数、年假折算、新员工年假、离职年假
- 入职当年年假、离职当年年假剩余天数
- 年假补偿金计算、300%年假工资、年假工资报酬
- 未休年假能赔多少钱、加班费和年假冲突
- 累计工作年限年假天数、跳槽年假折算
- 劳动合同解除年假补偿、年假未休赔偿标准

## 技能说明

本技能用于劳动法领域的未休年休假补偿精准计算。调用时须严格遵循以下工作流程。

---

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

1. **[优先] References 本地知识库**：计算公式、年休假天数标准、日工资计算规则、折算公式。
2. **[兜底] web_search 联网检索**（总轮数不超过2轮）：仅在以下情况下触发：
   - 特殊情形认定（如寒暑假冲突、病假冲抵等）
   - 地方特殊政策或司法实务惯例
   - 需要确认日工资口径（是否含奖金、津贴等）
3. **[禁止] 严禁凭空编造数据**：如本地和网络均找不到，须明确告知用户"建议咨询当地劳动仲裁委员会"。

---

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

### 基本原则

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

### 必采信息矩阵

**通用必采（所有场景，首轮确认）：**
- 计算场景类型（新员工入职 / 在职未休结算 / 离职结算）
- 当年度年份
- 累计工作年限（确定应休天数档次）

**新员工分支追加（确认为新入职后追问）：**
- 入职日期（精确到年月日）
- 入职时累计工作年限

**在职分支追加（确认为在职未休结算后追问）：**
- 当年度应休年休假天数（如已安排过可填）
- 当年度已安排年休假天数
- 月工资（离职前12个月平均工资，**须剔除加班工资**）

**离职分支追加（确认为离职结算后追问）：**
- 离职日期（精确到年月日）
- 离职时累计工作年限
- 当年度已安排年休假天数
- 离职前12个月平均月工资（**须剔除加班工资**）

### 追问触发规则

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

| 缺失字段 | 影响模块 | 追问话术示例 |
|:---|:---|:---|
| 场景类型 | 计算路径 | "请问您是想计算哪类场景：新员工入职折算 / 在职未休结算 / 离职时未休补偿？" |
| 入职日期 | 新员工折算 | "请问具体入职日期是？（如：2026年3月15日）" |
| 离职日期 | 离职折算 | "请问具体离职日期是？（如：2026年4月27日）" |
| 累计工作年限 | 应休天数档次 | "请问累计工作年限是多少年？（影响应休天数：5/10/15天）" |
| 已休天数 | 未休天数计算 | "当年度已安排休了多少天年假？" |
| 月工资 | 补偿金额计算 | "请问离职前12个月平均月工资是多少？（需剔除加班工资）" |

---

## 核心计算模块

### 加载参考文件

计算前须先加载：
- `references/formulas.md`：计算公式（含折算规则、特殊处理）
- `references/law_articles.md`：法条库（输出时引用）

### scripts 可调用操作清单

运行原则：
- `scripts/calc_engine.py` 的入参必须包含 `action`。
- 本 skill 当前没有 `policy_data.py` 和政策数据 API；累计工作年限、入职/离职日期、已休天数、月工资等事实必须来自用户输入。
- 年休假天数、日历天数折算、向下取整和补偿金额由脚本实现；`SKILL.md` 只负责选择 action、补齐输入和输出解释。

`scripts/calc_engine.py` 支持：

| action | 用途 | 关键入参 |
|--------|------|----------|
| `annual_leave_days` | 根据累计工作年限确定全年应休年休假天数 | `cumulative_years`，或直接传 `annual_leave_days` |
| `daily_wage` | 计算年休假补偿所用日工资 | `monthly_wage` |
| `new_employee` | 新员工入职当年年休假折算 | `year`、`entry_date`、`cumulative_years` 或 `annual_leave_days` |
| `resignation` | 离职员工当年年休假折算与未休补偿 | `year`、`resignation_date`、`cumulative_years` 或 `annual_leave_days`、`already_taken_days`、可选 `monthly_wage` |
| `in_service` | 在职员工未休年休假补偿 | `year`、`cumulative_years` 或 `annual_leave_days`、`taken_days`、`arranged_days` 或 `scheduled_days`、`monthly_wage` |
| `eligibility_check` | 检查不享受当年年休假的法定情形 | `cumulative_years`，以及寒暑假、事假、病假等相关字段 |
| `export_to_excel` | 导出未休年休假明细 Excel | `rows` 或 `detail_rows`，可选 `output_path` |

### scripts 命令生成规范

生成命令时必须使用仓库根目录相对路径，不要省略 `python3`。

```bash
python3 labor-fee-calculator/unused-annual-leave-calculator/scripts/calc_engine.py '{"action":"new_employee","year":2026,"entry_date":"2026-03-15","cumulative_years":8}'
```

复杂 JSON 优先使用 `@文件`：

```bash
python3 labor-fee-calculator/unused-annual-leave-calculator/scripts/calc_engine.py @/absolute/path/to/payload.json
```

命令生成校验规则：
- JSON 顶层必须是对象，且必须包含 `action`。
- JSON 使用双引号，整段 JSON 在 shell 中用单引号包裹；布尔值使用 JSON 的 `true` / `false`。
- `calc_engine.py` 成功时输出应包含 `"ok": true`。
- 命令生成后，应优先用 `python3 -m py_compile` 或实际执行命令做冒烟验证。

### 模块1：新员工入职当年折算

适用当年度新入职员工，使用 `new_employee`。需确认年份、入职日期、累计工作年限或直接给定全年应休天数；脚本负责日历天数折算和向下取整。

### 模块2：离职员工年休假折算与补偿

适用用人单位与职工解除或终止劳动合同，使用 `resignation`。需确认离职日期、累计工作年限、已休/已安排天数和月工资；脚本负责折算应休、未休天数、补偿金额和“多安排不扣回”等边界处理。

### 模块3：在职员工未休年休假补偿

适用用人单位主动结算当年度未休年休假，使用 `in_service`。需确认应休天数来源、已安排/已休天数和月工资；脚本负责日工资和补偿金额计算。

### 模块4：资格与日工资辅助计算

使用 `eligibility_check` 检查不享受当年年休假的法定情形；使用 `annual_leave_days` 或 `daily_wage` 做单项辅助查询。

---

## 输出格式规范

### 核心要素（必须包含，顺序和形式可灵活调整）

1. **计算标准说明**：采用的年休假天数标准及计算基数
2. **折算计算明细**：日期折算过程（含日历天数、公式、向下取整）
3. **补偿金额明细表**（Markdown表格）：
   - 赔偿项目
   - 计算过程
   - 金额（元）
   - 备注/法条依据
4. **法条依据**：列出支撑计算的核心法条（从 `references/law_articles.md` 调取）
5. **最终应赔偿金额**：汇总金额
6. **免责声明**（固定模板，每次必须输出）：

> **免责声明**：以上计算结果仅供参考，所采用的工资基数可能因计算口径不同而存在差异（如是否包含奖金、津贴、加班工资等）。年休假折算天数以实际日历天数为准。最终赔偿金额须根据实际证据情况及仲裁委员会/人民法院的裁决确定，本计算结果不构成法律意见。

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

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

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

---

## 防幻觉提示

- 所有数据必须来自 References 文件或 web_search 结果，不得凭空填写
- 日工资计算必须明确"剔除加班工资"的要求
- 折算天数必须向下取整，不足1天不计入
- 离职时已安排年休假多于折算应休的，多出部分不再扣回
- web_search 返回的数据须标注来源，便于用户核验

