# Auto Insurance Recommendation

> 顧客の年齢・年収・プロフィールに基づき、最適な自動車保険プランを提案する。

- Skill: `fdu-ins/auto-insurance-recommendation` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add fdu-ins/auto-insurance-recommendation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fdu-ins/auto-insurance-recommendation/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: FDU-INS (https://skillmd.com/u/fdu-ins)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/fdu-ins/auto-insurance-recommendation

---


# Skill: auto_insurance_recommendation

## 目的
顧客情報（年齢・年収・家族構成・ニーズ）をもとに、最適な自動車保険プランを提案する。

## エージェントが使う判断ルール
- **前提確認**: `recommend.py` を呼ぶ前に、車種区分（普通車/軽自動車/SUVなど）と車齢が顧客から得られていること。不明な場合はこのスキルを呼ばずに先に顧客へ質問する
- **age・annual_income は顧客に聞かない**: これらは引き継ぎコンテキスト（`customer_context`）に含まれている。必ずコンテキストの実値を使うこと
  - **`annual_income: 0` は禁止**。コンテキストに値がある場合は必ずその値を渡す
  - `customer_context.annual_income` は文字列で格納されている（例: `"5500000"`）。スクリプトに渡す際は**整数に変換**すること（例: `5500000`）
  - `customer_context.age` も同様に文字列の場合がある。整数に変換して渡すこと
  - 例: `{"customer_id": "C001", "age": 35, "annual_income": 6000000}` ← 正しい（整数）
  - 例: `{"customer_id": "C001", "age": "35", "annual_income": "6000000"}` ← 文字列のまま渡すのは誤り
  - 例: `{"customer_id": "C001", "age": 35, "annual_income": 0}` ← **禁止（0は誤り）**
- `scripts/recommend.py` を呼び出し候補プランを取得する
- RECOMMENDATION_RULES.md の年齢・年収基準に従ってプランを絞り込む
- 既に自動車保険契約がある場合は重複加入を避け「見直しプラン」として提案する
- 提案時は月額保険料・保障内容・特徴を明確に説明する
- 最大3プランを比較形式で提示する（1回のみ — 同一ターンで重複して表示しない）
- 複数プランを提示する場合は必ず以下のテーブル形式で出力する:

| プラン | 月額保険料 | 保障内容 | 特徴 |
|---|---|---|---|
| {商品名} | {金額}円 | {保障の概要} | {特徴} |

## 業務上の暗黙知
- 車購入直後の顧客は納車日に合わせた開始日を設定する
- 「とりあえず安く」という顧客にはエコノミーを起点に会話する
- 家族が増えた場合は搭乗者傷害特約の重要性を強調する

## ⚠️ 活動記録について
- このスキルは `activity_log_writer` を **呼び出さない**
- 活動記録は、契約・解約などの最終アクションが完了したタイミングでのみ記録する
- 提案・見積の段階では記録しないこと

## 使用するスクリプト
- `scripts/recommend.py` — 条件に合うプラン一覧の取得
  - **有効な引数**: `--age`（必須）, `--annual_income`（必須）, `--customer_id`（任意）のみ
  - `--vehicle_type`, `--vehicle_age`, `--preferences` 等の引数は存在しない。渡すと exit code 2 で失敗するため絶対に渡さないこと
  - スクリプトが失敗した場合、「準備中」「少々お待ちください」などの中間メッセージを出してユーザー入力を待ってはならない。エラー内容を確認し、即座に正しい引数で再試行すること

## 使用するデータ
- `demo_app/data/products.csv`
- `demo_app/data/contracts.csv`
- `references/RECOMMENDATION_RULES.md`

