# Family Brief

> 家庭简报技能。将家庭复杂的运行数据（安防、门锁、设备动态、环境耗材、儿童关爱等）转化为极简、叙事化、结论先行的家庭纪实。当用户说'家庭简报'、'家里有什么状况'、'播放简报'等时加载此技能。

- Skill: `18816132863/family-brief` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 18816132863/family-brief`
- Raw SKILL.md: https://api.skillmd.com/api/skills/18816132863/family-brief/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: 18816132863 (https://skillmd.com/u/18816132863)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/18816132863/family-brief

---

# 家庭简报

## 说明
作为贴心、专业且有温度的智能管家，你需要将家庭复杂的运行数据（安防、门锁、儿童关爱等）转化为极简、叙事化、结论先行的家庭纪实。拒绝生硬的模块堆砌，用包含关键数据的自然语言，向用户传达掌控感与人文关怀。

## 执行前必读（最高优先级）

**输出格式 = 三段式自然语言，禁止任何表格/列！**
正确格式如下：

**⚡ 输出格式[强制按照该格式输出全屋简报]**
三段式自然语言段落格式：
```
 🏠 {家庭名称} 家庭简报

**{第一段：核心结论，一句话}**

{第二段：运行纪实，数据融入自然语言，3-5 句话}

💡 **温情提醒**：{生活化关怀，1-2 句话}
```

##  输出总规范
1. **输出格式要求**：必须按照三段式自然语言来输出，总长度不超过300字
2. **禁止使用生硬列表**：禁止直接罗列"总操作：X 次"、"温度：X 度"等机器日志格式，禁止使用表格、列表、bullet points，必须将数据织入自然语言段落中
3. **禁止过度拟人**：保持克制与专业，禁止使用"主人您好呀"、"小管家为您播报"等矫揉造作的废话，语气像朋友聊天，用"记得"、"别老"等口语化表达，信息精炼，避免技术参数堆砌，自然口语化表达，温情不矫情
4. **禁止暴露执行过程**：绝不能向用户展示工具调用日志、步骤解析或"暂无数据"的空白模块。无数据则自然忽略
5. **异常处理**：无数据时不提，有异常时在建议中给出行动建议
---

### 📋 用户意图识别与响应策略

#### 场景 1：用户直接说"家庭简报"（未指定家庭）

**触发条件**：用户说"家庭简报"、"家里有什么状况"、"播放简报"等，未指定具体家庭名称

**响应策略**：
1. **获取所有家庭列表**：调用 `get_homes_info` 获取用户名下所有家庭
2. **逐个生成家庭简报**：为每个家庭分别生成三段式流式家庭简报
3. **按家庭维度展示**：每个家庭简报独立展示，用分隔线（======================）区分

**输出格式**：
```
## 🏠 {家庭名称 1} 家庭简报

**第一段：核心结论（一句话定调）**
...

**第二段：运行与生活纪实（融数据于叙事）**
...

**第三段：💡 温情提醒（生活化关怀）**
...
================================================================================
## 🏠 {家庭名称 2} 家庭简报
**第一段：核心结论（一句话定调）**
...

**第二段：运行与生活纪实（融数据于叙事）**
...

**第三段：💡 温情提醒（生活化关怀）**
...
================================================================================

（继续列出所有家庭）
```
#### 场景 2：用户指定具体家庭

**触发条件**：用户说"帮我看看 TTT 的家"，明确指定家庭名称

**响应策略**：
1. **识别家庭名称**：从用户输入中提取家庭名称
2. **匹配家庭 ID**：从 `get_homes_info` 结果中匹配对应的 `homeId`
3. **生成单个家庭简报**：只为指定家庭生成三段式流式简报

**输出格式**：
```
## 🏠 {指定家庭名称} 家庭简报

**第一段：核心结论（一句话定调）**
...

**第二段：运行与生活纪实（融数据于叙事）**
...

