重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
health-data by glebis/claude-skills
npx skills add https://github.com/glebis/claude-skills --skill health-data查询并分析本地 SQLite 数据库中的健康数据,该数据库包含超过 630 万条记录,涵盖 43 项健康指标。
~/data/health.db
使用 scripts/health_query.py 进行预置查询,并自动格式化输出:
# 每日摘要
python ~/.claude/skills/health-data/scripts/health_query.py --format markdown daily --date 2025-11-29
# 每周趋势
python ~/.claude/skills/health-data/scripts/health_query.py --format json weekly --weeks 4
# 睡眠分析
python ~/.claude/skills/health-data/scripts/health_query.py --format fhir sleep --days 7
# 最新生命体征
python ~/.claude/skills/health-data/scripts/health_query.py vitals
# 活动圆环
python ~/.claude/skills/health-data/scripts/health_query.py --format json activity --days 30
# 锻炼历史
python ~/.claude/skills/health-data/scripts/health_query.py workouts --days 30 --type Running
# 自定义 SQL
python ~/.claude/skills/health-data/scripts/health_query.py --format json query "SELECT * FROM workouts LIMIT 5"
输出格式: markdown、、、
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
jsonfhirascii要进行灵活的查询,请直接对数据库运行 SQL。请参阅 references/schema.md 了解表结构和查询模板。
sqlite3 ~/data/health.db "SELECT AVG(value) FROM health_records WHERE record_type LIKE '%HeartRate%' AND start_date LIKE '2025-11%'"
获取今日关键指标:
python ~/.claude/skills/health-data/scripts/health_query.py daily
返回:步数、卡路里、心率(平均/最小/最大)、锻炼分钟数、距离、活动圆环状态。
比较周度表现:
python ~/.claude/skills/health-data/scripts/health_query.py weekly --weeks 4
返回:每周平均每日步数、静息心率、锻炼分钟数、锻炼次数。
分析睡眠模式:
python ~/.claude/skills/health-data/scripts/health_query.py sleep --days 14
返回:夜间时长、睡眠阶段(核心、深度、快速眼动)、平均睡眠小时数。
获取最近的生命体征读数:
python ~/.claude/skills/health-data/scripts/health_query.py vitals
返回:心率、心率变异性、静息心率、血氧、呼吸频率及其时间戳。
追踪圆环完成情况:
python ~/.claude/skills/health-data/scripts/health_query.py activity --days 30
返回:每日圆环值/目标、完成百分比、完美天数。
回顾锻炼记录:
python ~/.claude/skills/health-data/scripts/health_query.py workouts --days 30 --type Running
返回:锻炼类型、时长、距离、卡路里、按类型汇总。
人类可读的表格和列表。最适合报告和摘要。
结构化数据,便于程序化使用:
{
"date": "2025-11-29",
"metrics": {
"steps": 8542,
"active_calories": 450.5,
"heart_rate": {"avg": 72.3, "min": 52, "max": 145}
}
}
医疗保健互操作性格式。输出为包含使用 LOINC 编码的 Observation 资源的 FHIR Bundle。请参阅 references/fhir_mappings.md 了解编码映射。
终端友好的输出,包含条形图和统计信息:
============================================================
DAILY SUMMARY - 2025-11-29
============================================================
METRICS
----------------------------------------
steps 2620
active_calories 234.5
heart_rate avg: 67.5 min: 52 max: 108
ACTIVITY RINGS
----------------------------------------
move [███████░░░░░░░░░░░░░] 36.7% (238/650)
exercise [░░░░░░░░░░░░░░░░░░░░] 0.0% (0/35)
stand [████████████████████] 100.0% (10/10)
对于临时查询,请使用 references/schema.md 中的这些模式:
按小时统计心率(昼夜节律模式):
SELECT strftime('%H', start_date) as hour, ROUND(AVG(value), 1) as avg_hr
FROM health_records
WHERE record_type = 'HKQuantityTypeIdentifierHeartRate'
AND value BETWEEN 40 AND 200
GROUP BY hour ORDER BY hour;
本月每日步数:
SELECT DATE(start_date) as day, SUM(value) as steps
FROM health_records
WHERE record_type = 'HKQuantityTypeIdentifierStepCount'
AND start_date >= DATE('now', 'start of month')
GROUP BY day ORDER BY day;
睡眠质量(深度 + 快速眼动睡眠小时数):
SELECT DATE(start_date) as night,
ROUND(SUM(duration_minutes)/60.0, 1) as quality_hours
FROM sleep_sessions
WHERE sleep_stage IN ('Deep', 'REM')
GROUP BY night ORDER BY night DESC LIMIT 14;
锻炼摘要:
SELECT REPLACE(workout_type, 'HKWorkoutActivityType', '') as type,
COUNT(*) as count, ROUND(SUM(duration_minutes)) as total_min
FROM workouts
WHERE start_date >= DATE('now', '-30 days')
GROUP BY type ORDER BY count DESC;
数据库包含 43 种健康指标类型,包括:
生命体征: 心率、心率变异性、静息心率、血氧、呼吸频率、血压
活动: 步数、距离、活动卡路里、基础代谢卡路里、爬楼层数、锻炼时间、站立时间
移动能力: 步行速度、步长、步行不对称性、楼梯速度、步行稳定性
身体: 体重、身体质量指数、体脂率
音频: 环境噪音、耳机暴露
其他: 最大摄氧量、日照时间、紫外线暴露
health_query.py - 主要的查询工具,支持 Markdown/JSON/FHIR 输出schema.md - 数据库模式、记录类型映射、SQL 查询模板fhir_mappings.md - LOINC 编码和 FHIR R4 模板找不到数据库: 确保 ~/data/health.db 存在。从 /Users/server/apple_health_export/ 运行导入脚本:
python import_health.py --status
指定日期范围内无数据: 检查可用日期范围:
SELECT MIN(start_date), MAX(start_date) FROM health_records;
异常值: 筛选生理有效范围(例如,心率 40-200 bpm):
WHERE value BETWEEN 40 AND 200
每周安装次数
56
代码仓库
GitHub 星标数
68
首次出现
2026 年 1 月 24 日
安全审计
安装于
opencode48
gemini-cli46
codex46
cursor45
github-copilot42
kimi-cli39
Query and analyze health data from the local SQLite database containing 6.3M+ records across 43 health metrics.
~/data/health.db
Use scripts/health_query.py for pre-built queries with automatic formatting:
# Daily summary
python ~/.claude/skills/health-data/scripts/health_query.py --format markdown daily --date 2025-11-29
# Weekly trends
python ~/.claude/skills/health-data/scripts/health_query.py --format json weekly --weeks 4
# Sleep analysis
python ~/.claude/skills/health-data/scripts/health_query.py --format fhir sleep --days 7
# Latest vitals
python ~/.claude/skills/health-data/scripts/health_query.py vitals
# Activity rings
python ~/.claude/skills/health-data/scripts/health_query.py --format json activity --days 30
# Workout history
python ~/.claude/skills/health-data/scripts/health_query.py workouts --days 30 --type Running
# Custom SQL
python ~/.claude/skills/health-data/scripts/health_query.py --format json query "SELECT * FROM workouts LIMIT 5"
Output formats: markdown, json, fhir, ascii
For flexible queries, run SQL directly against the database. See references/schema.md for table structures and query templates.
sqlite3 ~/data/health.db "SELECT AVG(value) FROM health_records WHERE record_type LIKE '%HeartRate%' AND start_date LIKE '2025-11%'"
Get today's key metrics:
python ~/.claude/skills/health-data/scripts/health_query.py daily
Returns: steps, calories, heart rate (avg/min/max), exercise minutes, distance, activity ring status.
Compare week-over-week performance:
python ~/.claude/skills/health-data/scripts/health_query.py weekly --weeks 4
Returns: average daily steps, resting HR, exercise minutes, workout count per week.
Analyze sleep patterns:
python ~/.claude/skills/health-data/scripts/health_query.py sleep --days 14
Returns: nightly duration, sleep stages (Core, Deep, REM), average sleep hours.
Get most recent vital readings:
python ~/.claude/skills/health-data/scripts/health_query.py vitals
Returns: Heart Rate, HRV, Resting HR, Blood Oxygen, Respiratory Rate with timestamps.
Track ring completion:
python ~/.claude/skills/health-data/scripts/health_query.py activity --days 30
Returns: daily ring values/goals, completion percentages, perfect day count.
Review exercise sessions:
python ~/.claude/skills/health-data/scripts/health_query.py workouts --days 30 --type Running
Returns: workout type, duration, distance, calories, summary by type.
Human-readable tables and lists. Best for reports and summaries.
Structured data for programmatic use:
{
"date": "2025-11-29",
"metrics": {
"steps": 8542,
"active_calories": 450.5,
"heart_rate": {"avg": 72.3, "min": 52, "max": 145}
}
}
Healthcare interoperability format. Outputs as FHIR Bundle with Observation resources using LOINC codes. See references/fhir_mappings.md for code mappings.
Terminal-friendly output with bar charts and statistics:
============================================================
DAILY SUMMARY - 2025-11-29
============================================================
METRICS
----------------------------------------
steps 2620
active_calories 234.5
heart_rate avg: 67.5 min: 52 max: 108
ACTIVITY RINGS
----------------------------------------
move [███████░░░░░░░░░░░░░] 36.7% (238/650)
exercise [░░░░░░░░░░░░░░░░░░░░] 0.0% (0/35)
stand [████████████████████] 100.0% (10/10)
For ad-hoc queries, use these patterns from references/schema.md:
Heart rate by hour (circadian pattern):
SELECT strftime('%H', start_date) as hour, ROUND(AVG(value), 1) as avg_hr
FROM health_records
WHERE record_type = 'HKQuantityTypeIdentifierHeartRate'
AND value BETWEEN 40 AND 200
GROUP BY hour ORDER BY hour;
Steps per day this month:
SELECT DATE(start_date) as day, SUM(value) as steps
FROM health_records
WHERE record_type = 'HKQuantityTypeIdentifierStepCount'
AND start_date >= DATE('now', 'start of month')
GROUP BY day ORDER BY day;
Sleep quality (deep + REM hours):
SELECT DATE(start_date) as night,
ROUND(SUM(duration_minutes)/60.0, 1) as quality_hours
FROM sleep_sessions
WHERE sleep_stage IN ('Deep', 'REM')
GROUP BY night ORDER BY night DESC LIMIT 14;
Workout summary:
SELECT REPLACE(workout_type, 'HKWorkoutActivityType', '') as type,
COUNT(*) as count, ROUND(SUM(duration_minutes)) as total_min
FROM workouts
WHERE start_date >= DATE('now', '-30 days')
GROUP BY type ORDER BY count DESC;
The database contains 43 health metric types including:
Vitals: Heart Rate, HRV, Resting HR, Blood Oxygen, Respiratory Rate, Blood Pressure
Activity: Steps, Distance, Active Calories, Basal Calories, Flights Climbed, Exercise Time, Stand Time
Mobility: Walking Speed, Step Length, Walking Asymmetry, Stair Speed, Walking Steadiness
Body: Weight, BMI, Body Fat %
Audio: Environmental Noise, Headphone Exposure
Other: VO2 Max, Time in Daylight, UV Exposure
health_query.py - Main query tool with Markdown/JSON/FHIR outputschema.md - Database schema, record type mappings, SQL query templatesfhir_mappings.md - LOINC codes and FHIR R4 templatesDatabase not found: Ensure ~/data/health.db exists. Run the import script from /Users/server/apple_health_export/:
python import_health.py --status
No data for date range: Check available date range:
SELECT MIN(start_date), MAX(start_date) FROM health_records;
Outlier values: Filter physiologically valid ranges (e.g., heart rate 40-200 bpm):
WHERE value BETWEEN 40 AND 200
Weekly Installs
56
Repository
GitHub Stars
68
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubFailSocketPassSnykPass
Installed on
opencode48
gemini-cli46
codex46
cursor45
github-copilot42
kimi-cli39
DOCX文件创建、编辑与分析完整指南 - 使用docx-js、Pandoc和Python脚本
54,000 周安装