用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/itsoso/health-llm-driven --skill spo2-analysis命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
部署后端到生产 (deploy.sh -b)。当用户说「部署后端」「上线」「deploy」「发后端」「重启后端」「跑迁移上线」时使用。含「合并≠上线」铁律、managed 迁移、健康度自动回滚、ssh 复验。
推 mobile JS 改动到生产 (OTA, eas update)。当用户说「发 OTA」「推 OTA」「JS 改动上线手机」「热更新移动端」时使用。只发 iOS bundle;原生/插件/SDK 改动不能 OTA,走 mobile-testflight-release。
复元健康平台的代理团队编排器。当用户要在本仓库做跨端功能/修复/上线 —— '加一个功能'、'实现 X'、'修这个 bug'、'合并部署'、'发 OTA / TestFlight' —— 用本 skill 组队协作。后续:部分重跑、补充改动、再次上线时也用本 skill。
基于 SOC 职业分类
正在显示 SKILL.md
| name | spo2-analysis |
| description | 夜间血氧 SpO2 时间序列分析 — 查看逐分钟 SpO2 曲线、氧减指数 (ODI)、低氧事件统计、多夜趋势,用于睡眠呼吸暂停 (OSAHS) 筛查和夜间氧合评估。 |
| version | 1.0.0 |
| metadata | {"agent":{"requires":{"env":"[Truncated]","bins":"[Truncated]"},"primaryEnv":"HEALTH_API_TOKEN","emoji":"🫁"}} |
夜间血氧 (SpO2) 时间序列分析专家。基于 Garmin 手表逐分钟采样数据(~450 点/晚),提供氧减指数 (ODI)、低氧事件检测和 OSAHS 风险筛查。
Authorization: Bearer ${HEALTH_API_TOKEN}| 用户说 | 你应该调用的接口 |
|---|---|
| "我昨晚血氧怎么样" | 最近一晚 SpO2 |
| "看看我的夜间血氧曲线" | 最近一晚 SpO2 |
| "我有没有睡眠呼吸暂停" | 睡眠阶段×SpO2 关联分析 |
| "我的 ODI 是多少" | 最近一晚 SpO2 |
| "最近一周血氧趋势" | SpO2 趋势 |
| "4月18号的血氧数据" | 指定日期 SpO2 |
| "我晚上缺氧吗" | 最近一晚 + 趋势 |
| "深睡/REM 期间血氧低吗" | 睡眠阶段×SpO2 关联分析 |
| "哪个睡眠阶段血氧最差" | 睡眠阶段×SpO2 关联分析 |
| "睡眠阶段和血氧的关系" | 睡眠阶段×SpO2 关联分析 |
Do NOT use this skill for:
需要做 SpO2 × 心率对齐 分析时(例如调查凌晨低氧是否伴随心率波动):
# 指定日期逐采样点心率时间线 (~15 分钟一个点, 会自动降采样到 200 点以内)
curl -s -H "Authorization: Bearer ${HEALTH_API_TOKEN}" \
"${HEALTH_API_URL}/heart-rate/me/daily/2026-05-04"
返回字段 heart_rate_timeline(每条含 time HH:MM 和 heart_rate)。
把 SpO2 timeline 和心率 timeline 按 time 对齐即可。
⚠️ 时间语义重要说明(必读)
record_date = D代表"起床那天 D"的那晚睡眠,但 Garmin 原始采样实际覆盖D-1 下午 ~ D 凌晨- timeline 默认已经截断到
sleep_start ~ sleep_end之间(window=sleep),只返回真正睡眠期间的点- 如果你需要包含日间零星采样(用于调查白天/睡前的血氧),加
?window=all,但绝对不要对日间点做"凌晨低氧事件"之类的时间推理- 响应里的
window_start/window_end字段告诉你 timeline 实际起止时间(CST),请基于它推理,不要自己从 timestamp 加/减时区- 所有
time字段(HH:MM)是设备本地时间(东八区),timestamp(毫秒)是 UTC epoch
curl -s -H "Authorization: Bearer ${HEALTH_API_TOKEN}" \
"${HEALTH_API_URL}/spo2/me/latest-night"
返回最近一晚的完整 SpO2 数据:
{
"record_date": "2026-04-20",
"summary": {
"record_date": "2026-04-20",
"avg_spo2": 95.3,
"min_spo2": 88,
"max_spo2": 99,
"below_90_count": 3,
"desaturation_events": 5,
"odi": 0.7,
"data_points": 420
},
"timeline": [
{"timestamp": 1713600000000, "time": "23:15", "value": 96},
{
...
字段说明:
avg_spo2 / min_spo2 / max_spo2 / below_90_count / desaturation_events / odi: 基于 timeline 的 同一子集 统计(与 window 参数一致)timeline: 逐分钟 SpO2 时间序列(默认仅含睡眠期间)sleep_start / sleep_end: 入睡/起床时间(Garmin 睡眠检测给出)window: 本次请求的时间窗(sleep | all)window_start / window_end: timeline 实际起止的本地时间(HH:MM)# 默认只返回睡眠期 timeline (推荐)
curl -s -H "Authorization: Bearer ${HEALTH_API_TOKEN}" \
"${HEALTH_API_URL}/spo2/me/nightly/2026-04-18"
# 包含日间零星采样
curl -s -H "Authorization: Bearer ${HEALTH_API_TOKEN}" \
"${HEALTH_API_URL}/spo2/me/nightly/2026-04-18?window=all"
日期格式 YYYY-MM-DD,使用起床日(与 Garmin 一致)。
curl -s -H "Authorization: Bearer ${HEALTH_API_TOKEN}" \
"${HEALTH_API_URL}/spo2/me/trend?days=7"
返回:
{
"days": 7,
"daily_data": [
{
"record_date": "2026-04-14",
"avg_spo2": 95.8,
"min_spo2": 91,
"max_spo2": 98,
"below_90_count": 0,
"desaturation_events": 2,
"odi": 0.3,
"data_points": 400
},
...
],
"avg_nightly_spo2": 95.5,
"avg_odi": 0.8,
"nights_with_odi_above_5": 0
}
字段说明:
daily_data: 每夜汇总指标列表avg_nightly_spo2: 多夜平均 SpO2avg_odi: 多夜平均 ODInights_with_odi_above_5: ODI ≥ 5 的夜晚数(OSAHS 筛查阈值)curl -s -H "Authorization: Bearer ${HEALTH_API_TOKEN}" \
"${HEALTH_API_URL}/spo2/me/sleep-correlation?days=7"
返回每晚分阶段(deep/rem/light/awake)的 SpO2 统计 + OSAHS 风险评估:
{
"days": 7,
"nights": [
{
"record_date": "2026-04-20",
"stages": [
{
"stage": "deep",
"avg_spo2": 94.2,
"min_spo2": 88,
"desaturation_events": 3,
"below_90_count": 5,
"duration_minutes": 62.0,
"data_points": 62
},
{
"stage": "rem",
"avg_spo2": 93.8,
"min_spo2":
字段说明:
stages: 每个睡眠阶段的 SpO2 统计(平均/最低/氧减事件/低于90%次数)worst_stage: 血氧最低的睡眠阶段(通常 REM 或 deep 期间更容易出现低氧)apnea_risk: normal / mild / moderate / severeper_stage_avg_spo2: 多夜汇总各阶段平均 SpO2risk_distribution: 各风险等级的夜晚数overall_assessment: 综合评估(正常/轻度/中度/重度风险)| ODI 范围 | 评估 | 建议 |
|---|---|---|
| < 5 次/小时 | 正常 | 无需干预 |
| 5-15 次/小时 | 轻度异常 | 建议关注,可能存在轻度 OSAHS |
| 15-30 次/小时 | 中度异常 | 建议就医,进行多导睡眠监测 (PSG) |
| > 30 次/小时 | 重度异常 | 强烈建议尽快就医 |
| SpO2 范围 | 评估 |
|---|---|
| ≥ 95% | 正常 |
| 90-94% | 偏低,需关注 |
| < 90% | 低氧血症,需就医 |
| 占比 | 评估 |
|---|---|
| < 5% | 正常范围 |
| 5-10% | 轻度偏高 |
| ≥ 10% | 显著异常,建议就医评估 |
/spo2/me/latest-night/spo2/me/sleep-correlation?days=14 看两周关联分析summary.overall_assessment 和 summary.avg_odiworst_stage 是 REM 且 below_90_count 较多,说明 REM 相关低氧/spo2/me/sleep-correlation?days=7summary.per_stage_avg_spo2:各阶段平均血氧summary.worst_stage:哪个阶段血氧最差/spo2/me/trend?days=30