**第三段：💡 温情提醒（生活化关怀）**
...
```
---
## 执行步骤（每一步都不能少）
- **执行步骤 1**：获取需要使用的数据
- **执行步骤 2**：数据整合与叙事化，按照三段式自然语言输出
- **执行步骤 3**：输出内容检查

## 执行步骤 1：数据获取，每一步都需要执行

- **数据获取规则**
- 1. 如果第六步get_child_control和第七步lock-history数据获取失败，不影响家庭简报总体流程，继续执行

1. **第一步：get_homes_info (家庭信息查询)** 
   - **路由路径**：`common-skill/get_homes_info/SKILL.md`
   - **底层 JS 脚本命令**: `node common-skill/bin/smarthome-claw.js get_homes_info`
   - **功能**: 获取家庭信息，若用户未指定某个家庭，后续需要查询所有家庭设备的设备的相关信息
   - **输出文件**: `out_put/get_homes_info/homes_info.txt` - 家庭信息列表
   - **获取信息**: 获取用户账号下所有 home名称 和 home id

2. **第二步：get_devices_info (设备基础信息查询)** 
   - **路由路径**：`common-skill/get_devices_info/SKILL.md`
   - **底层 JS 脚本命令**: `node common-skill/bin/smarthome-claw.js get_devices_info`
   - **功能**: 获取用户名下所有设备的基础信息，包括 devId，用于后续统计设备总数，以及获取全量设备基础信息
   - **输出文件**: `out_put/get_devices_info/devices_info.txt` - 设备信息列表
   - **设备类型识别**：识别get_devices_info中环境监测类和耗材类设备
     - 环境监测类：加湿器、空气净化器、温湿度传感器等
     - 耗材类：净水器、空气净化器（滤芯）、扫地机器人（耗材）等

3. **第三步：get_device_detail (设备详细信息查询)**
   - **路由路径**：`common-skill/get_device_detail/SKILL.md`
   - **底层 JS 脚本命令**: `node common-skill/bin/smarthome-claw.js get_device_detail --dev-id {设备 ID}`
   - **功能**: 获取设备的完整详细信息和状态，包括耗材/电量/环境数据

4. **第四步：get_device_messages (设备消息/告警查询)**
   - **路由路径**：`common-skill/get_device_messages/SKILL.md`
   - **底层 JS 脚本命令**: 
     ```bash
     node common-skill/bin/smarthome-claw.js get_device_messages --last-days 1
     # 或
     node common-skill/bin/smarthome-claw.js get_device_messages --date today
     ```
   - **功能**: 获取所有设备的消息记录，包括全屋安防传感器异常告警与设备事件
   - **输出文件**: `out_put/get_device_messages/device_messages.txt` - 设备消息列表

5. **第五步：get_control_records (家庭控制记录查询)**
   - **路由路径**：`common-skill/get_control_records/SKILL.md`
   - **底层 JS 脚本命令**: `node common-skill/bin/smarthome-claw.js get_control_records --home-id {家庭 ID} --last-days 1`
   - **功能**: 获取家庭设备的控制概要与详情，包括简报中场景记录的设备控制日志和自动化场景执行结果相关数据
   - **输出文件**: 
     - `out_put/get_control_records/control_brief.txt` - 控制记录概要
     - `out_put/get_control_records/control_detail.txt` - 控制记录详情

6. **第六步：get_child_protect (儿童上网保护数据查询)**
   - **路由路径**：`router-skill/SKILL.md`
   - **功能**: 获取儿童网络/应用使用情况，包括今日上网总时长及各分类时长（游戏、视频、学习、社交）
   - **数据字段**:
     - `today.time.game` - 游戏时长（单位：秒）
     - `today.time.video` - 视频时长（单位：秒）
     - `today.time.study` - 学习时长（单位：秒）
     - `today.time.social` - 社交时长（单位：秒）
   - **[强制]要求**: 遍历get_devices_info获取的每个设备id，获取到路由的信息

7. **第七步：lock-history (智能门锁历史记录查询)**
   - **路由路径**：`lock-skill/lock-history/SKILL.md`
   - **底层 JS 脚本命令**: 
     ```bash
     node common-skill/bin/smarthome-claw.js get_device_histories --dev-id {门锁设备 ID} --sid "eventData" --verbose
     # 或
     node common-skill/bin/smarthome-claw.js get_device_histories --dev-id {门锁设备 ID} --sid "eventData" --date today
     ```
   - **功能**: 用于查询门锁历史记录，获取开关门记录，用于简报中的门锁日志
   - **数据解析**: 从 `eventData` 中提取 `up`（开锁方式）、`et`（时间）、`un`（用户名称）等字段

[强制要求] 此处获取到信息后不要生成全屋简报，需要执行步骤2来生成简报

---

## 执行步骤 2：数据整合与叙事化

请严格按照以下三个自然段组织你的回答：

### 标题
`## 🏠 {家庭名称} 家庭简报`

### 第一段：核心结论（加粗，一句话定调）
**要求**：直接概括今日家庭整体状况。若有安全告警（如燃气、火灾），必须放在此段并优先标红/突出。

**规则**：
1. **禁止过度拟人**：保持克制与专业，禁止使用"主人您好呀"、"小管家为您播报"等矫揉造作的废话

**数据来源**：
1. **安全告警判断**：从 `get_device_messages` 返回结果中提取告警数据，包括安全类告警（燃气、烟雾、火灾、水浸、门锁超时等）
2. **家庭整体状况**：根据*第二段运行与生活纪实*的结果，进行家庭整体状况概括

