| name | health-overview-claw |
| description | 生成单日综合健康早报。当用户问'我今天怎么样'、'今天概览'、'健康总结'等综合性问题时使用。具体单领域问题(心率/睡眠/运动/压力等)应路由到对应领域 skill。本 skill 的核心价值是跨域关联分析和多指标收敛判断。周度回顾使用 weekly-review skill。 |
| metadata | {"pha":{"emoji":"📊","category":"health-coaching-cli","layer":"domain","sections":["[Truncated]","[Truncated]","[Truncated]"],"tags":["cli","overview","daily-summary","cross-domain","coaching"],"requires":{"tools":"[Truncated]","skills":"[Truncated]"}}} |
健康概览 — 单日综合解读与跨域分析
定位:本 skill 不重复各垂域的领域知识(参考标准、分级阈值等已在对应垂域 skill 中),专注于垂域 skill 不覆盖的三件事:跨域关联分析、多指标收敛判断、异常汇总与报告结构。
与 weekly-review 的分工:health-overview 聚焦单日深度分析,用近 7 天数据作为个人基线;weekly-review 聚焦本周趋势回顾,用上周数据作为对比基线。
一、数据获取策略
全量并行,一次性发起
get_sleep --last-days 7 # 以起床日期存储,详见 sleep-coach skill
get_naps --last-days 7
get_heart_rate --last-days 7
get_resting_heart_rate --last-days 7
get_hrv --last-days 7
get_heart_rhythm --last-days 7
get_spo2 --last-days 7
get_blood_pressure --last-days 7
get_stress --last-days 7
get_emotion --last-days 7
get_activity_data --last-days 7
get_workouts --last-days 7
get_vo2max --last-days 7
睡眠日期偏移:get_sleep 数据以起床日期存储,不是入睡日期。"昨晚睡眠"对应的是今天的数据。详见 sleep-coach skill。
全量取数后,按下方分析框架逐步处理。不要先取部分再追加。
分析焦点:报告聚焦最近一天(昨日/今日),前 6 天数据仅作为个人基线用于对比。
二、强制分析流程
拿到数据后,在输出报告前,必须在内部完成以下四步。报告中每个判断必须能追溯到这些步骤。
第一步:数据清点(防遗漏)
逐一扫描每个工具返回的数据,列出所有非空字段和数值。重点检查:
- 午睡数据(
get_naps):若有,必须纳入总睡眠分析
- 情绪分布中愉悦 + 平静 + 低落比例之和是否为 100%(若缺平静,需计算补齐)
- 血压记录中每个时间点是独立记录,引用时必须精确到对应行的时间
- 运动记录的时间,与血压测量时间、入睡时间的先后关系(为第三步时序校验做准备)
- 历史数据中标为
null 或空的字段,严禁描述为某个具体数值
- 标记数据缺失的维度(后续不对缺失维度做推断或评价)
数据充分性判断:
- 超过一半维度数据缺失 → 报告开头提示"当前可用数据有限,部分维度无法分析"
- 关键维度(睡眠、心率)缺失 → 明确指出并建议确保佩戴设备覆盖相应时段
- 历史数据不足 3 天 → 报告末尾建议长期佩戴
第二步:数值验算(防计算错误)
对报告中将出现的每个数值判断,预先完成验算:
- 比较判断:如 A=179, B=170 → 179 > 170 → "高于"
- 差值计算:如 7.2 − 6.5 = 0.7,写出完整算式
- 百分比计算:如深睡 48min / 总睡眠 360min = 13.3%
- 睡眠效率计算:若数据包含入睡时间和起床时间,计算
实际睡眠时长 / 在床时间 × 100%(注意跨午夜处理),按 sleep-coach skill 标准评估
- 趋势判断:按时间顺序列出所有数据点,检查是否有反向波动
第三步:因果与时序校验(防归因错误)
对报告中每个因果/关联判断,必须完成:
- 原因事件发生于几点?结果事件发生于几点?
- 原因必须在结果之前 — 如"晚间运动影响睡眠"需确认运动结束时间在入睡时间之前
- 数据中是否存在同条件但结果不同的反例?
- 若无法通过校验,只描述变化本身,删除归因推测
- 做归因时必须使用"可能""或许"等不确定性表达
第四步:异常汇总与基调定性
按各垂域 skill 定义的参考标准,逐维度扫描当日数据,标记所有触发异常的维度。需检查的维度:睡眠(总量、结构、效率)、血压(高/低、脉压差)、心率(静息心率)、血氧、步数、压力、情绪。各维度的具体阈值以对应垂域 skill 为准。
基调定性规则:
- 无异常 → 可使用正面评价
- 有异常 → 禁止使用"整体优异""各项指标均正常"等正面概括;使用中性表述
三、跨域关联分析框架
这是 health-overview 的核心独有职责。各垂域 skill 只分析自己领域内的数据,跨域关联由本 skill 负责。
3.1 多指标收敛判断
当多个指标共同指向同一结论时,优先呈现该收敛性结论,而非孤立报告单一指标异常:
| 收敛信号 | 结论 |
|---|
| 静息心率升高 + HRV 下降 + 深睡比例下降 + 压力评分偏高 | 恢复不足 — 身体多维度发出需要休息的信号 |
| 步数骤降 + 压力偏高 + 情绪低落比例升高 | 身心状态低迷 — 需温和关心,了解原因 |
| 运动量充足 + 睡眠质量好 + 静息心率平稳/下降 + HRV 上升 | 良性循环 — 肯定正向趋势 |
| 睡眠不足 + 静息心率升高 + 压力偏高 | 睡眠驱动的连锁反应 — 优先保障睡眠 |
| 夜间 SpO2 下降 + 频繁清醒 + 白天疲劳 | 疑似 OSA — 建议做睡眠检查(不诊断) |
| 血压偏高 + 压力持续偏高 + 睡眠不足 | 心血管压力叠加 — 多因素共同推高血压 |
单一指标的轻微波动可降级处理,多指标联动异常应升级为重点关注。
3.2 运动与其他维度的时序关联
| 时序场景 | 分析方向 |
|---|
| 运动结束时间在入睡前 2 小时内 | 检查是否影响入睡时间和深睡 |
| 运动后测量的血压 | 标注为应激性升高,与静息状态分开评估 |
| 运动日 vs 非运动日 | 对比睡眠评分、静息心率、压力均分的差异 |
| 连续多天无运动 | 检查压力是否缺乏释放渠道 |
3.3 睡眠对次日指标的影响链
睡眠不足 → 次日静息心率可能升高 3-8 bpm
→ 次日 HRV 可能下降
→ 次日压力评分可能偏高
→ 次日情绪低落比例可能升高
分析时注意:这是"睡眠→次日"的方向,不要反向归因。
3.4 压力-情绪-睡眠三角
- 压力偏高 → 常导致入睡困难、夜间清醒增多
- 睡眠不足 → 放大情绪波动、压力感知
- 低落情绪超过 50% → 可能影响深睡和入睡
三者互相影响时,找到根因(通常是睡眠不足或持续压力源),不要三个维度各说一遍同一件事。
四、评价一致性规则
4.1 数值与结论方向一致
- 数值升高只能描述为"上升/升高/增加",禁止描述为"下降"
- 值在参考范围内 → "在建议范围内";值超出 → "高于/低于建议范围"
4.2 分析与建议不矛盾
- 若分析说"步数已超过建议水平" → 建议不能再说"增加步数"
- 若分析说"某指标需关注" → 建议必须包含对应改善方向
- 正面分析 → 维持性建议;负面分析 → 改善性建议
4.3 泛化约束
- "7 天中有 2 天有运动记录" ≠ "运动频率为每周 2 次"(可能是数据不全)
- "无专项运动记录" ≠ "休息日"(中高强度活动量 > 0 时不可称休息日)
- 趋势稳定不等于绝对值正常 — 若绝对值本身值得关注,即使趋势稳定也需指出
4.4 结论强度与数据量匹配
| 数据点数 | 允许的表述强度 |
|---|
| 2-3 个 | 只能说"变化""波动" |
| 4-6 个 | 可以说"近期呈现某方向变化" |
| 7 个以上 | 方可使用"趋势" |
五、报告结构
综合健康早报(默认格式)
## [数据日期] 健康早报 · [昨日主题/特点]
[一句话概括昨日整体状态]
### 昨日关键发现
[展开最有价值的 2-4 个洞察,优先呈现多指标收敛的结论]
### 今日建议
[1-3 条具体可执行的建议]
### 其他指标概览
[简要提及其他正常指标或暂无数据的维度]
内容覆盖维度(按数据可用性选取)
- 睡眠质量 — 时长、结构、效率、规律性
- 恢复状态 — 综合静息心率 + HRV + 睡眠 + 压力判断
- 压力与情绪 — 压力均分 + 情绪分布 + HRV 交叉验证
- 活动与久坐 — 步数、活跃小时、中高强度时长
- 训练负荷 — 运动频率、强度、恢复
- 心血管状态 — 静息心率、血压、血氧、心律异常提醒
- 节律规律性 — 作息时间波动
- 趋势与异常监测 — 近期各指标变化
无数据的维度简要标注"暂无数据",不展开分析。不要求每个维度都展开 — 根据数据中最有价值的发现动态分配篇幅。多个维度共同指向同一结论时,合并呈现。
六、输出规范
通用输出规范(数据引用格式、语气、禁止 Markdown 绘图等)见 healthy-shared skill。以下仅列出本 skill 的补充规范。
比较级表达
禁止使用任何形态的数学不等号(< > < > < >)。所有比较必须转为纯中文:"低于""高于""不超过""不低于"。
信息安全
- 禁止暴露工具名称(如
get_sleep、get_heart_rate 等)
- 禁止暴露原始错误信息(如 "data: null")
- 用自然语言转述
七、红线
| 信号 | 处理方式 |
|---|
| 多指标同时严重异常(如静息心率超过 100 + 血压 2 级 + 血氧低于 90%) | 升级为紧急关注,建议尽快就医 |
| 连续多天活动量骤降至接近零 | 温和关心,了解情况 |
| 用户过度关注单日数字 | 引导看趋势:"每天的波动完全正常,真正重要的是周趋势" |
| 出现急性症状描述(胸痛、呼吸困难、晕厥) | 立即执行紧急处理协议,不继续数据分析 |
各维度的具体红线阈值见对应垂域 skill(cardiovascular、sleep-coach、mental-health 等),此处只处理跨域叠加的升级情况。