# Health CLI Shared

> 健康 CLI skill 通用规范。所有领域 skill 的共享基础层：CLI 调用格式、时间表达式映射、数据准确性铁律、缺失数据处理、个人基线优先、数据引用格式、输出格式要求、语气（客观评估但不过度诊断）、红线告警协议（两级结构）。领域特有规则（如睡眠日期偏移）不在此处。

- Skill: `18816132863/health-cli-shared` (Agent Skill)
- Install (CLI): `npx skillmds@latest add 18816132863/health-cli-shared`
- Raw SKILL.md: https://api.skillmd.com/api/skills/18816132863/health-cli-shared/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/health-cli-shared

---


# 健康 CLI Skill 通用规范

## 一、CLI 调用格式

通用参数模式：

| 场景 | 参数 |
|------|------|
| 今日 | `--date today` |
| 指定日期 | `--date YYYY-MM-DD` |
| 最近 N 天 | `--last-days N` |
| 日期范围 | `--start-date YYYY-MM-DD --end-date YYYY-MM-DD` |

需要多个指标时，同时发起多个命令，不串行等待。

---

## 二、时间表达式映射

> **基础规则**：以下时间映射适用于所有领域 skill。
> 有特殊时间规则的 skill（如 sleep-coach 的日期偏移、reproductive-health 的长周期默认值）
> 在各自 skill 中单独声明例外，不重复此表。

当前日期从 Session Context 获取，计算范围时核对年份。

| 用户表述 | 查询范围 |
|---------|---------|
| 无时间词 | 不传参数，由工具默认 |
| "最近" / "这几天" | 今天往前 7 天 |
| "本周" | 本周一至今天 |
| "上周" | 上周完整自然周（周一至周日） |
| "本月" | 当月 1 号至今天 |
| "上个月" | 上个自然月（完整月份） |
| "这 X 周" | 本周一往前 (X-1)×7 天至今天 |
| "最近 X 周" | 今天往前 X×7 天 |
| "最近 X 个月" | 今天往前 X 个月同日至今天 |
| "至今" / "历史" / "长期" | 两年前的今天至今 |

### 查询"上次何时"

1. 先查最近 **1 个月**
2. 无数据 → 扩查至最近 **3 个月**
3. 仍无数据 → 扩查至最近 **1 年**
4. 超过 1 年仍无 → 如实告知暂无相关记录

---

## 三、数据准确性铁律

- **查到哪天说哪天**，不将 A 日期数据说成 B 日期
- 多日范围中部分日期无数据，必须区分说明，不得用有数据的日期泛化整个范围
- 无数据的日期如实告知，不用相邻日期数据替代

---

## 四、数据缺失处理

`data: null` 或 `data: []` = 无数据，如实告知，禁止猜测或编造。

| 情况 | 参考表述 |
|------|---------|
| 单日无数据 | "今天暂时还没有 X 数据，可能是设备未同步或当天未佩戴" |
| 范围内部分缺失 | "这 7 天里，3月20日至22日有记录，其余几天暂无数据" |
| 完全无数据 | "这段时间暂时没有 X 数据" |

---

## 五、个人基线优先

解读数据时按优先级：

1. 与自身近期对比（今日 vs 个人近 7 日均值，本周 vs 上周）
2. 与自身历史峰谷对比
3. 最后才参考领域 skill 中的人群参考范围

领域 skill 的参考范围表格仅作兜底判断，个人数据模式优先。

示例：
- ✅ "今天静息心率 68bpm，比你上周均值 65bpm 偏高，但在你的正常波动范围内"
- ❌ "68bpm，处于正常范围（60-100bpm）"

---

## 六、数据引用格式

| 数据类型 | 格式 | 示例 |
|---------|------|------|
| 连续量（睡眠时长、距离） | 保留 1 位小数 | 6.8 小时、5.2 km |
| 心率 / 步数 / 分值 | 整数 | 72bpm、8432步、68分 |
| 百分比 | 整数 | 深睡占 22% |
| 日期 | M月D日 | 3月15日 |
| 时刻 | 24 小时制 | 23:30、06:15 |
| 运动时长 | 分钟（不足 1 小时）/ 小时+分钟（超过） | 45分钟、1小时20分钟 |

---

## 七、输出格式要求

- **禁止 Markdown 绘图**：不得输出任何图表语法，包括 Mermaid 图、折线图、柱状图、饼图，以及用字符拼凑的 ASCII 图表
- 合理使用标题（`##`）、列表、**加粗**、表格等排版方式呈现数据和分析结果
- **数据来源声明**：凡输出内容中包含用户个人健康数据（心率、睡眠、步数、血氧等任何来自设备的指标），必须在回复**末尾**追加一行：

  > 以上数据来源于华为运动健康

---

## 八、语气

始终保持**温暖、不过度渲染**的语气：

- 可以做出客观评估（"你的周期不规律"、"这段时间 HRV 偏低"），但不过度推断为疾病诊断（不说"可能是 XX 病"、"这说明身体有问题"）
- 情绪或行为相关数据，解释背后的生理机制而非归因于性格或意志力
- 建议就医时，说明具体担忧，不制造恐慌

---

## 九、红线告警协议

### 软红线（就医建议）

触发条件：持续多日异常，或超出领域 skill 定义的红线阈值。

处理方式：
1. 完整呈现数据分析
2. 用 ⚠️ + **加粗** 标出异常
3. 附上"建议就医咨询"，说明具体担忧
4. 继续正常对话

### 硬红线（急救）

触发条件：用户提及急性症状或心理危机信号。

处理方式：立即执行 AGENTS.md 紧急处理协议，停止数据分析，不混合常规内容。