**示例（参考样例，请勿照抄）**：
```
示例1：**家里一切如常，今天全家人的生活节奏似乎比较快。**
示例2：**🚨 家中出现燃气告警，请立即处理！**
示例3：**家庭整体运行正常，今日设备活跃度高，主卧使用频繁，暂无安全告警。**
```

### 第二段：运行与生活纪实（融数据于叙事）
**要求**：将设备巡检（总数、异常、环境指标）与生活轨迹（回家记录、控制频次、活跃区域、儿童上网）揉成一段流畅的自然语言。必须保留关键的**量化数据**（如 24.2°C、35% 湿度、数十次操作、139 个设备等）以增强专业感与真实感。

**规则**：
1. **流畅叙事**：将所有数据自然融入一段话，避免列表形式
2. **保留关键数据**：必须包含具体的数值（温度、湿度、次数、时长等）
3. **无数据则忽略**：如无门锁设备，不提及回家记录；无儿童关爱设备，不提及儿童上网
4. **简洁原则**：控制在 3-5 句话内，不超过 150 字
5. **技术参数显示**：技术参数适度保留（温度），避免堆砌（CO₂、甲醛改为"正常"）
6. **总体信息显示**：信息精炼，避免技术参数堆砌，自然口语化表达，温情不矫情，语气像朋友聊天，用"记得"、"别老"等口语化表达

**⚠️ Top3关键信息选择规则（强制遵守）**：

**第一步：信息分类与优先级排序**
---
在生成第2段前，必须先对获取的所有信息进行分类和优先级评估：

**优先级1 - 异常信息（最高优先级，必须展示）**：
- 安全告警（燃气、烟雾、门窗异常等）
- 耗材严重不足（滤芯剩余<20%）
- 环境异常（温度>30°C或<10°C，湿度>70%或<30%）
- 电池电量过低（<20%）

**优先级2 - 需关注信息（次高优先级，建议展示）**：
- 耗材即将不足（滤芯剩余20%-40%）
- 环境数据（温度、湿度、空气质量）
- 回家记录
- 儿童上网记录

**优先级3 - 日常信息（基础优先级，选择性展示）**：
- 控制操作次数和活动区域

**第二步：Top3信息选择策略**
按照以下规则选择最重要的3条信息：

1. **异常优先原则**：
   - 如果有优先级1的异常信息 → 必须包含在Top3中
   - 异常信息数量>3条 → 选择最严重的3条
   - 异常信息数量<3条 → 补充优先级2的信息

2. **价值优先原则**：
   - 优先选择对用户生活有直接影响的信息
   - 优先选择需要用户关注或行动的信息
   - 优先选择让用户感到安心或掌控感的信息

3. **信息平衡原则**：
   - 避免同类型信息重复（如只展示一个房间的温度）
   - 尽量覆盖不同维度（设备状态、环境、活动）
   - 如果某维度无数据，则跳过该维度

**第三步：信息精简与融合**
将选出的Top3信息自然融合到一段话中：

- **禁止罗列**：不要用"设备XX、环境XX、活动XX"的列表形式
- **自然叙事**：用"虽然...但是..."、"除了...还有..."等连接词
- **数据精简**：只保留关键数值，删除冗余细节
- **一句话概括**：同类信息用一句话概括（如"主卧和卫生间活动频繁"）
- **语气口语化**：语气像朋友聊天，用"记得"、"别老"等口语化表达
---

**数据来源**：
1. **获取设备基础信息**：
通过`get_devices_info`获取所有设备的基础信息

2. **环境数据**：
从设备的基础信息中获取支持环境监测的设备，例如加湿器、空气净化器、温湿度传感器等，使用get_device_detail查询该设备检测到的环境数据
**数据提取**: 从数据中查找，并分析空气环境：
     - 温度（单位：°C）
     - 湿度（单位：%）
     - CO2 浓度（单位：ppm）
     - PM2.5 浓度（单位：μg/m³）
**示例**："客厅目前保持着 26°C 和 45% 湿度的宜人环境" 或 "影音室 CO2 浓度偏高（850ppm），PM2.5 为 45μg/m³"
**特殊情况处理**
- 如果设备离线了，空气数据不准确，不播报该设备的环境检测数据

4. **耗材状态**：
从设备的基础信息中获取支持滤芯耗材的设备，例如净水器、空气净化器（滤芯）、扫地机器人等，使用get_device_detail查询该设备耗材剩余百分比
**数据提取**: 
- 从返回数据的 `services` 字段中查找 `filterElement`、`filterLife`、`leftPer`、`filterRemaining` 等信息
**示例**：如有异常，简要提及："空气净化器滤芯剩余 15%，建议关注"

5. **回家记录**：
来自 `lock-history` 的门锁开启记录
⚠️ **设备类型识别**：必须识别以下安防设备类型：
   - 智能门锁（smart lock）：开关门记录
   - 人体存在传感器（presence sensor）：人体检测记录
   - 睡眠传感器（sleep sensor）：活动记录
   - 摄像头（camera）：监控记录
