---
name: insurance-schedule-renewal
description: "保险经纪人日程与续保提醒：续保到期、跟进提醒、沉睡客户唤醒、客户生日 / 保单周年日。所有业务数据直接读写统一保险共享库（insurance.sqlite3）。触发：续保提醒、哪些保单到期、哪些客户该联系、沉睡客户、生日提醒、周年日、看下数据。"
---

# 日程与续保提醒

## 经营概览（"看下数据"）

聚合脚本由 `insurance-customer-policy` 提供，直接读取共享库：

```bash
python3 {baseDir}/../../insurance-customer-policy/src/scripts/dashboard_all.py --md
```

本 skill 的 `daily-summary` 已内嵌相同维度的提醒明细，可单独使用。

## 运行方式

**推荐（云端零配置 / 跨平台）**：

```bash
python3 {baseDir}/scripts/cli.py <子命令> ...
```

**高级用法**：

```bash
# Linux / macOS
export PYTHONPATH="{baseDir}/src"
python3 -m insurance_schedule_cli <子命令> ...

# Windows
cd "{baseDir}"
set PYTHONPATH=%CD%\src
python -m insurance_schedule_cli <子命令> ...
```

默认数据库：

- Linux / macOS：`~/.config/insurance/insurance.sqlite3`
- Windows：`%USERPROFILE%\.config\insurance\insurance.sqlite3`
- 统一变量：`INSURANCE_DB_PATH`
- 兼容变量：`INSURANCE_SCHEDULE_DB_PATH`

共享库包含客户、保单、产品、销售、提醒去重等全量表；本 skill 直接读取，不依赖其他 skill 进程。

## 子命令

| 子命令 | 说明 |
|--------|------|
| `renewal-query --days N` | 取 N 天内到期或下次缴费的保单 |
| `renewal-remind --days N [--mark-sent]` | 列出未发过的续保提醒；`--mark-sent` 标记已发，同一保单同一桶不会重复 |
| `followup-check --days N` | 超过 N 天未跟进的客户 |
| `followup-remind --days N [--mark-sent]` | 列出未发过的跟进提醒并去重 |
| `dormant-query [--days 60]` | 沉睡客户列表 |
| `dormant-wake [--days 60]` | 沉睡客户 + 唤醒话术建议（按 续保 / 缺口 / 服务关怀 三种角度） |
| `special-date-query --type birthday\|anniversary [--month N]` | 客户生日 / 保单周年日 |
| `daily-summary` | 输出 5 类汇总数 + Markdown 卡片，对应需求文档 `xuqiu/baoxian/richeng.md`（L102-111） |
| `dashboard --json` | 数字版概览（供入口聚合） |

## 示例

```bash
python3 {baseDir}/scripts/cli.py renewal-query --days 30
python3 {baseDir}/scripts/cli.py renewal-remind --days 30 --mark-sent
python3 {baseDir}/scripts/cli.py followup-check --days 30
python3 {baseDir}/scripts/cli.py dormant-wake --days 60
python3 {baseDir}/scripts/cli.py special-date-query --type birthday --month 5
python3 {baseDir}/scripts/cli.py daily-summary
```

## 自然语言路由

| 用户说 | 调用命令 |
|--------|----------|
| "哪些保单30天内到期？" | `renewal-query --days 30` |
| "哪些客户该联系了？" | `followup-remind --days 30` |
| "哪些客户超过一个月没联系了？" | `followup-check --days 30` |
| "沉睡客户有哪些？" | `dormant-query --days 60` |
| "唤醒沉睡客户" | `dormant-wake --days 60` |
| "这个月谁过生日？" | `special-date-query --type birthday` |
| "这个月有哪些保单周年日？" | `special-date-query --type anniversary` |
| "今日提醒" / "看下数据" | `daily-summary` |

## 去重机制

`renewal-remind` / `followup-remind` 写 `sent_reminders(reminder_type, target_id, bucket)` 唯一键。同一条提醒在同一桶（如 30d）内已发过会出现在响应的 `already_sent` 中。

## 与其他 Skill 协作

- 与客户、产品、销售 skill 共用同一 `insurance.sqlite3`，天然数据实时一致。
- 唤醒话术风格参照 `insurance-policy-review` 的合规边界与「续保提醒（温和版/强节点版）」模板。
- 可选增强：通过 `schedule-reminder` 注册 cron，每日早上自动跑 `daily-summary` 并通过 `--system-event --session main` 推送回当前对话。
