---
name: insurance-sales-pipeline
description: "保险经纪人销售漏斗管理：商机管理、阶段推进（在谈/方案中/议价/已成交/已流失）、成交预测、月度目标跟踪、流失分析。触发：新建商机、在谈客户、推进阶段、这个月预计能出多少、目标完成、流失原因、看下数据。"
---

# 销售漏斗管理

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

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

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

本 skill 的 `dashboard --json` 仅返回销售漏斗维度，聚合脚本并行调用全部 4 个 skill。

## 运行方式

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

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

**高级用法**：

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

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

默认数据库：

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

> `deal-add` 会在共享库中直接校验客户与产品是否存在，不再通过跨 skill 子进程转发；默认零配置开箱可用。

## 销售阶段定义

| 阶段 | 含义 | 成交概率 |
|------|------|----------|
| 在谈 | 已接触，了解需求，准备出方案 | 20% |
| 方案中 | 已出方案，客户在考虑 | 50% |
| 议价 | 客户基本认可，谈最终条款 | 80% |
| 已成交 | 保单已出 | 100% |
| 已流失 | 客户放弃或选了竞品 | 0% |

## 子命令

| 子命令 | 说明 |
|--------|------|
| `deal-add` | `--customer-id [--product --product-type --stage --estimated-premium --expected-close-date]` |
| `deal-query` | `--deal-id` / `--customer-id` / `--stage` / `--status active` |
| `deal-update` | `--deal-id --set JSON` |
| `deal-delete` | `--deal-id --yes` |
| `deal-stage` | `--deal-id --to <阶段> [--note --actual-premium --lost-reason --lost-note]` 自动写 `deal_stage_log` |
| `deal-forecast` | `--month YYYY-MM` 按 stage × 概率 × estimated 求和；分产品类型 group by |
| `target-track` | 写：`--month --target` ；读：`--month` 输出可视化进度卡 |
| `deal-lost` | 写：`--deal-id --reason <价格\|条款\|竞品\|自身\|其他> --note`；读：`--stats --month` 按原因分布 |
| `dashboard --json` | 经营概览（供入口聚合） |

## 示例

```bash
python3 {baseDir}/scripts/cli.py deal-add --customer-id C001 --product "XX重疾险" --product-type "重疾险" --stage "在谈" --estimated-premium 8000
python3 {baseDir}/scripts/cli.py deal-stage --deal-id D001 --to "方案中" --note "已出方案，客户正在看"
python3 {baseDir}/scripts/cli.py deal-stage --deal-id D001 --to "已成交" --actual-premium 9000
python3 {baseDir}/scripts/cli.py deal-forecast --month 2026-05
python3 {baseDir}/scripts/cli.py target-track --month 2026-05 --target 100000
python3 {baseDir}/scripts/cli.py deal-lost --deal-id D002 --reason 价格 --note "客户选了B公司，比我们便宜15%"
python3 {baseDir}/scripts/cli.py deal-lost --stats --month 2026-05
```

## 自然语言路由

| 用户说 | 调用命令 |
|--------|----------|
| "张先生想了解重疾险，新建一个商机" | `deal-add` |
| "现在有哪些在谈的客户？" | `deal-query --status active` |
| "张先生已经出方案了" | `deal-stage --to 方案中` |
| "这个月预计能出多少？" | `deal-forecast` |
| "这个月目标完成了多少？" | `target-track` |
| "设置本月目标 10 万" | `target-track --target 100000` |
| "张先生没签，记录一下" | `deal-lost` |
| "看下数据" | `dashboard --json`（同时聚合其他 3 个保险 skill 的 dashboard） |

## 与其他 Skill 协作

- **`insurance-customer-policy`**：deal 关联客户档案，`deal-add` 自动校验客户存在并填充 customer_name。
- **`insurance-product-analysis`**：可选关联产品；`customer-match` 的结果可作为 `deal-add` 的输入。
- **`insurance-schedule-renewal`**：商机推进 / 流失后，跟进提醒可基于 `followup-add`（在 customer-policy 侧）继续推进。
- 阶段推进话术建议参考 `insurance-sales-playbook` 的「三段式回应 / 7 天跟进节奏 / 异议处理卡」。