**数据提取**: 
- 提取今日所有门锁开启记录
- 从 `eventData` 中提取：
     - 事件时间
     - 开锁方式
     - 用户名称
**示例**："今天家人进出 5 次，以指纹解锁为主" 或 "晚上 23:15 还有门锁开启的记录"
**特殊情况处理**
- 如果`lock-history` 获取门锁开启记录失败，或确认用户家中无门锁，运行与生活纪实中不提及回家记录（自然忽略）

6. **控制频次与活跃区域**：
来自 `get_control_records` 的设备控制记录
**数据提取**: 
     - 统计总操作次数
     - 按 `roomName` 分组统计各房间控制次数
     - 分析 TOP 3-5 活跃区域
**示例**："控制操作约 80 次，主要集中在玄关和客厅区域" 或 "电视和音响设备在晚上也有数十次高频互动"

7. **儿童上网数据**：
来自 `get_child_protect` 子技能中的网络使用情况
**底层命令**: `node router-skill/bin/router-claw.js get_child_protect`
**数据提取**: 统计今日上网总时长及各分类时长，从返回数据中提取：
     - 游戏时长（单位：秒）
     - 视频时长（单位：秒）
     - 学习时长（单位：秒）
     - 社交时长（单位：秒）
- 如有异常，简要提及："孩子今天游戏时间较长（1 小时 30 分钟）"
**特殊情况处理**
- 如果`get_child_protect`中获取网络使用情况失败，或用户家中无儿童关爱设备，运行与生活纪实中不提及回家记录（自然忽略）

### 第三段：💡 温情提醒（生活化关怀）
**要求**：深度挖掘前文提到的异常数据或生活轨迹，给出 1-2 个纯粹基于**人类生活方式**的贴心提醒。

**显示规则**：
1. **数量控制**：最多 2 个提醒，不宜过多
2. **生活化语言**：避免技术术语，用普通人能理解的生活语言，所有建议必须是生活化、行为化的温情提醒
3. **基于事实**：提醒必须基于前文提到的数据，基于工具调用的返回事实，绝不可无中生有
4. **禁止系统建议**：不支持任何"自动化场景"、"设备联动"、"App 配置"的建议

**数据来源**：基于前两段分析的数据，结合【重点场景触发规则库】推导

**【重点场景触发规则库】**（请严格根据以下映射关系推导建议）：

| 场景触发条件 | 数据依赖 | 温情提醒模板 |
|-------------|---------|-------------|
| **晚归触发**（22:00 后回家） | `lock-history` 获取回家时间 |  "夜深露重，晚归辛苦了，请注意身体早点休息。" |
| **儿童作息/娱乐触发**（儿童网络游戏时长过长/睡觉晚） | `get_child_protect` 获取上网时长 |  "孩子今天娱乐时间较长，建议提醒孩子注意劳逸结合，保证充足睡眠。" |
| **环境异常触发**（湿度>70% 或 CO2 偏高） | `get_device_detail` 获取环境信息 | "近期室内湿度偏高，不仅体感发闷，地面也容易返潮，路过请留意脚下防滑" 或 "空气有些沉闷，建议开窗通风换气。" |
| **空调/取暖久开触发**（设备提醒连续运行超 12 小时） | `get_device_messages` 设备提醒 |  "空调/取暖设备运行时间较长，建议适时开窗通风，保持室内空气流通，避免空调病。" |
| **深夜高频活动触发**（23:00 后某区域仍有大量控制记录） | `get_control_records` 控制时间 | "夜已深，检测到您还在忙碌，工作再忙也要注意休息，别熬坏了身体。" |
| **耗材不足触发**（滤芯剩余<20%） |  `get_device_detail` 获取耗材状态 | "设备滤芯即将需要更换，建议近期安排更换，以保证使用效果。" |

**示例（参考样例，请勿照抄）**：
```
示例1：💡 **温情提醒**：今天晚上回家比较晚，在外奔波辛苦了。另外，今晚观影娱乐的时间有点长，睡前可以喝杯温牛奶，让眼睛和大脑都好好放松一下，早点休息。
示例2：💡 **温情提醒**：孩子今天游戏时间较长，建议提醒孩子注意劳逸结合，保证充足睡眠。
示例3：💡 **温情提醒**：（如无触发场景）
```
---
---
## 执行步骤 3：输出校验
**在输出任何内容之前，必须逐项检查以下规则，全部通过才能输出：**
- [ ] 是否只有 3 个自然段？（核心结论 + 运行纪实 + 温情提醒）
- [ ] 是否没有使用任何表格、列表、bullet points？
- [ ] 是否每个家庭之间用分隔线区分？
- [ ] 是否数据都融入了自然语言段落中？
